From b2b95bdebf924b032c1cb79ab1d61484f0443034 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 21 Jul 2023 11:42:23 -0700 Subject: [PATCH 01/43] feat(logging): add new aws_logging_cloudwatch package and generate cloudwatch sdk (#3441) * add a new dart package with aft create * add cloudwatch sdk * update dependencies constraint in pubspec files * update sdk.yaml file to remove unused apis --- packages/aws_logging_cloudwatch/.gitignore | 10 + packages/aws_logging_cloudwatch/CHANGELOG.md | 3 + packages/aws_logging_cloudwatch/LICENSE | 175 +++++++++++++ packages/aws_logging_cloudwatch/README.md | 1 + .../analysis_options.yaml | 1 + .../aws_logging_cloudwatch/example/.gitignore | 9 + .../aws_logging_cloudwatch/example/LICENSE | 175 +++++++++++++ .../aws_logging_cloudwatch/example/README.md | 1 + .../example/analysis_options.yaml | 1 + .../example/bin/main.dart | 1 + .../example/pubspec.yaml | 16 ++ .../example/web/favicon-180x180.png | Bin 0 -> 11072 bytes .../example/web/favicon.png | Bin 0 -> 7900 bytes .../example/web/index.html | 21 ++ .../example/web/main.dart | 5 + .../example/web/styles.css | 14 + .../lib/aws_logging_cloudwatch.dart | 2 + .../lib/src/sdk/cloud_watch_logs.dart | 29 +++ .../cloud_watch_logs_client.dart | 132 ++++++++++ .../common/endpoint_resolver.dart | 202 +++++++++++++++ .../cloud_watch_logs/common/serializers.dart | 53 ++++ .../model/create_log_stream_request.dart | 145 +++++++++++ .../model/create_log_stream_request.g.dart | 108 ++++++++ .../data_already_accepted_exception.dart | 174 +++++++++++++ .../data_already_accepted_exception.g.dart | 119 +++++++++ .../model/input_log_event.dart | 140 ++++++++++ .../model/input_log_event.g.dart | 102 ++++++++ .../model/invalid_parameter_exception.dart | 138 ++++++++++ .../model/invalid_parameter_exception.g.dart | 103 ++++++++ .../invalid_sequence_token_exception.dart | 174 +++++++++++++ .../invalid_sequence_token_exception.g.dart | 119 +++++++++ .../model/put_log_events_request.dart | 204 +++++++++++++++ .../model/put_log_events_request.g.dart | 149 +++++++++++ .../model/put_log_events_response.dart | 153 +++++++++++ .../model/put_log_events_response.g.dart | 116 +++++++++ .../model/rejected_log_events_info.dart | 169 ++++++++++++ .../model/rejected_log_events_info.g.dart | 115 ++++++++ .../resource_already_exists_exception.dart | 140 ++++++++++ .../resource_already_exists_exception.g.dart | 105 ++++++++ .../model/resource_not_found_exception.dart | 138 ++++++++++ .../model/resource_not_found_exception.g.dart | 103 ++++++++ .../model/service_unavailable_exception.dart | 138 ++++++++++ .../service_unavailable_exception.g.dart | 104 ++++++++ .../model/unrecognized_client_exception.dart | 138 ++++++++++ .../unrecognized_client_exception.g.dart | 104 ++++++++ .../create_log_stream_operation.dart | 194 ++++++++++++++ .../operation/put_log_events_operation.dart | 245 ++++++++++++++++++ packages/aws_logging_cloudwatch/pubspec.yaml | 29 +++ packages/aws_logging_cloudwatch/sdk.yaml | 4 + .../test/aws_logging_cloudwatch_test.dart | 5 + 50 files changed, 4526 insertions(+) create mode 100644 packages/aws_logging_cloudwatch/.gitignore create mode 100644 packages/aws_logging_cloudwatch/CHANGELOG.md create mode 100644 packages/aws_logging_cloudwatch/LICENSE create mode 100644 packages/aws_logging_cloudwatch/README.md create mode 100644 packages/aws_logging_cloudwatch/analysis_options.yaml create mode 100644 packages/aws_logging_cloudwatch/example/.gitignore create mode 100644 packages/aws_logging_cloudwatch/example/LICENSE create mode 100644 packages/aws_logging_cloudwatch/example/README.md create mode 100644 packages/aws_logging_cloudwatch/example/analysis_options.yaml create mode 100644 packages/aws_logging_cloudwatch/example/bin/main.dart create mode 100644 packages/aws_logging_cloudwatch/example/pubspec.yaml create mode 100644 packages/aws_logging_cloudwatch/example/web/favicon-180x180.png create mode 100644 packages/aws_logging_cloudwatch/example/web/favicon.png create mode 100644 packages/aws_logging_cloudwatch/example/web/index.html create mode 100644 packages/aws_logging_cloudwatch/example/web/main.dart create mode 100644 packages/aws_logging_cloudwatch/example/web/styles.css create mode 100644 packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart create mode 100644 packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart create mode 100644 packages/aws_logging_cloudwatch/pubspec.yaml create mode 100644 packages/aws_logging_cloudwatch/sdk.yaml create mode 100644 packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart diff --git a/packages/aws_logging_cloudwatch/.gitignore b/packages/aws_logging_cloudwatch/.gitignore new file mode 100644 index 0000000000..65c34dc86e --- /dev/null +++ b/packages/aws_logging_cloudwatch/.gitignore @@ -0,0 +1,10 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build outputs. +build/ + +# Omit committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/aws_logging_cloudwatch/CHANGELOG.md b/packages/aws_logging_cloudwatch/CHANGELOG.md new file mode 100644 index 0000000000..a0712a79e7 --- /dev/null +++ b/packages/aws_logging_cloudwatch/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Initial version. diff --git a/packages/aws_logging_cloudwatch/LICENSE b/packages/aws_logging_cloudwatch/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/aws_logging_cloudwatch/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/aws_logging_cloudwatch/README.md b/packages/aws_logging_cloudwatch/README.md new file mode 100644 index 0000000000..087af44943 --- /dev/null +++ b/packages/aws_logging_cloudwatch/README.md @@ -0,0 +1 @@ +# aws_logging_cloudwatch diff --git a/packages/aws_logging_cloudwatch/analysis_options.yaml b/packages/aws_logging_cloudwatch/analysis_options.yaml new file mode 100644 index 0000000000..7f605f74d4 --- /dev/null +++ b/packages/aws_logging_cloudwatch/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/library.yaml diff --git a/packages/aws_logging_cloudwatch/example/.gitignore b/packages/aws_logging_cloudwatch/example/.gitignore new file mode 100644 index 0000000000..f1d87ba3fd --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/.gitignore @@ -0,0 +1,9 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build output. +build/ + +# Amplify +amplifyconfiguration.dart diff --git a/packages/aws_logging_cloudwatch/example/LICENSE b/packages/aws_logging_cloudwatch/example/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/aws_logging_cloudwatch/example/README.md b/packages/aws_logging_cloudwatch/example/README.md new file mode 100644 index 0000000000..b4a5a65d67 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/README.md @@ -0,0 +1 @@ +# aws_logging_cloudwatch_example diff --git a/packages/aws_logging_cloudwatch/example/analysis_options.yaml b/packages/aws_logging_cloudwatch/example/analysis_options.yaml new file mode 100644 index 0000000000..49f9f5a9a4 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/app.yaml diff --git a/packages/aws_logging_cloudwatch/example/bin/main.dart b/packages/aws_logging_cloudwatch/example/bin/main.dart new file mode 100644 index 0000000000..ab73b3a234 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/bin/main.dart @@ -0,0 +1 @@ +void main() {} diff --git a/packages/aws_logging_cloudwatch/example/pubspec.yaml b/packages/aws_logging_cloudwatch/example/pubspec.yaml new file mode 100644 index 0000000000..4301edc976 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/pubspec.yaml @@ -0,0 +1,16 @@ +name: aws_logging_cloudwatch_example +description: An example app showcasing the aws_logging_cloudwatch package. +publish_to: none +version: 1.0.0 + +environment: + sdk: '^3.0.0' + +dependencies: + aws_logging_cloudwatch: + path: ../ + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.4.0 + build_web_compilers: ^4.0.0 diff --git a/packages/aws_logging_cloudwatch/example/web/favicon-180x180.png b/packages/aws_logging_cloudwatch/example/web/favicon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..abeda3c2d1c2b2bf5c63b2095d00f13578c1c8d3 GIT binary patch literal 11072 zcmeHt)mI$67wzB_m*QTe#fyJ96f16n4O$!qDaCyXr9dggy|}xS!QEX38Qk3mcP_ub z;lABKAYs^I{HOyVVeHi{sNGmlXVIW9 z*rQQrE!vANN4Y>e$ZbnWzCxTzkKH8ukQTmVmFspOHI>&*J&|MBhJOElVxiMpl&S7+ z@^`u;u8Er;RXE=6h|%o)`IIex>L5+G3s~N}#?FdBBN_TrI#!%n`sY#BT?5`>LrA~t ztESgjF_nOIBP=DPP7%k>vVN=aTotK*L$QPi}tszuZ5b~YabIDTp+KhQ{Nsa{6$yr?ljzo?W@^JoLj`lZ^8(6!Ty@1-^y@H0P-t&1q{6E~2!+prp@ z-kpBpaD76$gut8Vw-~(5g&5Tz^NXtR$EuQYZ$V|%Z_brZ*6i)v=nB(4-X^|oGPcDt{?Ig2& zxCpy(KdrD7yjmaHMma>S(HbgIe&6S;xqhV9X7V>(t*#1&eBf}S4fN|JVQby%y@hc_ z>Vc1yUrqpy&02g|?~#NX%+*4)@k{4cR7-p}*x7)8&nu&*s}@8U$PYTVy;zYpW=baf z*>pwB{R^@0BJd^zo4JK|{em_IHFd%`dd)o^$RxIWL*52l+5lJEZi>F{1Q_8zTYpJl zUnX{F9#YVaO9~K0+Gxx}B#Oej%`2(1I7t=Rg3^gS?dgOC+yq&n@9ztzm3k8|8A~$x zO~zx?OTY5$8$@aHU4?*L~@dZB4G0Ku-uBs++VN%ZvKMm^ksv_mELFs$Rc- zh!S@|@vllBGNg^o;D7k2aWPxtz|}oy$?hB+Vm0(PS50b|lk^S2R5e-2?GSE*c>5_Y zEz-jd;JE&yh^kPy)zf>D5K79ilhiLinDY}4#n9?EwFID-MnhB8X6&QhuU<&N*t91Z zlwcZc=&!IvIU;I}&pnTUqUMtkF`1D2jfU97+dP_M*h&JzUZ~m?aF6EmL^fA3exy)H zr+@k6soDF$XB5S*({{R_(OV{4gc|lAPKxH7*Ww!j=c&e{{okRgv)!)ZO7Icc%-oG` zLtve0nHwBA^zsNTk{z=(kWe%F4hO+}llBo2DN!ulQ?nsty(` z?DH7Hb4U0Fvep%Mpj_ow%Eva&xj zK$O%qA^i4{!gBjL(~(4LX3iLAMT+Z#^sw%27f zA@PyAUTx zL1Oynu;{T}q?)giwTF|Fm9fFQuFDbY-hXS>*u%y?DOV+~D6bfl1l6Z@DYVXq#@>9= zQ)Ibsj_(nQ?h9@&qcVE(Lw9k(E86P})SN`%Ye_GOKSY|nu@w%i+b!1LA7<@;33;PL zcGiysYNn zN2Fe;x+AhI%qy51E*^H5@g5Z;9~-cTH^Cgr;7k7X3(rj;WVYCtFZh$PMv_sK(Rkc| zmyz7M45d-gIsX*7bD@hHv4a?K!Yv(=ebswBbDr;ArjhMB%R@wCglqQ{)e z+xyCcv%E=`QvFg)OS1FojCDsJwXliidx@3#{Nh({Tf#%oKl%txyosrS%Vd}Mwg-iY zV$n;3?#2%oarwQ|(Kwp7kX@d})Y)RW@hdOdg!dnhK@49ukKYe}JL@h9t|0esh|si5 zPguHKtb)Cj2y#1Uu(sK7TEU6M2(19w!%MaUfM!t3eC^=fl0lLri~RLOj*kW_A!vI; z@xFlU_wlj(w3m}EZU^5U4(k%9OmJS_Pu*}J_ly=43l^O*+$4zp40*PxEpX1)y0eu* z7U&Bl6I|IG@Nxha_XhstZmn8?l9Fa&7X`)APSIuipc|+xl)sCU)Tv&kazo0K`BOZF z_Hm7<-2>v#Uplju%3ht^jRb!SmsxEm1Zl`(pf(V~QKNfSSK7_SvTMqM>io zn}Zs08G>S~{#5kvk!DVcQ{b{IwOo7BAGY?ZcSH>KBY`x+Tf}=`xp7C>Dt&`QqO7ew zub})Fhcgr7F-QzTij=)8ktBygtq37E_0CV+=KP64`Wmgi0#prk{_}4Cb-Yw2H~3z? zRd@S7W5b1uEnU;mP;qm)@czbuG14=X%TM26|Cd8pb+R$r;*FRC zpmkb`kCKeTV3)|D(`0Z3QwT=A<$hZ0^p}T-!us}**}Lt$gRYsdV;0xWo|1R7LW}A? z;NxbX_1>L>xI{r^ojh$e#XYuy(~owQb;iJ|b+dAMyOy~N_h#L?Q%^Cv74GoJv>4H$ zU{5~jjZioB+~-8xBAZqkS*p`|w`N_R$;@w~*UqT6u2Q~@+e}3D&6V=}JEqW{az9x) z{zmGt-Ua1q6WH2;O)JiLt~PRyaT4s4dtn`{tq&^y2V^*M#*4*Sxp91^HdV1*+GL5` zqt?J&-AbiM^Q=*b=P&K(q8hWU+G`TDw#lM1F^cg`<6);@k!ph3d(pq%!s<;eOthf0 zh$Q+xqhJGUR*cJY&k%HV{s7>LfgKkz(bD*4a{2Ki+it?Yjh;-oQ*sN)Hj~O0(9bY0 z14W-*$RVd!wTL`qZI@uu5ZYXZPcvGn_DO&Hg^}Yk7J6EpoTa+QF)h*`JRMnl>5;bv z?H>2cBK5x7pY^h};i2U{zsCS9{7dd{i{i!&6b?ulcrUnzOwMpIy(au~canYNzf7TE zJc5v21bEqhh41@;mJ4htGxAVVQ~E916!7P(kj5Q&#AbHrq88VOw(%~+jpq6q@9^++so>j zURulH{7tyH+lehq`ZIIjiu+OfbjN@^IphYx*)vtz>#p;7iHX1z#Ij1MV!0@_o*_w`|s4VeT}6KG#*26kTxpK04DiOn=e+EVh7&QEvJ-D z;e_f@l`TdjJ^{htI~{z z&ID)c>(UjJJmh{QR;XE2HmF3kPj$;D&~W(tHRO?s3DiydeZ|b^f4=b=#jvWkNg0!o zkfn=16ibkY1g@p-dLM%%oO8YJ3$KxC`$NK19#PxSB~B)tAy!*RbFx%m-3_C>#J{=h zVRvn-SX_0V4}r)g0~L{$3`{hi*BJ*Y%VVwi;7s`}xE1e)shIP3(z-snNP8V1i5r*R zoE^v37a6(_0v5Kq|M>@w;Ph~QRhCVx_y5J|h-!;)zA0X*jw;^U!vHb~2`=_c53FN# z}Wno|R_K^L83|E7;oY-8U2_xpab0{lVeCHk%2 zymgXb{!i0VPL^5r)?2x^h7-Rd7%WZ7I|c687obi*J1$w*>t>R!KA`-~n`TNNHT_5N zCp-@i1zC0lmBy|{NQGoC-&onkS!uVLwIRM-COa%)c4Pm{z}yC18A((s^9M<^U%6Y# zQ7g&eZ~fn>L071%|FrDEUquCpnA&3JlaNH*nFFq3oHe8^iwL9_FJ*x58{De;+{$~- zBg{5iSHS65unPhM6YKVm))nl}t@BGnhJhfAFw}hIl^%EQABI}YAH?4nF6=Qcc7M9K zKc#qK`@R-=x$~sIIA1bau44>{56e+6oTyQ>LRT!5lYJW4-Ml-JcYhP%y~fxeoUss? z{#@%KzNg6$`5wvKr<$KGEF<*AT}GHKYcrGH-HTWZzrZy?vLz8ePER=`QbFT2j@q9& za1%JaRVsH`dc>%GJ-~-zOkTT#iS|zKj}A=~)jBk3MmUpmP3Mtpjfp@Iz7_zQYzHI| zeNQe_o#sLuw@T8iXS&|qthae`xuMYhTAOaN@J6cGj%??GP@lqe!nrQy>vcq_sdmp3t=U}kefkw|%)EOX9w-C`apU(1u z)1M>2dB0T7Ns!JYWRXFuBM-qp&bU`>i_30w%(WwwRXrACaZ@yxYZ&(Ya=~+`ZPjSj!G_}Pm0b&!)}&sy=7M#*XmieH#g z5pbSWfO&~IYvafEEmlAgU0;>0TT(bG!CKy^U3rL&ZoQZ>-<=jx^~`n%X$Eiki$5b> zk7t{r`&J*-IkPf-v`X-xlM$X`xM~7cDl{M2xE6f%=b~WFH+Qm_y*{zd2~sy*OYj5Z zN@JXrlHeDi+W~STvt4eJtP^MfYArygZvqDrP~53#r0RQQ3r&Ip>cFF>Qd11e!UzkJ z#p)Q^7SVa4sM@Ixu--({p-5!yJhQ!hh^643S<06a`&RqbE)3NMf8W(o(T3{&SmvltP+??3RxU0hCB4Wkg_10_J>Oxp77! z1$R3YU{c!`tt8wA+J$XGPn)%E{uvWA17%Rpj$ZTZBeI(!ic|a=wxIEUkvTDd{FqVV zjw*wBiQCS?j$l&Z;LR?4Qg(l!+>QSae%g>Ijs>sn+-UYw_-VWN+3=!Ftw0`=1oTLt z^B8pQ??vl_T#<*cM6Sp@i0xferp*&$%p@LuL8|D#`)LT9mXWAu@u5Wmjj*P=5=-i! z;2US(QG)XMFbM<%#~qfcQgf7L|u)ufhH&nnN!QraZL>pFdd)=7T7eVhJANvisox7xNkSD7!HJRxVeR zqdOGaebSVm8hnuwi=`fhAw*YS z9J-!Serjhbo!VWR{>av^cE-QkvNrAt5BQqo4F2p)qj z7$b!w0p&vMg-!U6X}`pSWJx*d4brR-BAj2e%QXIYJl~4Ez1C}Kx-V@ZlmdG$@Hbo^ zH)a437SE(p=NVAJ3_OBLE82C}5|3Y02)EB5SOtkJtfryj7Is(BZ;@YrzBc98k!CK@ zKzo5YaV{cW*105l{bt$a_yN84v)(@ZziPWvSF0-$YvUcj<@G2C>5wC_nhAoD@Nu)B-xq4oQD9{H3^V7S-4by;m5`4dNhH{Xw%O?$I(E0D7f zdVSvG{J#NpY%1=>2Ni*8Yf&9#S(YmS^=Ks9osd16#RW(rYh?qa<~sN&;MAe*XQq2; z%`7ZFmBOzrRSY+MXHNSGnjO`hGxlEy9)TTPKt6y@6Al!Yg2S#~p}lg83>} zCO(!<8l6l)4P0(Xmo?1Z3~`Y1d)j7e-1*e4lU({(lA$o*##s&-aw}I_QMB9S;HcLh zQF*zjg5_LZI&8i?D1|fZN@+W;woxf=`e#e{NcH-Eh9rk)NTa#r+QG5x3BdqJ|3fq> zdhIJg2YkuJ$(Jo^Vbm)aHHylg+;&`Nbt^sUaGmMd*WZ7+AT&kw> zl@DLlIVabwmM#~Z5hc(^Ch6Y^%H*Ak$7~(1Cw{)@#Ju}TiF_tQIkcDt<_h6{LieI2 z!*EspBP2rgpXniTYIWx_MtlA}?Xo;!$oKed#|L*5&?UE*PNmF?`Q5z3fMPNZT6PH| z6s3MsH`yhVNs1|I1(3B(5Q98+nS1#|Fe9Ua1h^hQ&2V?Wha@jSmvxs_V_Zu8QD7E0 zjDOSRO*oS;$IW|T2RfVbfn57sb;Y&+@N+}aRsBIoY`s53w!Coq_V5$m-q3}MP!*SW z>F%6J(y@p`3nod=Tm?H&NDO~jWEA2;_+cil@dq}Z*T0r2 zVo``iOoGbo(JE8ws{4D|R&C0r4v_@?dtJ`qQrY?~%W|uZ#q29UgT1eK1(FLX1;sgI8185;Ri+% zi6T8GY~uEy*9y4AXnHqSq|{bt7FO5;C&t8UuNg9l54@`(H@+H4rKLg^zsCa{MPi>k+5{y7YUnUBKp||Cy5^%r)#By zK1RO-28%g~>Fdz53hyXQXXN5BM+?4JuG0rDEJCz8;*VtrZJ(?lsdm~^|FqRG`Kd(h z!go7ww?AwqUE%al(xGPA5X_&NE{HpnkgmM$2Cx#O>`#QXLOh z4g_AG(>8gFuYwAS0FEiB2jh!!?jcSLwK7?j+uf%R^1_eKW_{tkV$AfB?|VsuU|atD z$PRrV?Pg)^8R- zY?-(OnY_Uj^3?XW)_eGo(9}{Q&sM6e;5C#Yt}i_OPASDrmM9f9r=Pt+mfmt%@+ulvrw%=e!jc>6Po zkV0u;0PR?>2gLez*nK;^l^7f`?_T1Ojo%Om0AM}*PYWQ*6j^A6iHy?oHZQ+2y07`q z@8R)ipG6rhSJrpi2WYbxcoE{rvY2Lw z)6|muC1Ysl;BFJk6p{2bKyYPfxM9b~H8yVTAe~wYtcKz}_k@XiA|=TF{O{)*K4!54 zxtUpY>r-zk+q;h=ztRuQthN&l5EPSMq%`Hu4|o{Zwt(a?ZPf^D#_HyN;7##fr4TIVh z@=hw~Cg@N#!r4h{(nUE+?tu5K&^}9V)h}-%ihHLj`Qz+^H{Q&7tdryw1^* z>G>w9()5;fjeKLDc_u%OfPSnsWHxaR;HXnyx~HZ|O4Mf{jD^x+`zE7fscpND|B(RL zD0%1p?oa?4gm-X7B{mk)A~)nbWQd|^ybzeirHMUNm792=)qzs{FI!wp_G>|80$x?} zdGDu%utLURD(j}ifc6<)^fp%Q+{<{QYr!DdNrLaY>xU<(ZBwbwp>Y6P`Tu?gh8E~i zte@r1%f;JQ8c=D>B2sJ38)*tJ_8HP93-?@z_w%`Xw{ZrfF!{Kcz&3Ic=?%2DVP&MagzMfT z<$^0q$e>bJwW2whMc}E^!aa7})!kT~?!BddCHgJ)i1XkCx}f)vE+6lhI?xy+jAG7f zfZ(@7?inJ>J2)Y8ai?<@5C@5mUpU7;bNtdr$bo?+@yhw;u39<`vy?ONrsH$>xA(eV zEnebf9=BWqXB`Q*zdXmSrwllfp~{oLt)Puj=qpV3$7;?d zLEmM4jzWMJ)>g<$6j?NvbS8yY0-y9p3@EZdT;FYY^5D>PGj^;Kv->d}_5 zGXXi@DBUdQ_~82o?V!*Zm|!cH``e9W9zMNtU50ig`Jlz$vM%Xr14{r}}R3hqT#qasMV5J356c!sh3 zFF@~AAmGK!7a+{%#nLzI?DrQEfweKsXume8jBsve;Xc0?CS!)n^h}Yx2siGJ>Z{zY zw?W;xrBrfWGq+Ddd;~VX{VKX&zjoh^VpRVtqIWXi`iEnF?&^7P$!hQS)Pn+2FHMCg zhQ8aWz>g*Eg7M!TI9w)xk3GlHCR)K;nv6=Ez9i`^12giPL-4>#eez=;CdKthpeXY0 zyIsZ%C-3ov$^>-1r9Z`1yD8{!diM0fV%-ZdOeH?ld_k=ai5rHjG0%z_u_)9F^S5XP z#B8lB%KwR!&@2((3>NC_#x(1^pqx2JDOCdm=Ml(m(a_o@OK_Hu{Z*;HE5&N!p*OM< zhHOs4yL~Dt*O|v{(@!fz46bEvF@VXPfX7D=g>n5JTGL#P0$fMa7|W{ft0=)8gVf~= zLA4)vs6mWSJ<~|e)JCQ0#PMf}AYMN)hON3OBR@3h{Cc#+^GC>Fb{i}9)?zLcJvjQ;M zm{hzF3PthYOYc`CW#>XcurqbB@)*shB?Qe>6V_y<=> zkB{WM-z91q=%gWaXr-LC9D-hy1d(k#sVz414(motdY!AZ679cka|Uvbg{Gi=l1{dD z3GlkxR+jvqy+<$N<-0KkvXtCa#>$ssc!cq7nOX53 z`ADjr{<`y?25OV9Jc>3K!HW|f@=u>FEr%uhsgg;lC~eo%kgSQ}0&TPw;bhvQqE>uP z9j9ow$u${3eYrv>G7?=%WsyXZjv3qK$f@j7hyR>+ z3LSB2fFHZPKmruX%m26T?GThj@-|*DYLD0=yR`tm5;I=Xra(^e*9`cTn96zEdQO5q zk?Q07lSt2TVTzhYte}<*9=w;%(}c1`XrBt?Kc5SgF*hi@ef(4)BFQ|p0juik9Y@)bDrDBRY}ZmDI{xp6#3;6JELj5bbD~=4I(uL8 zU^5K^p3Az>vC;Cw$2$D{W0}o#^}P%OdHVOscd^Dy`{e-lfa2P|K&>-r8x1Y z!`Hn3ev}H`#4o9k@mxQp;Uz6xDD0Dji}=kJgVVY9OzdfFzJwp}a!u{B+aFjZj>zb$ zZ(-RV^^OtJd#J6He&^(p8ikgBlYtS$P~4(ydZ41)5z)hLQX24iDez-FXj-W%p(g(- zMo)3@W78ypCx@fb6d;LfQF0S67r8%Yp@-Oe!%cF^1*&La$-`PIm5wPprn$;Y@RT-d z61O3Nbyek^+`FfE91KbbD3P_`rl!SzI z4KWPd>-H!1do>VS8yR_=MO~{fQ3%kW&3^5FjV_4gfIN zXecWh2K?N~b4ufQoPCNCXA@>)XZzq{k>if9933dhL>+LFXQit0!|TC~JGb%Ei~Z~w zAcU~KkgPqtw_)?H731($LzcX%i&Vw7M+TRS2<9#bm)AYa1Ke+0PAr ztEjB}g!XA2DW?}-j{S7^y6uZk0bf+q3m}s1t>aJ!B=T)G4}^#9HDwsv`2VAeo}5rT z`ddruwY?tP87OLHbw>8CkF+s&+)rumabA6%No-oug_;mRhd4&vDr5IpU$o%CGJ==* zVlBObl5C!D{Vr2&t1TOU##v{EQtMb*J(ur!i_*HTPHS2%NN*)&$5k4}6(y+=Tc#5o z<7amq9jrVZV0gbKQYG?2xC3v=E(hmGPr?~C!4{@;=;+N@z<2F!EKzEm1NiJ(ZI`#@ z;B5aLR(AZj!NZGAPtxV7B@KOQHbybc9cH# zt)4?PrzH4NwBSqeCsKC4I_R#)Pg*>N9KMm$lMAj|fk0xjgAw)xhE<&;dQcNc5E9m3 zv_s?}CR0z-yE7BTy!g4UdKB9AhD#E|f86C+A6HbY2Q8z8Os>i{kYDk|mNQ39^*~m| zLz7&mBn=0j#R=ly*&R_IlzD3!PF;wv%WaB`=sA8#Ve6^tU$`D^JKVK{72-Ua_tSnU zphYTESuQNNSe07Nwg?Xkz+{@Fo@(To3c=Wg_qCy8MpGgi`pYv8 zo?O*x&iCJ%L{TbK5ecp#6J$H6_G!#bm|ZUIty`vwTiIu-Q|~o|+7{8kQ;TS<@R=~H zyda)06X=dg*tLS;!U>XP7gQ`a{_S$)i22 z%XiZo#oteDhA)+eb;@wvwr#^CA2;o`NkJ=8uvXQMivkaVph_@G_%q{DX}56ZhgcjL zXn#a-dSu6_C$>ZBo|o-}%eSAjR}8~v&l{El48B!A)`gZS|5_ol(2>C%ADT8qU46<9 zy5q8JP8_VO$so5#a{ubdA4V8aOq{Z|0j|+D40p99(wr~BQfC{AzMUf;Bl#W+ z?-9O9-ppxb!FO{xK9pWB#iaEvA`RfZrBJl;V6|1pW$wr7FOwa0VjY_xqKp6;` z?ryeB+$I^hqfoSiTWx*hW`df_Md}LV>jLN6%%(*3)#EA>K7m_nZ!3?$ z#F})U#;cQdGPR_eU;>Y~_iCd3UobC!pi)4bGu4I8W=!>*#1rE8c#ouJWyJ841jN4V zKh7gm>e5l~Ldu*nU{>8;!>4K3a-bBJ@AJEuo)F#R>7;8T@KGJM;1aHRtu!0`yHzRO zq+uyi7Rinc0y_(U-_od5YIJI>IyO)2?y7|(F>9G0=6YXL`~$IwkT zOF$XdAL?U?G&S6NhO9}T70w7{a#(c+wawu^lIa}BZ~CRfXim%fm_*qrfrnBS0y_E? z1^bC|_Aw!%6vZVjI^)G~j!6`^ch*<1{^LIQBsNDPETosauNhUcd$$a49RJQHx8OQQ zhP%508#hoT7%A)h{c6KKjG5kgY&P?CTcpS~YiaGqxUil%jHn;FTEMP5}d^3?Mt%hqi?G-=CFHElD81nj+jNxf1Z7p{-XGUt)%>@Nz zRiJAidCrHkc6;Er@O?~XKRQY@DEN%>E1-#y*6?VFQJ7XYXq3Mym}ZwwF7FC`2Wwtu zps;_y_OSO5z7%g3zJKVK=IKI74j~dOMLx6+F+Ta}rf1woHyeq-=H~X=@2&H=N_8|b zvhYm~tK`#EmU2&hAxi1{asS6o=AV z08q-6M9W9AT(pZ0dVH3TaDdB0ffAjjbq?=5)Ku1$M3TB}SoTG-uVKr%;MQAK3{^R{ zR)1_d)VmvW4)Ue#bFsH+yah$y;#e=qhJU5^)GZ-GUznsEPkQ{Kj~00^FYsA%``{@B zXKb0TY3{>oc|Fa~ZGS}Vc1YzTg@Yu66z$gsChfaHKWW{mnrGO`&WX3P=*$gK=0zdS z&F4CNAXTgesb9CLI7&F2mjRh03U9_Z(?aS5!sQu@A^6XkU#`zUUFwfm!Yl{_u-{#f z2tOmJErNc?*WjngC7M;IXWr?O1@o&STCE$KWX8NpUF44$CX$$ zNAknEAW)vw=8-k?FTgvmfD64TJnvVzF=2-Z%?4rpi=ZC+wkQE`!eJpHc}en9pat53Q0=_g-BbeN|3J zQt3Ax0LG2iAfxX{G4Vo%j3FvAk}JukS|>}&81X|MDJaqL zP4HB>Vl;a2O}&x*axYx>Xjv%yW>KV&uX8%JY91t@L#wQ}e+s1qzP`#wG1p$knHcy_ z7~SCS{CX=a>}*bp+|skt^4n4g9|CWp7G+yPE#BIqn-!0a2y(|DUzsFpFpFyQ zLmi6t15@{!+DkirqQ*q)LkrC0c*q+qShd4sk@R2ZMmTX13EWdi>lL=2#k*fMCnVZG zC(KYlN9!L*csw)DMC%k^Mq*Yx35Va_LiVncQga`R;dtP1B2c)}Aq@CM_OQ$-H#AQ{?`Qlaut_HFiH1dAbYr6th?S4(m zBZXoW=OJ%HK_+|hHYm5K*U*m&6j)~pW1h2h=Co3?vp2i?wvX3AM@jCbw82&Q?&JHr zDTL(eAL8D_^y?^TPqF;ajXzC)Agir%kE&M;PGFjup@pq@!ko8e z_`yV2+UJ+6e>%Ma;Ahn*S`Rnu+SBvj1N3sg(6u)gUCD7`%g)31ObfsCpX9TihHEZg zMT)-`zBDWEa}Re<*_4OLn|F^7Rm^{tnfzhKPye)mlfV+TkdS=wsRC5?*vJEGWo81l2}}Xk>@q`GQzf0C9eNn-?16cRTiQR2A09&>)w3Vq2H-hoB-sY zCDUtR?j|xliM8_XfLx7urA3Ox`j;3LCZrjJgV2{OlB$(>M!IWR^^@9P{T&vT5F zXK}IQpA$@;<>_Z0u9&S#$;bUjtBeS3-{&1ZJJBCdouaB@2en$;TdTV3oQu{0b~|To zi!-*DG+tX{XF9%vSmGhlxvru{Yx>=kI=o=;IV$0@gid_6tj_gE&O)T*>Guq00#jAs zZQ2*6R%*Q*XWe@8d_Vk|@DcG7!lRWP+hDW_2m%?qCP`6U$;VWOubG72z`ssm>FQh! z15&3`n;U;H^;EF}khPvf!4i%Pe1T%?*VNsz8_f44)kIEh?17eD9leb+Uz-U2&fGvU zpEZpZr?Dn9+tkT9wLj;n)v(+PNxoZS?s+v=1S|^viySRjp$PFd`Oq&{as{2T8*xL( z*7Mm|PSDr_kgQlu<(ed}OA*ZUkfTa0%+NG`u#+II@>GoDMdZG{dO`@PEV?-=PBifZ z9>&rcc%-^qKO#1|SeiJvoVO!Y^kC3qGSt{Hl=Sa0&%`!;lyvKiTcUs3$8=o$_~f*l_HRnu zb7ko`JO~Rj*%jxA{(TuCbEG@|2F^Mv{+M6>2}qYZ&!2mP2hnsi zi_r?d+!s`f%*Nr!Dq@z|V7kbr6(cZGu3gu2?RJ73s)B3S566FwN#z51`EDCS>}Igw zckiY*Us|a_5W95gByEZanNn65UhI`5@gHbmncRaf)0^2gh2$yhIrjY#ThdO>`mEy) zvzAq~|0Q#IHdz5O^`ozzs?7tD0UnfFMgV3(T9BI=j;cxci5Q*LU=HdJ@ohda!NOY? zL)O*$G5L?Ng$>Zj)pm{&rc650+bO+CI~Q{h8?Jj;>fQd_;M>8638MU6rY0ybJHEln z4%7RcVGaA=?46UfTs4CF$y5;UcaKXe(npaLvmJ4z!Rlb>mbK#9Y_Ibk$z%0qZg;NyK(F~m=$0l3YF9oZsavtm=PxP- z7S~7AnJ-505g%p}jfFX}JGM>F)C-@S$X-((Uv8ODEk?6ka)31|5Tw5_(eZnlf;qX| z^HTk2>K{z;kr@PIy&$mNF8ccAlr^gDH!~0Cwa&oA6*ixB)`u+;qZ379#;YAB8rXcy z)B|!Z7W8K7k{!2=g@W~(;^2(bWs6br3Fwop(&~pN0~F@Ys0&S8XscX8+sXF1it*No z1(9Oq>*IeGa~DJFGS)vPl~7}n7(SEf<#OKUPnZoBK!*4PoNLXc?(1`?2|O5qO?oCz z6h}=^e25eM6n8dg;N95$0k~w?EhTO0jN!{a5@YeN5q{C|@zZHti9} zJ$`iCUZ7hAOzjXN9Am7{CZqvb>4)n++_wsFcIRRmhH}k8In#@azwOdnL=b=a-h z8;rIlzQ=B}CMktNk(hcV_V_&*hw{v*37@RPma;ua8yN?7OO7T|V}IvcaFyij5bF9S z*j?-s?l0qsyjk-P4}m$HPV}tjf0#S{*fvA{XDg-eebsRY@M^kSI;Pa3%={gp?zAsi zcKA_v0Qm@rNfhp5T`CXSioeyTNw_ZPsJncqy&QN?9MgvGyxX3G*Y!j!c8x?KO!Ay; za^X!_Qk4WfZ@izkT;ckag7u|btPAnn(7LW8*7BrWV>6h%rq_dY?OSN!H@^a9tM6)= z+K8#sOQy-y*LOA@a^zUtD*$E0>-u16Q?Gv7ZxcZX`r74+F$~0In`wD-KhHSiUG$(L zEyczTd5f{^Daml(i9XYtaQEaLsXT@H59S7#{DyI!{xL>)yI8R9C#~@igr&b*AF)gYw$4G3 zvDHb4(+8BoL-VfhoS>tJ-%Wz|6wYS8WgC^x*1kP5F85P^xS(b&bZG|`hTX55@Z@!? zIy-o@K?7r`5~M*&&U4kDE6J=dk_RG}9BR4U-TyH44BhJN_$l952Akf#3P>HHHNWAo z@7!={ve9y$0881CYe(R`5PRGlvn027{FgAuY&$LSty*}e`t@y>KMQn^-0!=95bhv5 z)AP9n!9OV@%R{?~;@>+!q$_N)B2R?6)p#enidMHSu>#HK+Zm{`Jw`v~)X9_>opUnnS7(5SS~Eq?I*zaHm~#J5k(Eh9a#-&7A~w3y)`JkHcqF z{-r&?v{8L1n+{JPl|Hkf14a#@0A9CyH zn{E8$@)ls(k^xhrTsQ;N$#OGF@V8Q8**clf*#Q^g-gwKq20RkI6D+&DPEbnWQ=37J zAgD-^C>Xo#Y8Izsd9(+p99V37(nih$Z1+6jl&tQ^^Eb~`uKwIJ<~mx(WBsLD(NZL)BXusgGC`V@_L|>R4fSjU_voiipK$Z9o4NAL%k7ZgrRh-`59PxK z$A{AET0y*!a77qfM7YKruqj_~xLFry_uYA@&3qfL_Si=vxLWD#%O5+&uvz~bk=nfj z^2Uw9(8_~Zgu&7Z1+?#Zo(Os+-Zjvu9%f?DY&CrOe(B??zLB3w*1qPQati}z6myJ< zr~yCeL)*luVAsZBw=8YucERv``uDf%B0qRwl999M##8pk40$nBNN=aJ^fE zh`%AC=sYl@UL>1rUNlB37-& z&i`wn{}wWKvh{WRSLV>~;)0UG9&5Zcpa|?gL=2pQ>;OR}rL?zl+u)GGe+)g=*8uFDT + + + + + + + + Aws Logging Cloudwatch Example + + + + + + + + +
+ + + diff --git a/packages/aws_logging_cloudwatch/example/web/main.dart b/packages/aws_logging_cloudwatch/example/web/main.dart new file mode 100644 index 0000000000..87a3d61bde --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/web/main.dart @@ -0,0 +1,5 @@ +import 'dart:html'; + +void main() { + querySelector('#output')?.text = 'Your Amplify app is running.'; +} diff --git a/packages/aws_logging_cloudwatch/example/web/styles.css b/packages/aws_logging_cloudwatch/example/web/styles.css new file mode 100644 index 0000000000..cc035c95c9 --- /dev/null +++ b/packages/aws_logging_cloudwatch/example/web/styles.css @@ -0,0 +1,14 @@ +@import url(https://fonts.googleapis.com/css?family=Roboto); + +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-family: 'Roboto', sans-serif; +} + +#output { + padding: 20px; + text-align: center; +} diff --git a/packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart new file mode 100644 index 0000000000..b2ae27bf74 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -0,0 +1,2 @@ +/// aws_logging_cloudwatch +library aws_logging_cloudwatch; diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart new file mode 100644 index 0000000000..0c895030f0 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart @@ -0,0 +1,29 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +/// # Amazon CloudWatch Logs +/// +/// You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, CloudTrail, and other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console. Alternatively, you can use CloudWatch Logs commands in the Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK. +/// +/// You can use CloudWatch Logs to: +/// +/// * **Monitor logs from EC2 instances in real time**: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs. Then, it can send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException"). You can also count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify. +/// +/// * **Monitor CloudTrail logged events**: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting. +/// +/// * **Archive log data**: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events earlier than this setting are automatically deleted. The CloudWatch Logs agent helps to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it. +library aws_logging_cloudwatch.cloud_watch_logs; + +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/input_log_event.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart'; +export 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart'; diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart new file mode 100644 index 0000000000..0aabbd21f5 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart @@ -0,0 +1,132 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.cloud_watch_logs_client; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart' + as _i4; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart' + as _i7; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart' + as _i6; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart' + as _i5; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart' + as _i8; +import 'package:aws_signature_v4/aws_signature_v4.dart' as _i2; +import 'package:smithy/smithy.dart' as _i3; + +/// You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, CloudTrail, and other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console. Alternatively, you can use CloudWatch Logs commands in the Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK. +/// +/// You can use CloudWatch Logs to: +/// +/// * **Monitor logs from EC2 instances in real time**: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs. Then, it can send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException"). You can also count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify. +/// +/// * **Monitor CloudTrail logged events**: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting. +/// +/// * **Archive log data**: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events earlier than this setting are automatically deleted. The CloudWatch Logs agent helps to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it. +class CloudWatchLogsClient { + /// You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, CloudTrail, and other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console. Alternatively, you can use CloudWatch Logs commands in the Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK. + /// + /// You can use CloudWatch Logs to: + /// + /// * **Monitor logs from EC2 instances in real time**: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs. Then, it can send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException"). You can also count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify. + /// + /// * **Monitor CloudTrail logged events**: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting. + /// + /// * **Archive log data**: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events earlier than this setting are automatically deleted. The CloudWatch Logs agent helps to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it. + const CloudWatchLogsClient({ + _i1.AWSHttpClient? client, + required String region, + Uri? baseUri, + _i2.AWSCredentialsProvider credentialsProvider = + const _i2.AWSCredentialsProvider.environment(), + List<_i3.HttpRequestInterceptor> requestInterceptors = const [], + List<_i3.HttpResponseInterceptor> responseInterceptors = const [], + }) : _client = client, + _region = region, + _baseUri = baseUri, + _credentialsProvider = credentialsProvider, + _requestInterceptors = requestInterceptors, + _responseInterceptors = responseInterceptors; + + final _i1.AWSHttpClient? _client; + + final String _region; + + final Uri? _baseUri; + + final _i2.AWSCredentialsProvider _credentialsProvider; + + final List<_i3.HttpRequestInterceptor> _requestInterceptors; + + final List<_i3.HttpResponseInterceptor> _responseInterceptors; + + /// Creates a log stream for the specified log group. A log stream is a sequence of log events that originate from a single source, such as an application instance or a resource that is being monitored. + /// + /// There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on `CreateLogStream` operations, after which transactions are throttled. + /// + /// You must use the following guidelines when naming a log stream: + /// + /// * Log stream names must be unique within the log group. + /// + /// * Log stream names can be between 1 and 512 characters long. + /// + /// * Don't use ':' (colon) or '*' (asterisk) characters. + _i3.SmithyOperation createLogStream( + _i4.CreateLogStreamRequest input, { + _i1.AWSHttpClient? client, + _i2.AWSCredentialsProvider? credentialsProvider, + }) { + return _i5.CreateLogStreamOperation( + region: _region, + baseUri: _baseUri, + credentialsProvider: credentialsProvider ?? _credentialsProvider, + requestInterceptors: _requestInterceptors, + responseInterceptors: _responseInterceptors, + ).run( + input, + client: client ?? _client, + ); + } + + /// Uploads a batch of log events to the specified log stream. + /// + /// The sequence token is now ignored in `PutLogEvents` actions. `PutLogEvents` actions are always accepted and never return `InvalidSequenceTokenException` or `DataAlreadyAcceptedException` even if the sequence token is not valid. You can use parallel `PutLogEvents` actions on the same log stream. + /// + /// The batch of events must satisfy the following constraints: + /// + /// * The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event. + /// + /// * None of the log events in the batch can be more than 2 hours in the future. + /// + /// * None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group. + /// + /// * The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after `Jan 1, 1970 00:00:00 UTC`. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: `yyyy-mm-ddThh:mm:ss`. For example, `2017-09-15T13:45:30`.) + /// + /// * A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. + /// + /// * The maximum number of log events in a batch is 10,000. + /// + /// * The quota of five requests per second per log stream has been removed. Instead, `PutLogEvents` actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service. + /// + /// + /// If a call to `PutLogEvents` returns "UnrecognizedClientException" the most likely cause is a non-valid Amazon Web Services access key ID or secret key. + _i3.SmithyOperation<_i6.PutLogEventsResponse> putLogEvents( + _i7.PutLogEventsRequest input, { + _i1.AWSHttpClient? client, + _i2.AWSCredentialsProvider? credentialsProvider, + }) { + return _i8.PutLogEventsOperation( + region: _region, + baseUri: _baseUri, + credentialsProvider: credentialsProvider ?? _credentialsProvider, + requestInterceptors: _requestInterceptors, + responseInterceptors: _responseInterceptors, + ).run( + input, + client: client ?? _client, + ); + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart new file mode 100644 index 0000000000..21963cc5d1 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart @@ -0,0 +1,202 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.common.endpoint_resolver; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:meta/meta.dart' as _i2; +import 'package:smithy_aws/smithy_aws.dart' as _i1; + +final _partitions = [ + _i1.Partition( + id: 'aws', + regionRegex: RegExp(r'^(us|eu|ap|sa|ca|me|af)\-\w+\-\d+$'), + partitionEndpoint: null, + isRegionalized: true, + defaults: const _i1.EndpointDefinition( + hostname: 'logs.{region}.amazonaws.com', + protocols: ['https'], + signatureVersions: [_i1.AWSSignatureVersion.v4], + credentialScope: _i1.CredentialScope(), + variants: [], + ), + regions: const { + 'af-south-1', + 'ap-east-1', + 'ap-northeast-1', + 'ap-northeast-2', + 'ap-northeast-3', + 'ap-south-1', + 'ap-southeast-1', + 'ap-southeast-2', + 'ap-southeast-3', + 'ca-central-1', + 'eu-central-1', + 'eu-north-1', + 'eu-south-1', + 'eu-west-1', + 'eu-west-2', + 'eu-west-3', + 'me-south-1', + 'sa-east-1', + 'us-east-1', + 'us-east-2', + 'us-west-1', + 'us-west-2', + }, + endpoints: const { + 'af-south-1': _i1.EndpointDefinition(variants: []), + 'ap-east-1': _i1.EndpointDefinition(variants: []), + 'ap-northeast-1': _i1.EndpointDefinition(variants: []), + 'ap-northeast-2': _i1.EndpointDefinition(variants: []), + 'ap-northeast-3': _i1.EndpointDefinition(variants: []), + 'ap-south-1': _i1.EndpointDefinition(variants: []), + 'ap-southeast-1': _i1.EndpointDefinition(variants: []), + 'ap-southeast-2': _i1.EndpointDefinition(variants: []), + 'ap-southeast-3': _i1.EndpointDefinition(variants: []), + 'ca-central-1': _i1.EndpointDefinition(variants: []), + 'eu-central-1': _i1.EndpointDefinition(variants: []), + 'eu-north-1': _i1.EndpointDefinition(variants: []), + 'eu-south-1': _i1.EndpointDefinition(variants: []), + 'eu-west-1': _i1.EndpointDefinition(variants: []), + 'eu-west-2': _i1.EndpointDefinition(variants: []), + 'eu-west-3': _i1.EndpointDefinition(variants: []), + 'fips-us-east-1': _i1.EndpointDefinition( + hostname: 'logs-fips.us-east-1.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-east-1'), + variants: [], + ), + 'fips-us-east-2': _i1.EndpointDefinition( + hostname: 'logs-fips.us-east-2.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-east-2'), + variants: [], + ), + 'fips-us-west-1': _i1.EndpointDefinition( + hostname: 'logs-fips.us-west-1.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-west-1'), + variants: [], + ), + 'fips-us-west-2': _i1.EndpointDefinition( + hostname: 'logs-fips.us-west-2.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-west-2'), + variants: [], + ), + 'me-south-1': _i1.EndpointDefinition(variants: []), + 'sa-east-1': _i1.EndpointDefinition(variants: []), + 'us-east-1': _i1.EndpointDefinition(variants: [ + _i1.EndpointDefinitionVariant( + hostname: 'logs-fips.us-east-1.amazonaws.com', + tags: ['fips'], + ) + ]), + 'us-east-2': _i1.EndpointDefinition(variants: [ + _i1.EndpointDefinitionVariant( + hostname: 'logs-fips.us-east-2.amazonaws.com', + tags: ['fips'], + ) + ]), + 'us-west-1': _i1.EndpointDefinition(variants: [ + _i1.EndpointDefinitionVariant( + hostname: 'logs-fips.us-west-1.amazonaws.com', + tags: ['fips'], + ) + ]), + 'us-west-2': _i1.EndpointDefinition(variants: [ + _i1.EndpointDefinitionVariant( + hostname: 'logs-fips.us-west-2.amazonaws.com', + tags: ['fips'], + ) + ]), + }, + ), + _i1.Partition( + id: 'aws-cn', + regionRegex: RegExp(r'^cn\-\w+\-\d+$'), + partitionEndpoint: null, + isRegionalized: true, + defaults: const _i1.EndpointDefinition( + hostname: 'logs.{region}.amazonaws.com.cn', + protocols: ['https'], + signatureVersions: [_i1.AWSSignatureVersion.v4], + credentialScope: _i1.CredentialScope(), + variants: [], + ), + regions: const { + 'cn-north-1', + 'cn-northwest-1', + }, + endpoints: const { + 'cn-north-1': _i1.EndpointDefinition(variants: []), + 'cn-northwest-1': _i1.EndpointDefinition(variants: []), + }, + ), + _i1.Partition( + id: 'aws-iso', + regionRegex: RegExp(r'^us\-iso\-\w+\-\d+$'), + partitionEndpoint: null, + isRegionalized: true, + defaults: const _i1.EndpointDefinition( + hostname: 'logs.{region}.c2s.ic.gov', + protocols: ['https'], + signatureVersions: [_i1.AWSSignatureVersion.v4], + credentialScope: _i1.CredentialScope(), + variants: [], + ), + regions: const { + 'us-iso-east-1', + 'us-iso-west-1', + }, + endpoints: const { + 'us-iso-east-1': _i1.EndpointDefinition(variants: []), + 'us-iso-west-1': _i1.EndpointDefinition(variants: []), + }, + ), + _i1.Partition( + id: 'aws-iso-b', + regionRegex: RegExp(r'^us\-isob\-\w+\-\d+$'), + partitionEndpoint: null, + isRegionalized: true, + defaults: const _i1.EndpointDefinition( + hostname: 'logs.{region}.sc2s.sgov.gov', + protocols: ['https'], + signatureVersions: [_i1.AWSSignatureVersion.v4], + credentialScope: _i1.CredentialScope(), + variants: [], + ), + regions: const {'us-isob-east-1'}, + endpoints: const {'us-isob-east-1': _i1.EndpointDefinition(variants: [])}, + ), + _i1.Partition( + id: 'aws-us-gov', + regionRegex: RegExp(r'^us\-gov\-\w+\-\d+$'), + partitionEndpoint: null, + isRegionalized: true, + defaults: const _i1.EndpointDefinition( + hostname: 'logs.{region}.amazonaws.com', + protocols: ['https'], + signatureVersions: [_i1.AWSSignatureVersion.v4], + credentialScope: _i1.CredentialScope(), + variants: [], + ), + regions: const { + 'us-gov-east-1', + 'us-gov-west-1', + }, + endpoints: const { + 'us-gov-east-1': _i1.EndpointDefinition( + hostname: 'logs.us-gov-east-1.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-gov-east-1'), + variants: [], + ), + 'us-gov-west-1': _i1.EndpointDefinition( + hostname: 'logs.us-gov-west-1.amazonaws.com', + credentialScope: _i1.CredentialScope(region: 'us-gov-west-1'), + variants: [], + ), + }, + ), +]; +@_i2.internal +final _i1.AWSEndpointResolver endpointResolver = + _i1.AWSEndpointResolver(_partitions); +@_i2.internal +const String sdkId = 'CloudWatch Logs'; diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart new file mode 100644 index 0000000000..b604fdc03b --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart @@ -0,0 +1,53 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.common.serializers; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart' + as _i2; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart' + as _i11; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/input_log_event.dart' + as _i7; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart' + as _i3; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart' + as _i12; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart' + as _i8; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart' + as _i10; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart' + as _i9; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart' + as _i4; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart' + as _i5; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart' + as _i6; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart' + as _i13; +import 'package:built_collection/built_collection.dart' as _i14; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i1; + +const List<_i1.SmithySerializer> serializers = [ + ..._i2.CreateLogStreamRequest.serializers, + ..._i3.InvalidParameterException.serializers, + ..._i4.ResourceAlreadyExistsException.serializers, + ..._i5.ResourceNotFoundException.serializers, + ..._i6.ServiceUnavailableException.serializers, + ..._i7.InputLogEvent.serializers, + ..._i8.PutLogEventsRequest.serializers, + ..._i9.RejectedLogEventsInfo.serializers, + ..._i10.PutLogEventsResponse.serializers, + ..._i11.DataAlreadyAcceptedException.serializers, + ..._i12.InvalidSequenceTokenException.serializers, + ..._i13.UnrecognizedClientException.serializers, +]; +final Map builderFactories = { + const FullType( + _i14.BuiltList, + [FullType(_i7.InputLogEvent)], + ): _i14.ListBuilder<_i7.InputLogEvent>.new +}; diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart new file mode 100644 index 0000000000..4fc2a45c7f --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart @@ -0,0 +1,145 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.create_log_stream_request; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i2; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i1; + +part 'create_log_stream_request.g.dart'; + +abstract class CreateLogStreamRequest + with + _i1.HttpInput, + _i2.AWSEquatable + implements Built { + factory CreateLogStreamRequest({ + required String logGroupName, + required String logStreamName, + }) { + return _$CreateLogStreamRequest._( + logGroupName: logGroupName, + logStreamName: logStreamName, + ); + } + + factory CreateLogStreamRequest.build( + [void Function(CreateLogStreamRequestBuilder) updates]) = + _$CreateLogStreamRequest; + + const CreateLogStreamRequest._(); + + factory CreateLogStreamRequest.fromRequest( + CreateLogStreamRequest payload, + _i2.AWSBaseHttpRequest request, { + Map labels = const {}, + }) => + payload; + + static const List<_i1.SmithySerializer> serializers = + [CreateLogStreamRequestAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(CreateLogStreamRequestBuilder b) {} + + /// The name of the log group. + String get logGroupName; + + /// The name of the log stream. + String get logStreamName; + @override + CreateLogStreamRequest getPayload() => this; + @override + List get props => [ + logGroupName, + logStreamName, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('CreateLogStreamRequest') + ..add( + 'logGroupName', + logGroupName, + ) + ..add( + 'logStreamName', + logStreamName, + ); + return helper.toString(); + } +} + +class CreateLogStreamRequestAwsJson11Serializer + extends _i1.StructuredSmithySerializer { + const CreateLogStreamRequestAwsJson11Serializer() + : super('CreateLogStreamRequest'); + + @override + Iterable get types => const [ + CreateLogStreamRequest, + _$CreateLogStreamRequest, + ]; + @override + Iterable<_i1.ShapeId> get supportedProtocols => const [ + _i1.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + CreateLogStreamRequest deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = CreateLogStreamRequestBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'logGroupName': + result.logGroupName = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'logStreamName': + result.logStreamName = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + CreateLogStreamRequest object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final CreateLogStreamRequest(:logGroupName, :logStreamName) = object; + result$.addAll([ + 'logGroupName', + serializers.serialize( + logGroupName, + specifiedType: const FullType(String), + ), + 'logStreamName', + serializers.serialize( + logStreamName, + specifiedType: const FullType(String), + ), + ]); + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart new file mode 100644 index 0000000000..132f9d9cde --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart @@ -0,0 +1,108 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'create_log_stream_request.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$CreateLogStreamRequest extends CreateLogStreamRequest { + @override + final String logGroupName; + @override + final String logStreamName; + + factory _$CreateLogStreamRequest( + [void Function(CreateLogStreamRequestBuilder)? updates]) => + (new CreateLogStreamRequestBuilder()..update(updates))._build(); + + _$CreateLogStreamRequest._( + {required this.logGroupName, required this.logStreamName}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + logGroupName, r'CreateLogStreamRequest', 'logGroupName'); + BuiltValueNullFieldError.checkNotNull( + logStreamName, r'CreateLogStreamRequest', 'logStreamName'); + } + + @override + CreateLogStreamRequest rebuild( + void Function(CreateLogStreamRequestBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CreateLogStreamRequestBuilder toBuilder() => + new CreateLogStreamRequestBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CreateLogStreamRequest && + logGroupName == other.logGroupName && + logStreamName == other.logStreamName; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, logGroupName.hashCode); + _$hash = $jc(_$hash, logStreamName.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class CreateLogStreamRequestBuilder + implements Builder { + _$CreateLogStreamRequest? _$v; + + String? _logGroupName; + String? get logGroupName => _$this._logGroupName; + set logGroupName(String? logGroupName) => _$this._logGroupName = logGroupName; + + String? _logStreamName; + String? get logStreamName => _$this._logStreamName; + set logStreamName(String? logStreamName) => + _$this._logStreamName = logStreamName; + + CreateLogStreamRequestBuilder() { + CreateLogStreamRequest._init(this); + } + + CreateLogStreamRequestBuilder get _$this { + final $v = _$v; + if ($v != null) { + _logGroupName = $v.logGroupName; + _logStreamName = $v.logStreamName; + _$v = null; + } + return this; + } + + @override + void replace(CreateLogStreamRequest other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CreateLogStreamRequest; + } + + @override + void update(void Function(CreateLogStreamRequestBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CreateLogStreamRequest build() => _build(); + + _$CreateLogStreamRequest _build() { + final _$result = _$v ?? + new _$CreateLogStreamRequest._( + logGroupName: BuiltValueNullFieldError.checkNotNull( + logGroupName, r'CreateLogStreamRequest', 'logGroupName'), + logStreamName: BuiltValueNullFieldError.checkNotNull( + logStreamName, r'CreateLogStreamRequest', 'logStreamName')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart new file mode 100644 index 0000000000..8d9d632235 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart @@ -0,0 +1,174 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.data_already_accepted_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'data_already_accepted_exception.g.dart'; + +/// The event was already logged. +/// +/// `PutLogEvents` actions are now always accepted and never return `DataAlreadyAcceptedException` regardless of whether a given batch of log events has already been accepted. +abstract class DataAlreadyAcceptedException + with + _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The event was already logged. + /// + /// `PutLogEvents` actions are now always accepted and never return `DataAlreadyAcceptedException` regardless of whether a given batch of log events has already been accepted. + factory DataAlreadyAcceptedException({ + String? expectedSequenceToken, + String? message, + }) { + return _$DataAlreadyAcceptedException._( + expectedSequenceToken: expectedSequenceToken, + message: message, + ); + } + + /// The event was already logged. + /// + /// `PutLogEvents` actions are now always accepted and never return `DataAlreadyAcceptedException` regardless of whether a given batch of log events has already been accepted. + factory DataAlreadyAcceptedException.build( + [void Function(DataAlreadyAcceptedExceptionBuilder) updates]) = + _$DataAlreadyAcceptedException; + + const DataAlreadyAcceptedException._(); + + /// Constructs a [DataAlreadyAcceptedException] from a [payload] and [response]. + factory DataAlreadyAcceptedException.fromResponse( + DataAlreadyAcceptedException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [DataAlreadyAcceptedExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(DataAlreadyAcceptedExceptionBuilder b) {} + String? get expectedSequenceToken; + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'DataAlreadyAcceptedException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [ + expectedSequenceToken, + message, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('DataAlreadyAcceptedException') + ..add( + 'expectedSequenceToken', + expectedSequenceToken, + ) + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class DataAlreadyAcceptedExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const DataAlreadyAcceptedExceptionAwsJson11Serializer() + : super('DataAlreadyAcceptedException'); + + @override + Iterable get types => const [ + DataAlreadyAcceptedException, + _$DataAlreadyAcceptedException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + DataAlreadyAcceptedException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = DataAlreadyAcceptedExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'expectedSequenceToken': + result.expectedSequenceToken = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + DataAlreadyAcceptedException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final DataAlreadyAcceptedException(:expectedSequenceToken, :message) = + object; + if (expectedSequenceToken != null) { + result$ + ..add('expectedSequenceToken') + ..add(serializers.serialize( + expectedSequenceToken, + specifiedType: const FullType(String), + )); + } + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart new file mode 100644 index 0000000000..79eb304a82 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart @@ -0,0 +1,119 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'data_already_accepted_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$DataAlreadyAcceptedException extends DataAlreadyAcceptedException { + @override + final String? expectedSequenceToken; + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$DataAlreadyAcceptedException( + [void Function(DataAlreadyAcceptedExceptionBuilder)? updates]) => + (new DataAlreadyAcceptedExceptionBuilder()..update(updates))._build(); + + _$DataAlreadyAcceptedException._( + {this.expectedSequenceToken, this.message, this.statusCode, this.headers}) + : super._(); + + @override + DataAlreadyAcceptedException rebuild( + void Function(DataAlreadyAcceptedExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + DataAlreadyAcceptedExceptionBuilder toBuilder() => + new DataAlreadyAcceptedExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is DataAlreadyAcceptedException && + expectedSequenceToken == other.expectedSequenceToken && + message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, expectedSequenceToken.hashCode); + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class DataAlreadyAcceptedExceptionBuilder + implements + Builder { + _$DataAlreadyAcceptedException? _$v; + + String? _expectedSequenceToken; + String? get expectedSequenceToken => _$this._expectedSequenceToken; + set expectedSequenceToken(String? expectedSequenceToken) => + _$this._expectedSequenceToken = expectedSequenceToken; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + DataAlreadyAcceptedExceptionBuilder() { + DataAlreadyAcceptedException._init(this); + } + + DataAlreadyAcceptedExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _expectedSequenceToken = $v.expectedSequenceToken; + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(DataAlreadyAcceptedException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$DataAlreadyAcceptedException; + } + + @override + void update(void Function(DataAlreadyAcceptedExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + DataAlreadyAcceptedException build() => _build(); + + _$DataAlreadyAcceptedException _build() { + final _$result = _$v ?? + new _$DataAlreadyAcceptedException._( + expectedSequenceToken: expectedSequenceToken, + message: message, + statusCode: statusCode, + headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart new file mode 100644 index 0000000000..a8f27de681 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart @@ -0,0 +1,140 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.input_log_event; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:fixnum/fixnum.dart' as _i2; +import 'package:smithy/smithy.dart' as _i3; + +part 'input_log_event.g.dart'; + +/// Represents a log event, which is a record of activity that was recorded by the application or resource being monitored. +abstract class InputLogEvent + with _i1.AWSEquatable + implements Built { + /// Represents a log event, which is a record of activity that was recorded by the application or resource being monitored. + factory InputLogEvent({ + _i2.Int64? timestamp, + required String message, + }) { + timestamp ??= _i2.Int64.ZERO; + return _$InputLogEvent._( + timestamp: timestamp, + message: message, + ); + } + + /// Represents a log event, which is a record of activity that was recorded by the application or resource being monitored. + factory InputLogEvent.build([void Function(InputLogEventBuilder) updates]) = + _$InputLogEvent; + + const InputLogEvent._(); + + static const List<_i3.SmithySerializer> serializers = [ + InputLogEventAwsJson11Serializer() + ]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(InputLogEventBuilder b) { + b.timestamp = _i2.Int64.ZERO; + } + + /// The time the event occurred, expressed as the number of milliseconds after `Jan 1, 1970 00:00:00 UTC`. + _i2.Int64 get timestamp; + + /// The raw event message. + String get message; + @override + List get props => [ + timestamp, + message, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('InputLogEvent') + ..add( + 'timestamp', + timestamp, + ) + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class InputLogEventAwsJson11Serializer + extends _i3.StructuredSmithySerializer { + const InputLogEventAwsJson11Serializer() : super('InputLogEvent'); + + @override + Iterable get types => const [ + InputLogEvent, + _$InputLogEvent, + ]; + @override + Iterable<_i3.ShapeId> get supportedProtocols => const [ + _i3.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + InputLogEvent deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = InputLogEventBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'timestamp': + result.timestamp = (serializers.deserialize( + value, + specifiedType: const FullType(_i2.Int64), + ) as _i2.Int64); + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + InputLogEvent object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final InputLogEvent(:timestamp, :message) = object; + result$.addAll([ + 'timestamp', + serializers.serialize( + timestamp, + specifiedType: const FullType(_i2.Int64), + ), + 'message', + serializers.serialize( + message, + specifiedType: const FullType(String), + ), + ]); + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart new file mode 100644 index 0000000000..2078781ff9 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart @@ -0,0 +1,102 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'input_log_event.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$InputLogEvent extends InputLogEvent { + @override + final _i2.Int64 timestamp; + @override + final String message; + + factory _$InputLogEvent([void Function(InputLogEventBuilder)? updates]) => + (new InputLogEventBuilder()..update(updates))._build(); + + _$InputLogEvent._({required this.timestamp, required this.message}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + timestamp, r'InputLogEvent', 'timestamp'); + BuiltValueNullFieldError.checkNotNull(message, r'InputLogEvent', 'message'); + } + + @override + InputLogEvent rebuild(void Function(InputLogEventBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + InputLogEventBuilder toBuilder() => new InputLogEventBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is InputLogEvent && + timestamp == other.timestamp && + message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, timestamp.hashCode); + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class InputLogEventBuilder + implements Builder { + _$InputLogEvent? _$v; + + _i2.Int64? _timestamp; + _i2.Int64? get timestamp => _$this._timestamp; + set timestamp(_i2.Int64? timestamp) => _$this._timestamp = timestamp; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + InputLogEventBuilder() { + InputLogEvent._init(this); + } + + InputLogEventBuilder get _$this { + final $v = _$v; + if ($v != null) { + _timestamp = $v.timestamp; + _message = $v.message; + _$v = null; + } + return this; + } + + @override + void replace(InputLogEvent other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$InputLogEvent; + } + + @override + void update(void Function(InputLogEventBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + InputLogEvent build() => _build(); + + _$InputLogEvent _build() { + final _$result = _$v ?? + new _$InputLogEvent._( + timestamp: BuiltValueNullFieldError.checkNotNull( + timestamp, r'InputLogEvent', 'timestamp'), + message: BuiltValueNullFieldError.checkNotNull( + message, r'InputLogEvent', 'message')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart new file mode 100644 index 0000000000..4bb3b5185f --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart @@ -0,0 +1,138 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.invalid_parameter_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'invalid_parameter_exception.g.dart'; + +/// A parameter is specified incorrectly. +abstract class InvalidParameterException + with _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// A parameter is specified incorrectly. + factory InvalidParameterException({String? message}) { + return _$InvalidParameterException._(message: message); + } + + /// A parameter is specified incorrectly. + factory InvalidParameterException.build( + [void Function(InvalidParameterExceptionBuilder) updates]) = + _$InvalidParameterException; + + const InvalidParameterException._(); + + /// Constructs a [InvalidParameterException] from a [payload] and [response]. + factory InvalidParameterException.fromResponse( + InvalidParameterException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [InvalidParameterExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(InvalidParameterExceptionBuilder b) {} + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'InvalidParameterException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [message]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('InvalidParameterException') + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class InvalidParameterExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const InvalidParameterExceptionAwsJson11Serializer() + : super('InvalidParameterException'); + + @override + Iterable get types => const [ + InvalidParameterException, + _$InvalidParameterException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + InvalidParameterException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = InvalidParameterExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + InvalidParameterException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final InvalidParameterException(:message) = object; + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart new file mode 100644 index 0000000000..dcc479223e --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart @@ -0,0 +1,103 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'invalid_parameter_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$InvalidParameterException extends InvalidParameterException { + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$InvalidParameterException( + [void Function(InvalidParameterExceptionBuilder)? updates]) => + (new InvalidParameterExceptionBuilder()..update(updates))._build(); + + _$InvalidParameterException._({this.message, this.statusCode, this.headers}) + : super._(); + + @override + InvalidParameterException rebuild( + void Function(InvalidParameterExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + InvalidParameterExceptionBuilder toBuilder() => + new InvalidParameterExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is InvalidParameterException && message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class InvalidParameterExceptionBuilder + implements + Builder { + _$InvalidParameterException? _$v; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + InvalidParameterExceptionBuilder() { + InvalidParameterException._init(this); + } + + InvalidParameterExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(InvalidParameterException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$InvalidParameterException; + } + + @override + void update(void Function(InvalidParameterExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + InvalidParameterException build() => _build(); + + _$InvalidParameterException _build() { + final _$result = _$v ?? + new _$InvalidParameterException._( + message: message, statusCode: statusCode, headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart new file mode 100644 index 0000000000..4975754878 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart @@ -0,0 +1,174 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.invalid_sequence_token_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'invalid_sequence_token_exception.g.dart'; + +/// The sequence token is not valid. You can get the correct sequence token in the `expectedSequenceToken` field in the `InvalidSequenceTokenException` message. +/// +/// `PutLogEvents` actions are now always accepted and never return `InvalidSequenceTokenException` regardless of receiving an invalid sequence token. +abstract class InvalidSequenceTokenException + with + _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The sequence token is not valid. You can get the correct sequence token in the `expectedSequenceToken` field in the `InvalidSequenceTokenException` message. + /// + /// `PutLogEvents` actions are now always accepted and never return `InvalidSequenceTokenException` regardless of receiving an invalid sequence token. + factory InvalidSequenceTokenException({ + String? expectedSequenceToken, + String? message, + }) { + return _$InvalidSequenceTokenException._( + expectedSequenceToken: expectedSequenceToken, + message: message, + ); + } + + /// The sequence token is not valid. You can get the correct sequence token in the `expectedSequenceToken` field in the `InvalidSequenceTokenException` message. + /// + /// `PutLogEvents` actions are now always accepted and never return `InvalidSequenceTokenException` regardless of receiving an invalid sequence token. + factory InvalidSequenceTokenException.build( + [void Function(InvalidSequenceTokenExceptionBuilder) updates]) = + _$InvalidSequenceTokenException; + + const InvalidSequenceTokenException._(); + + /// Constructs a [InvalidSequenceTokenException] from a [payload] and [response]. + factory InvalidSequenceTokenException.fromResponse( + InvalidSequenceTokenException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [InvalidSequenceTokenExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(InvalidSequenceTokenExceptionBuilder b) {} + String? get expectedSequenceToken; + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'InvalidSequenceTokenException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [ + expectedSequenceToken, + message, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('InvalidSequenceTokenException') + ..add( + 'expectedSequenceToken', + expectedSequenceToken, + ) + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class InvalidSequenceTokenExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const InvalidSequenceTokenExceptionAwsJson11Serializer() + : super('InvalidSequenceTokenException'); + + @override + Iterable get types => const [ + InvalidSequenceTokenException, + _$InvalidSequenceTokenException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + InvalidSequenceTokenException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = InvalidSequenceTokenExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'expectedSequenceToken': + result.expectedSequenceToken = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + InvalidSequenceTokenException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final InvalidSequenceTokenException(:expectedSequenceToken, :message) = + object; + if (expectedSequenceToken != null) { + result$ + ..add('expectedSequenceToken') + ..add(serializers.serialize( + expectedSequenceToken, + specifiedType: const FullType(String), + )); + } + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart new file mode 100644 index 0000000000..c8730940ac --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart @@ -0,0 +1,119 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'invalid_sequence_token_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$InvalidSequenceTokenException extends InvalidSequenceTokenException { + @override + final String? expectedSequenceToken; + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$InvalidSequenceTokenException( + [void Function(InvalidSequenceTokenExceptionBuilder)? updates]) => + (new InvalidSequenceTokenExceptionBuilder()..update(updates))._build(); + + _$InvalidSequenceTokenException._( + {this.expectedSequenceToken, this.message, this.statusCode, this.headers}) + : super._(); + + @override + InvalidSequenceTokenException rebuild( + void Function(InvalidSequenceTokenExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + InvalidSequenceTokenExceptionBuilder toBuilder() => + new InvalidSequenceTokenExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is InvalidSequenceTokenException && + expectedSequenceToken == other.expectedSequenceToken && + message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, expectedSequenceToken.hashCode); + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class InvalidSequenceTokenExceptionBuilder + implements + Builder { + _$InvalidSequenceTokenException? _$v; + + String? _expectedSequenceToken; + String? get expectedSequenceToken => _$this._expectedSequenceToken; + set expectedSequenceToken(String? expectedSequenceToken) => + _$this._expectedSequenceToken = expectedSequenceToken; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + InvalidSequenceTokenExceptionBuilder() { + InvalidSequenceTokenException._init(this); + } + + InvalidSequenceTokenExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _expectedSequenceToken = $v.expectedSequenceToken; + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(InvalidSequenceTokenException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$InvalidSequenceTokenException; + } + + @override + void update(void Function(InvalidSequenceTokenExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + InvalidSequenceTokenException build() => _build(); + + _$InvalidSequenceTokenException _build() { + final _$result = _$v ?? + new _$InvalidSequenceTokenException._( + expectedSequenceToken: expectedSequenceToken, + message: message, + statusCode: statusCode, + headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart new file mode 100644 index 0000000000..5785dd79fe --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart @@ -0,0 +1,204 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.put_log_events_request; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i2; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/input_log_event.dart' + as _i3; +import 'package:built_collection/built_collection.dart' as _i4; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i1; + +part 'put_log_events_request.g.dart'; + +abstract class PutLogEventsRequest + with + _i1.HttpInput, + _i2.AWSEquatable + implements Built { + factory PutLogEventsRequest({ + required String logGroupName, + required String logStreamName, + required List<_i3.InputLogEvent> logEvents, + String? sequenceToken, + }) { + return _$PutLogEventsRequest._( + logGroupName: logGroupName, + logStreamName: logStreamName, + logEvents: _i4.BuiltList(logEvents), + sequenceToken: sequenceToken, + ); + } + + factory PutLogEventsRequest.build( + [void Function(PutLogEventsRequestBuilder) updates]) = + _$PutLogEventsRequest; + + const PutLogEventsRequest._(); + + factory PutLogEventsRequest.fromRequest( + PutLogEventsRequest payload, + _i2.AWSBaseHttpRequest request, { + Map labels = const {}, + }) => + payload; + + static const List<_i1.SmithySerializer> serializers = [ + PutLogEventsRequestAwsJson11Serializer() + ]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(PutLogEventsRequestBuilder b) {} + + /// The name of the log group. + String get logGroupName; + + /// The name of the log stream. + String get logStreamName; + + /// The log events. + _i4.BuiltList<_i3.InputLogEvent> get logEvents; + + /// The sequence token obtained from the response of the previous `PutLogEvents` call. + /// + /// The `sequenceToken` parameter is now ignored in `PutLogEvents` actions. `PutLogEvents` actions are now accepted and never return `InvalidSequenceTokenException` or `DataAlreadyAcceptedException` even if the sequence token is not valid. + String? get sequenceToken; + @override + PutLogEventsRequest getPayload() => this; + @override + List get props => [ + logGroupName, + logStreamName, + logEvents, + sequenceToken, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('PutLogEventsRequest') + ..add( + 'logGroupName', + logGroupName, + ) + ..add( + 'logStreamName', + logStreamName, + ) + ..add( + 'logEvents', + logEvents, + ) + ..add( + 'sequenceToken', + sequenceToken, + ); + return helper.toString(); + } +} + +class PutLogEventsRequestAwsJson11Serializer + extends _i1.StructuredSmithySerializer { + const PutLogEventsRequestAwsJson11Serializer() : super('PutLogEventsRequest'); + + @override + Iterable get types => const [ + PutLogEventsRequest, + _$PutLogEventsRequest, + ]; + @override + Iterable<_i1.ShapeId> get supportedProtocols => const [ + _i1.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + PutLogEventsRequest deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = PutLogEventsRequestBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'logGroupName': + result.logGroupName = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'logStreamName': + result.logStreamName = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'logEvents': + result.logEvents.replace((serializers.deserialize( + value, + specifiedType: const FullType( + _i4.BuiltList, + [FullType(_i3.InputLogEvent)], + ), + ) as _i4.BuiltList<_i3.InputLogEvent>)); + case 'sequenceToken': + result.sequenceToken = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + PutLogEventsRequest object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final PutLogEventsRequest( + :logGroupName, + :logStreamName, + :logEvents, + :sequenceToken + ) = object; + result$.addAll([ + 'logGroupName', + serializers.serialize( + logGroupName, + specifiedType: const FullType(String), + ), + 'logStreamName', + serializers.serialize( + logStreamName, + specifiedType: const FullType(String), + ), + 'logEvents', + serializers.serialize( + logEvents, + specifiedType: const FullType( + _i4.BuiltList, + [FullType(_i3.InputLogEvent)], + ), + ), + ]); + if (sequenceToken != null) { + result$ + ..add('sequenceToken') + ..add(serializers.serialize( + sequenceToken, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart new file mode 100644 index 0000000000..12be88eda2 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart @@ -0,0 +1,149 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'put_log_events_request.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$PutLogEventsRequest extends PutLogEventsRequest { + @override + final String logGroupName; + @override + final String logStreamName; + @override + final _i4.BuiltList<_i3.InputLogEvent> logEvents; + @override + final String? sequenceToken; + + factory _$PutLogEventsRequest( + [void Function(PutLogEventsRequestBuilder)? updates]) => + (new PutLogEventsRequestBuilder()..update(updates))._build(); + + _$PutLogEventsRequest._( + {required this.logGroupName, + required this.logStreamName, + required this.logEvents, + this.sequenceToken}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + logGroupName, r'PutLogEventsRequest', 'logGroupName'); + BuiltValueNullFieldError.checkNotNull( + logStreamName, r'PutLogEventsRequest', 'logStreamName'); + BuiltValueNullFieldError.checkNotNull( + logEvents, r'PutLogEventsRequest', 'logEvents'); + } + + @override + PutLogEventsRequest rebuild( + void Function(PutLogEventsRequestBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + PutLogEventsRequestBuilder toBuilder() => + new PutLogEventsRequestBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is PutLogEventsRequest && + logGroupName == other.logGroupName && + logStreamName == other.logStreamName && + logEvents == other.logEvents && + sequenceToken == other.sequenceToken; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, logGroupName.hashCode); + _$hash = $jc(_$hash, logStreamName.hashCode); + _$hash = $jc(_$hash, logEvents.hashCode); + _$hash = $jc(_$hash, sequenceToken.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class PutLogEventsRequestBuilder + implements Builder { + _$PutLogEventsRequest? _$v; + + String? _logGroupName; + String? get logGroupName => _$this._logGroupName; + set logGroupName(String? logGroupName) => _$this._logGroupName = logGroupName; + + String? _logStreamName; + String? get logStreamName => _$this._logStreamName; + set logStreamName(String? logStreamName) => + _$this._logStreamName = logStreamName; + + _i4.ListBuilder<_i3.InputLogEvent>? _logEvents; + _i4.ListBuilder<_i3.InputLogEvent> get logEvents => + _$this._logEvents ??= new _i4.ListBuilder<_i3.InputLogEvent>(); + set logEvents(_i4.ListBuilder<_i3.InputLogEvent>? logEvents) => + _$this._logEvents = logEvents; + + String? _sequenceToken; + String? get sequenceToken => _$this._sequenceToken; + set sequenceToken(String? sequenceToken) => + _$this._sequenceToken = sequenceToken; + + PutLogEventsRequestBuilder() { + PutLogEventsRequest._init(this); + } + + PutLogEventsRequestBuilder get _$this { + final $v = _$v; + if ($v != null) { + _logGroupName = $v.logGroupName; + _logStreamName = $v.logStreamName; + _logEvents = $v.logEvents.toBuilder(); + _sequenceToken = $v.sequenceToken; + _$v = null; + } + return this; + } + + @override + void replace(PutLogEventsRequest other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$PutLogEventsRequest; + } + + @override + void update(void Function(PutLogEventsRequestBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + PutLogEventsRequest build() => _build(); + + _$PutLogEventsRequest _build() { + _$PutLogEventsRequest _$result; + try { + _$result = _$v ?? + new _$PutLogEventsRequest._( + logGroupName: BuiltValueNullFieldError.checkNotNull( + logGroupName, r'PutLogEventsRequest', 'logGroupName'), + logStreamName: BuiltValueNullFieldError.checkNotNull( + logStreamName, r'PutLogEventsRequest', 'logStreamName'), + logEvents: logEvents.build(), + sequenceToken: sequenceToken); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'logEvents'; + logEvents.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'PutLogEventsRequest', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart new file mode 100644 index 0000000000..90c11a450e --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart @@ -0,0 +1,153 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.put_log_events_response; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart' + as _i2; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i3; + +part 'put_log_events_response.g.dart'; + +abstract class PutLogEventsResponse + with _i1.AWSEquatable + implements Built { + factory PutLogEventsResponse({ + String? nextSequenceToken, + _i2.RejectedLogEventsInfo? rejectedLogEventsInfo, + }) { + return _$PutLogEventsResponse._( + nextSequenceToken: nextSequenceToken, + rejectedLogEventsInfo: rejectedLogEventsInfo, + ); + } + + factory PutLogEventsResponse.build( + [void Function(PutLogEventsResponseBuilder) updates]) = + _$PutLogEventsResponse; + + const PutLogEventsResponse._(); + + /// Constructs a [PutLogEventsResponse] from a [payload] and [response]. + factory PutLogEventsResponse.fromResponse( + PutLogEventsResponse payload, + _i1.AWSBaseHttpResponse response, + ) => + payload; + + static const List<_i3.SmithySerializer> serializers = [ + PutLogEventsResponseAwsJson11Serializer() + ]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(PutLogEventsResponseBuilder b) {} + + /// The next sequence token. + /// + /// This field has been deprecated. + /// + /// The sequence token is now ignored in `PutLogEvents` actions. `PutLogEvents` actions are always accepted even if the sequence token is not valid. You can use parallel `PutLogEvents` actions on the same log stream and you do not need to wait for the response of a previous `PutLogEvents` action to obtain the `nextSequenceToken` value. + String? get nextSequenceToken; + + /// The rejected events. + _i2.RejectedLogEventsInfo? get rejectedLogEventsInfo; + @override + List get props => [ + nextSequenceToken, + rejectedLogEventsInfo, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('PutLogEventsResponse') + ..add( + 'nextSequenceToken', + nextSequenceToken, + ) + ..add( + 'rejectedLogEventsInfo', + rejectedLogEventsInfo, + ); + return helper.toString(); + } +} + +class PutLogEventsResponseAwsJson11Serializer + extends _i3.StructuredSmithySerializer { + const PutLogEventsResponseAwsJson11Serializer() + : super('PutLogEventsResponse'); + + @override + Iterable get types => const [ + PutLogEventsResponse, + _$PutLogEventsResponse, + ]; + @override + Iterable<_i3.ShapeId> get supportedProtocols => const [ + _i3.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + PutLogEventsResponse deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = PutLogEventsResponseBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'nextSequenceToken': + result.nextSequenceToken = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + case 'rejectedLogEventsInfo': + result.rejectedLogEventsInfo.replace((serializers.deserialize( + value, + specifiedType: const FullType(_i2.RejectedLogEventsInfo), + ) as _i2.RejectedLogEventsInfo)); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + PutLogEventsResponse object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final PutLogEventsResponse(:nextSequenceToken, :rejectedLogEventsInfo) = + object; + if (nextSequenceToken != null) { + result$ + ..add('nextSequenceToken') + ..add(serializers.serialize( + nextSequenceToken, + specifiedType: const FullType(String), + )); + } + if (rejectedLogEventsInfo != null) { + result$ + ..add('rejectedLogEventsInfo') + ..add(serializers.serialize( + rejectedLogEventsInfo, + specifiedType: const FullType(_i2.RejectedLogEventsInfo), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart new file mode 100644 index 0000000000..f14944ea6d --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart @@ -0,0 +1,116 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'put_log_events_response.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$PutLogEventsResponse extends PutLogEventsResponse { + @override + final String? nextSequenceToken; + @override + final _i2.RejectedLogEventsInfo? rejectedLogEventsInfo; + + factory _$PutLogEventsResponse( + [void Function(PutLogEventsResponseBuilder)? updates]) => + (new PutLogEventsResponseBuilder()..update(updates))._build(); + + _$PutLogEventsResponse._({this.nextSequenceToken, this.rejectedLogEventsInfo}) + : super._(); + + @override + PutLogEventsResponse rebuild( + void Function(PutLogEventsResponseBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + PutLogEventsResponseBuilder toBuilder() => + new PutLogEventsResponseBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is PutLogEventsResponse && + nextSequenceToken == other.nextSequenceToken && + rejectedLogEventsInfo == other.rejectedLogEventsInfo; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, nextSequenceToken.hashCode); + _$hash = $jc(_$hash, rejectedLogEventsInfo.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class PutLogEventsResponseBuilder + implements Builder { + _$PutLogEventsResponse? _$v; + + String? _nextSequenceToken; + String? get nextSequenceToken => _$this._nextSequenceToken; + set nextSequenceToken(String? nextSequenceToken) => + _$this._nextSequenceToken = nextSequenceToken; + + _i2.RejectedLogEventsInfoBuilder? _rejectedLogEventsInfo; + _i2.RejectedLogEventsInfoBuilder get rejectedLogEventsInfo => + _$this._rejectedLogEventsInfo ??= new _i2.RejectedLogEventsInfoBuilder(); + set rejectedLogEventsInfo( + _i2.RejectedLogEventsInfoBuilder? rejectedLogEventsInfo) => + _$this._rejectedLogEventsInfo = rejectedLogEventsInfo; + + PutLogEventsResponseBuilder() { + PutLogEventsResponse._init(this); + } + + PutLogEventsResponseBuilder get _$this { + final $v = _$v; + if ($v != null) { + _nextSequenceToken = $v.nextSequenceToken; + _rejectedLogEventsInfo = $v.rejectedLogEventsInfo?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(PutLogEventsResponse other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$PutLogEventsResponse; + } + + @override + void update(void Function(PutLogEventsResponseBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + PutLogEventsResponse build() => _build(); + + _$PutLogEventsResponse _build() { + _$PutLogEventsResponse _$result; + try { + _$result = _$v ?? + new _$PutLogEventsResponse._( + nextSequenceToken: nextSequenceToken, + rejectedLogEventsInfo: _rejectedLogEventsInfo?.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'rejectedLogEventsInfo'; + _rejectedLogEventsInfo?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'PutLogEventsResponse', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart new file mode 100644 index 0000000000..c0f3d85539 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart @@ -0,0 +1,169 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.rejected_log_events_info; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'rejected_log_events_info.g.dart'; + +/// Represents the rejected events. +abstract class RejectedLogEventsInfo + with _i1.AWSEquatable + implements Built { + /// Represents the rejected events. + factory RejectedLogEventsInfo({ + int? tooNewLogEventStartIndex, + int? tooOldLogEventEndIndex, + int? expiredLogEventEndIndex, + }) { + return _$RejectedLogEventsInfo._( + tooNewLogEventStartIndex: tooNewLogEventStartIndex, + tooOldLogEventEndIndex: tooOldLogEventEndIndex, + expiredLogEventEndIndex: expiredLogEventEndIndex, + ); + } + + /// Represents the rejected events. + factory RejectedLogEventsInfo.build( + [void Function(RejectedLogEventsInfoBuilder) updates]) = + _$RejectedLogEventsInfo; + + const RejectedLogEventsInfo._(); + + static const List<_i2.SmithySerializer> serializers = [ + RejectedLogEventsInfoAwsJson11Serializer() + ]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(RejectedLogEventsInfoBuilder b) {} + + /// The log events that are too new. + int? get tooNewLogEventStartIndex; + + /// The log events that are dated too far in the past. + int? get tooOldLogEventEndIndex; + + /// The expired log events. + int? get expiredLogEventEndIndex; + @override + List get props => [ + tooNewLogEventStartIndex, + tooOldLogEventEndIndex, + expiredLogEventEndIndex, + ]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('RejectedLogEventsInfo') + ..add( + 'tooNewLogEventStartIndex', + tooNewLogEventStartIndex, + ) + ..add( + 'tooOldLogEventEndIndex', + tooOldLogEventEndIndex, + ) + ..add( + 'expiredLogEventEndIndex', + expiredLogEventEndIndex, + ); + return helper.toString(); + } +} + +class RejectedLogEventsInfoAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const RejectedLogEventsInfoAwsJson11Serializer() + : super('RejectedLogEventsInfo'); + + @override + Iterable get types => const [ + RejectedLogEventsInfo, + _$RejectedLogEventsInfo, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + RejectedLogEventsInfo deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = RejectedLogEventsInfoBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'tooNewLogEventStartIndex': + result.tooNewLogEventStartIndex = (serializers.deserialize( + value, + specifiedType: const FullType(int), + ) as int); + case 'tooOldLogEventEndIndex': + result.tooOldLogEventEndIndex = (serializers.deserialize( + value, + specifiedType: const FullType(int), + ) as int); + case 'expiredLogEventEndIndex': + result.expiredLogEventEndIndex = (serializers.deserialize( + value, + specifiedType: const FullType(int), + ) as int); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + RejectedLogEventsInfo object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final RejectedLogEventsInfo( + :tooNewLogEventStartIndex, + :tooOldLogEventEndIndex, + :expiredLogEventEndIndex + ) = object; + if (tooNewLogEventStartIndex != null) { + result$ + ..add('tooNewLogEventStartIndex') + ..add(serializers.serialize( + tooNewLogEventStartIndex, + specifiedType: const FullType(int), + )); + } + if (tooOldLogEventEndIndex != null) { + result$ + ..add('tooOldLogEventEndIndex') + ..add(serializers.serialize( + tooOldLogEventEndIndex, + specifiedType: const FullType(int), + )); + } + if (expiredLogEventEndIndex != null) { + result$ + ..add('expiredLogEventEndIndex') + ..add(serializers.serialize( + expiredLogEventEndIndex, + specifiedType: const FullType(int), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart new file mode 100644 index 0000000000..716c931e6b --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart @@ -0,0 +1,115 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'rejected_log_events_info.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$RejectedLogEventsInfo extends RejectedLogEventsInfo { + @override + final int? tooNewLogEventStartIndex; + @override + final int? tooOldLogEventEndIndex; + @override + final int? expiredLogEventEndIndex; + + factory _$RejectedLogEventsInfo( + [void Function(RejectedLogEventsInfoBuilder)? updates]) => + (new RejectedLogEventsInfoBuilder()..update(updates))._build(); + + _$RejectedLogEventsInfo._( + {this.tooNewLogEventStartIndex, + this.tooOldLogEventEndIndex, + this.expiredLogEventEndIndex}) + : super._(); + + @override + RejectedLogEventsInfo rebuild( + void Function(RejectedLogEventsInfoBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + RejectedLogEventsInfoBuilder toBuilder() => + new RejectedLogEventsInfoBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is RejectedLogEventsInfo && + tooNewLogEventStartIndex == other.tooNewLogEventStartIndex && + tooOldLogEventEndIndex == other.tooOldLogEventEndIndex && + expiredLogEventEndIndex == other.expiredLogEventEndIndex; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, tooNewLogEventStartIndex.hashCode); + _$hash = $jc(_$hash, tooOldLogEventEndIndex.hashCode); + _$hash = $jc(_$hash, expiredLogEventEndIndex.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class RejectedLogEventsInfoBuilder + implements Builder { + _$RejectedLogEventsInfo? _$v; + + int? _tooNewLogEventStartIndex; + int? get tooNewLogEventStartIndex => _$this._tooNewLogEventStartIndex; + set tooNewLogEventStartIndex(int? tooNewLogEventStartIndex) => + _$this._tooNewLogEventStartIndex = tooNewLogEventStartIndex; + + int? _tooOldLogEventEndIndex; + int? get tooOldLogEventEndIndex => _$this._tooOldLogEventEndIndex; + set tooOldLogEventEndIndex(int? tooOldLogEventEndIndex) => + _$this._tooOldLogEventEndIndex = tooOldLogEventEndIndex; + + int? _expiredLogEventEndIndex; + int? get expiredLogEventEndIndex => _$this._expiredLogEventEndIndex; + set expiredLogEventEndIndex(int? expiredLogEventEndIndex) => + _$this._expiredLogEventEndIndex = expiredLogEventEndIndex; + + RejectedLogEventsInfoBuilder() { + RejectedLogEventsInfo._init(this); + } + + RejectedLogEventsInfoBuilder get _$this { + final $v = _$v; + if ($v != null) { + _tooNewLogEventStartIndex = $v.tooNewLogEventStartIndex; + _tooOldLogEventEndIndex = $v.tooOldLogEventEndIndex; + _expiredLogEventEndIndex = $v.expiredLogEventEndIndex; + _$v = null; + } + return this; + } + + @override + void replace(RejectedLogEventsInfo other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$RejectedLogEventsInfo; + } + + @override + void update(void Function(RejectedLogEventsInfoBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + RejectedLogEventsInfo build() => _build(); + + _$RejectedLogEventsInfo _build() { + final _$result = _$v ?? + new _$RejectedLogEventsInfo._( + tooNewLogEventStartIndex: tooNewLogEventStartIndex, + tooOldLogEventEndIndex: tooOldLogEventEndIndex, + expiredLogEventEndIndex: expiredLogEventEndIndex); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart new file mode 100644 index 0000000000..9fe84df35c --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart @@ -0,0 +1,140 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.resource_already_exists_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'resource_already_exists_exception.g.dart'; + +/// The specified resource already exists. +abstract class ResourceAlreadyExistsException + with + _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The specified resource already exists. + factory ResourceAlreadyExistsException({String? message}) { + return _$ResourceAlreadyExistsException._(message: message); + } + + /// The specified resource already exists. + factory ResourceAlreadyExistsException.build( + [void Function(ResourceAlreadyExistsExceptionBuilder) updates]) = + _$ResourceAlreadyExistsException; + + const ResourceAlreadyExistsException._(); + + /// Constructs a [ResourceAlreadyExistsException] from a [payload] and [response]. + factory ResourceAlreadyExistsException.fromResponse( + ResourceAlreadyExistsException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [ResourceAlreadyExistsExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(ResourceAlreadyExistsExceptionBuilder b) {} + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ResourceAlreadyExistsException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [message]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('ResourceAlreadyExistsException') + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class ResourceAlreadyExistsExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const ResourceAlreadyExistsExceptionAwsJson11Serializer() + : super('ResourceAlreadyExistsException'); + + @override + Iterable get types => const [ + ResourceAlreadyExistsException, + _$ResourceAlreadyExistsException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + ResourceAlreadyExistsException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = ResourceAlreadyExistsExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + ResourceAlreadyExistsException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final ResourceAlreadyExistsException(:message) = object; + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart new file mode 100644 index 0000000000..46046a4902 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart @@ -0,0 +1,105 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'resource_already_exists_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$ResourceAlreadyExistsException extends ResourceAlreadyExistsException { + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$ResourceAlreadyExistsException( + [void Function(ResourceAlreadyExistsExceptionBuilder)? updates]) => + (new ResourceAlreadyExistsExceptionBuilder()..update(updates))._build(); + + _$ResourceAlreadyExistsException._( + {this.message, this.statusCode, this.headers}) + : super._(); + + @override + ResourceAlreadyExistsException rebuild( + void Function(ResourceAlreadyExistsExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + ResourceAlreadyExistsExceptionBuilder toBuilder() => + new ResourceAlreadyExistsExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is ResourceAlreadyExistsException && message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class ResourceAlreadyExistsExceptionBuilder + implements + Builder { + _$ResourceAlreadyExistsException? _$v; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + ResourceAlreadyExistsExceptionBuilder() { + ResourceAlreadyExistsException._init(this); + } + + ResourceAlreadyExistsExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(ResourceAlreadyExistsException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$ResourceAlreadyExistsException; + } + + @override + void update(void Function(ResourceAlreadyExistsExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + ResourceAlreadyExistsException build() => _build(); + + _$ResourceAlreadyExistsException _build() { + final _$result = _$v ?? + new _$ResourceAlreadyExistsException._( + message: message, statusCode: statusCode, headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart new file mode 100644 index 0000000000..45c041e7ac --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart @@ -0,0 +1,138 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.resource_not_found_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'resource_not_found_exception.g.dart'; + +/// The specified resource does not exist. +abstract class ResourceNotFoundException + with _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The specified resource does not exist. + factory ResourceNotFoundException({String? message}) { + return _$ResourceNotFoundException._(message: message); + } + + /// The specified resource does not exist. + factory ResourceNotFoundException.build( + [void Function(ResourceNotFoundExceptionBuilder) updates]) = + _$ResourceNotFoundException; + + const ResourceNotFoundException._(); + + /// Constructs a [ResourceNotFoundException] from a [payload] and [response]. + factory ResourceNotFoundException.fromResponse( + ResourceNotFoundException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [ResourceNotFoundExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(ResourceNotFoundExceptionBuilder b) {} + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ResourceNotFoundException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [message]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('ResourceNotFoundException') + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class ResourceNotFoundExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const ResourceNotFoundExceptionAwsJson11Serializer() + : super('ResourceNotFoundException'); + + @override + Iterable get types => const [ + ResourceNotFoundException, + _$ResourceNotFoundException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + ResourceNotFoundException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = ResourceNotFoundExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + ResourceNotFoundException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final ResourceNotFoundException(:message) = object; + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart new file mode 100644 index 0000000000..6851ffdd00 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart @@ -0,0 +1,103 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'resource_not_found_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$ResourceNotFoundException extends ResourceNotFoundException { + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$ResourceNotFoundException( + [void Function(ResourceNotFoundExceptionBuilder)? updates]) => + (new ResourceNotFoundExceptionBuilder()..update(updates))._build(); + + _$ResourceNotFoundException._({this.message, this.statusCode, this.headers}) + : super._(); + + @override + ResourceNotFoundException rebuild( + void Function(ResourceNotFoundExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + ResourceNotFoundExceptionBuilder toBuilder() => + new ResourceNotFoundExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is ResourceNotFoundException && message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class ResourceNotFoundExceptionBuilder + implements + Builder { + _$ResourceNotFoundException? _$v; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + ResourceNotFoundExceptionBuilder() { + ResourceNotFoundException._init(this); + } + + ResourceNotFoundExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(ResourceNotFoundException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$ResourceNotFoundException; + } + + @override + void update(void Function(ResourceNotFoundExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + ResourceNotFoundException build() => _build(); + + _$ResourceNotFoundException _build() { + final _$result = _$v ?? + new _$ResourceNotFoundException._( + message: message, statusCode: statusCode, headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart new file mode 100644 index 0000000000..0fd363284c --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart @@ -0,0 +1,138 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.service_unavailable_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'service_unavailable_exception.g.dart'; + +/// The service cannot complete the request. +abstract class ServiceUnavailableException + with _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The service cannot complete the request. + factory ServiceUnavailableException({String? message}) { + return _$ServiceUnavailableException._(message: message); + } + + /// The service cannot complete the request. + factory ServiceUnavailableException.build( + [void Function(ServiceUnavailableExceptionBuilder) updates]) = + _$ServiceUnavailableException; + + const ServiceUnavailableException._(); + + /// Constructs a [ServiceUnavailableException] from a [payload] and [response]. + factory ServiceUnavailableException.fromResponse( + ServiceUnavailableException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [ServiceUnavailableExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(ServiceUnavailableExceptionBuilder b) {} + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ServiceUnavailableException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [message]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('ServiceUnavailableException') + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class ServiceUnavailableExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const ServiceUnavailableExceptionAwsJson11Serializer() + : super('ServiceUnavailableException'); + + @override + Iterable get types => const [ + ServiceUnavailableException, + _$ServiceUnavailableException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + ServiceUnavailableException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = ServiceUnavailableExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + ServiceUnavailableException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final ServiceUnavailableException(:message) = object; + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart new file mode 100644 index 0000000000..7dc03f139a --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart @@ -0,0 +1,104 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'service_unavailable_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$ServiceUnavailableException extends ServiceUnavailableException { + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$ServiceUnavailableException( + [void Function(ServiceUnavailableExceptionBuilder)? updates]) => + (new ServiceUnavailableExceptionBuilder()..update(updates))._build(); + + _$ServiceUnavailableException._({this.message, this.statusCode, this.headers}) + : super._(); + + @override + ServiceUnavailableException rebuild( + void Function(ServiceUnavailableExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + ServiceUnavailableExceptionBuilder toBuilder() => + new ServiceUnavailableExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is ServiceUnavailableException && message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class ServiceUnavailableExceptionBuilder + implements + Builder { + _$ServiceUnavailableException? _$v; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + ServiceUnavailableExceptionBuilder() { + ServiceUnavailableException._init(this); + } + + ServiceUnavailableExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(ServiceUnavailableException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$ServiceUnavailableException; + } + + @override + void update(void Function(ServiceUnavailableExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + ServiceUnavailableException build() => _build(); + + _$ServiceUnavailableException _build() { + final _$result = _$v ?? + new _$ServiceUnavailableException._( + message: message, statusCode: statusCode, headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart new file mode 100644 index 0000000000..d2b44a267e --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart @@ -0,0 +1,138 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.model.unrecognized_client_exception; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:aws_common/aws_common.dart' as _i1; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:smithy/smithy.dart' as _i2; + +part 'unrecognized_client_exception.g.dart'; + +/// The most likely cause is an Amazon Web Services access key ID or secret key that's not valid. +abstract class UnrecognizedClientException + with _i1.AWSEquatable + implements + Built, + _i2.SmithyHttpException { + /// The most likely cause is an Amazon Web Services access key ID or secret key that's not valid. + factory UnrecognizedClientException({String? message}) { + return _$UnrecognizedClientException._(message: message); + } + + /// The most likely cause is an Amazon Web Services access key ID or secret key that's not valid. + factory UnrecognizedClientException.build( + [void Function(UnrecognizedClientExceptionBuilder) updates]) = + _$UnrecognizedClientException; + + const UnrecognizedClientException._(); + + /// Constructs a [UnrecognizedClientException] from a [payload] and [response]. + factory UnrecognizedClientException.fromResponse( + UnrecognizedClientException payload, + _i1.AWSBaseHttpResponse response, + ) => + payload.rebuild((b) { + b.statusCode = response.statusCode; + b.headers = response.headers; + }); + + static const List<_i2.SmithySerializer> + serializers = [UnrecognizedClientExceptionAwsJson11Serializer()]; + + @BuiltValueHook(initializeBuilder: true) + static void _init(UnrecognizedClientExceptionBuilder b) {} + @override + String? get message; + @override + _i2.ShapeId get shapeId => const _i2.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'UnrecognizedClientException', + ); + @override + _i2.RetryConfig? get retryConfig => null; + @override + @BuiltValueField(compare: false) + int? get statusCode; + @override + @BuiltValueField(compare: false) + Map? get headers; + @override + Exception? get underlyingException => null; + @override + List get props => [message]; + @override + String toString() { + final helper = newBuiltValueToStringHelper('UnrecognizedClientException') + ..add( + 'message', + message, + ); + return helper.toString(); + } +} + +class UnrecognizedClientExceptionAwsJson11Serializer + extends _i2.StructuredSmithySerializer { + const UnrecognizedClientExceptionAwsJson11Serializer() + : super('UnrecognizedClientException'); + + @override + Iterable get types => const [ + UnrecognizedClientException, + _$UnrecognizedClientException, + ]; + @override + Iterable<_i2.ShapeId> get supportedProtocols => const [ + _i2.ShapeId( + namespace: 'aws.protocols', + shape: 'awsJson1_1', + ) + ]; + @override + UnrecognizedClientException deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = UnrecognizedClientExceptionBuilder(); + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final value = iterator.current; + if (value == null) { + continue; + } + switch (key) { + case 'message': + result.message = (serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String); + } + } + + return result.build(); + } + + @override + Iterable serialize( + Serializers serializers, + UnrecognizedClientException object, { + FullType specifiedType = FullType.unspecified, + }) { + final result$ = []; + final UnrecognizedClientException(:message) = object; + if (message != null) { + result$ + ..add('message') + ..add(serializers.serialize( + message, + specifiedType: const FullType(String), + )); + } + return result$; + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart new file mode 100644 index 0000000000..0c132568d4 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart @@ -0,0 +1,104 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'unrecognized_client_exception.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$UnrecognizedClientException extends UnrecognizedClientException { + @override + final String? message; + @override + final int? statusCode; + @override + final Map? headers; + + factory _$UnrecognizedClientException( + [void Function(UnrecognizedClientExceptionBuilder)? updates]) => + (new UnrecognizedClientExceptionBuilder()..update(updates))._build(); + + _$UnrecognizedClientException._({this.message, this.statusCode, this.headers}) + : super._(); + + @override + UnrecognizedClientException rebuild( + void Function(UnrecognizedClientExceptionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + UnrecognizedClientExceptionBuilder toBuilder() => + new UnrecognizedClientExceptionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is UnrecognizedClientException && message == other.message; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, message.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class UnrecognizedClientExceptionBuilder + implements + Builder { + _$UnrecognizedClientException? _$v; + + String? _message; + String? get message => _$this._message; + set message(String? message) => _$this._message = message; + + int? _statusCode; + int? get statusCode => _$this._statusCode; + set statusCode(int? statusCode) => _$this._statusCode = statusCode; + + Map? _headers; + Map? get headers => _$this._headers; + set headers(Map? headers) => _$this._headers = headers; + + UnrecognizedClientExceptionBuilder() { + UnrecognizedClientException._init(this); + } + + UnrecognizedClientExceptionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _message = $v.message; + _statusCode = $v.statusCode; + _headers = $v.headers; + _$v = null; + } + return this; + } + + @override + void replace(UnrecognizedClientException other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$UnrecognizedClientException; + } + + @override + void update(void Function(UnrecognizedClientExceptionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + UnrecognizedClientException build() => _build(); + + _$UnrecognizedClientException _build() { + final _$result = _$v ?? + new _$UnrecognizedClientException._( + message: message, statusCode: statusCode, headers: headers); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart new file mode 100644 index 0000000000..a62bd66d49 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart @@ -0,0 +1,194 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.operation.create_log_stream_operation; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'dart:async' as _i12; + +import 'package:aws_common/aws_common.dart' as _i6; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart' + as _i7; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/common/serializers.dart' + as _i5; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart' + as _i2; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart' + as _i8; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart' + as _i9; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart' + as _i10; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart' + as _i11; +import 'package:aws_signature_v4/aws_signature_v4.dart' as _i3; +import 'package:smithy/smithy.dart' as _i1; +import 'package:smithy_aws/smithy_aws.dart' as _i4; + +/// Creates a log stream for the specified log group. A log stream is a sequence of log events that originate from a single source, such as an application instance or a resource that is being monitored. +/// +/// There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on `CreateLogStream` operations, after which transactions are throttled. +/// +/// You must use the following guidelines when naming a log stream: +/// +/// * Log stream names must be unique within the log group. +/// +/// * Log stream names can be between 1 and 512 characters long. +/// +/// * Don't use ':' (colon) or '*' (asterisk) characters. +class CreateLogStreamOperation extends _i1.HttpOperation< + _i2.CreateLogStreamRequest, + _i2.CreateLogStreamRequest, + _i1.Unit, + _i1.Unit> { + /// Creates a log stream for the specified log group. A log stream is a sequence of log events that originate from a single source, such as an application instance or a resource that is being monitored. + /// + /// There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on `CreateLogStream` operations, after which transactions are throttled. + /// + /// You must use the following guidelines when naming a log stream: + /// + /// * Log stream names must be unique within the log group. + /// + /// * Log stream names can be between 1 and 512 characters long. + /// + /// * Don't use ':' (colon) or '*' (asterisk) characters. + CreateLogStreamOperation({ + required String region, + Uri? baseUri, + _i3.AWSCredentialsProvider credentialsProvider = + const _i3.AWSCredentialsProvider.environment(), + List<_i1.HttpRequestInterceptor> requestInterceptors = const [], + List<_i1.HttpResponseInterceptor> responseInterceptors = const [], + }) : _region = region, + _baseUri = baseUri, + _credentialsProvider = credentialsProvider, + _requestInterceptors = requestInterceptors, + _responseInterceptors = responseInterceptors; + + @override + late final List< + _i1.HttpProtocol<_i2.CreateLogStreamRequest, _i2.CreateLogStreamRequest, + _i1.Unit, _i1.Unit>> protocols = [ + _i4.AwsJson1_1Protocol( + serializers: _i5.serializers, + builderFactories: _i5.builderFactories, + requestInterceptors: <_i1.HttpRequestInterceptor>[ + const _i1.WithHost(), + const _i1.WithContentLength(), + const _i1.WithHeader( + 'X-Amz-Target', + 'Logs_20140328.CreateLogStream', + ), + _i4.WithSigV4( + region: _region, + service: _i6.AWSService.cloudWatchLogs, + credentialsProvider: _credentialsProvider, + ), + const _i1.WithUserAgent('aws-sdk-dart/0.3.1'), + const _i4.WithSdkInvocationId(), + const _i4.WithSdkRequest(), + ] + + _requestInterceptors, + responseInterceptors: + <_i1.HttpResponseInterceptor>[] + _responseInterceptors, + ) + ]; + + late final _i4.AWSEndpoint _awsEndpoint = _i7.endpointResolver.resolve( + _i7.sdkId, + _region, + ); + + final String _region; + + final Uri? _baseUri; + + final _i3.AWSCredentialsProvider _credentialsProvider; + + final List<_i1.HttpRequestInterceptor> _requestInterceptors; + + final List<_i1.HttpResponseInterceptor> _responseInterceptors; + + @override + _i1.HttpRequest buildRequest(_i2.CreateLogStreamRequest input) => + _i1.HttpRequest((b) { + b.method = 'POST'; + b.path = r'/'; + }); + @override + int successCode([_i1.Unit? output]) => 200; + @override + _i1.Unit buildOutput( + _i1.Unit payload, + _i6.AWSBaseHttpResponse response, + ) => + payload; + @override + List<_i1.SmithyError> get errorTypes => const [ + _i1.SmithyError<_i8.InvalidParameterException, + _i8.InvalidParameterException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'InvalidParameterException', + ), + _i1.ErrorKind.client, + _i8.InvalidParameterException, + builder: _i8.InvalidParameterException.fromResponse, + ), + _i1.SmithyError<_i9.ResourceAlreadyExistsException, + _i9.ResourceAlreadyExistsException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ResourceAlreadyExistsException', + ), + _i1.ErrorKind.client, + _i9.ResourceAlreadyExistsException, + builder: _i9.ResourceAlreadyExistsException.fromResponse, + ), + _i1.SmithyError<_i10.ResourceNotFoundException, + _i10.ResourceNotFoundException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ResourceNotFoundException', + ), + _i1.ErrorKind.client, + _i10.ResourceNotFoundException, + builder: _i10.ResourceNotFoundException.fromResponse, + ), + _i1.SmithyError<_i11.ServiceUnavailableException, + _i11.ServiceUnavailableException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ServiceUnavailableException', + ), + _i1.ErrorKind.server, + _i11.ServiceUnavailableException, + builder: _i11.ServiceUnavailableException.fromResponse, + ), + ]; + @override + String get runtimeTypeName => 'CreateLogStream'; + @override + _i4.AWSRetryer get retryer => _i4.AWSRetryer(); + @override + Uri get baseUri => _baseUri ?? endpoint.uri; + @override + _i1.Endpoint get endpoint => _awsEndpoint.endpoint; + @override + _i1.SmithyOperation<_i1.Unit> run( + _i2.CreateLogStreamRequest input, { + _i6.AWSHttpClient? client, + _i1.ShapeId? useProtocol, + }) { + return _i12.runZoned( + () => super.run( + input, + client: client, + useProtocol: useProtocol, + ), + zoneValues: { + ...?_awsEndpoint.credentialScope?.zoneValues, + ...{_i6.AWSHeaders.sdkInvocationId: _i6.uuid(secure: true)}, + }, + ); + } +} diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart new file mode 100644 index 0000000000..d0253da229 --- /dev/null +++ b/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart @@ -0,0 +1,245 @@ +// Generated with smithy-dart 0.3.1. DO NOT MODIFY. +// ignore_for_file: avoid_unused_constructor_parameters,deprecated_member_use_from_same_package,non_constant_identifier_names,require_trailing_commas + +library aws_logging_cloudwatch.cloud_watch_logs.operation.put_log_events_operation; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'dart:async' as _i15; + +import 'package:aws_common/aws_common.dart' as _i7; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart' + as _i8; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/common/serializers.dart' + as _i6; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart' + as _i9; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart' + as _i10; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart' + as _i11; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart' + as _i2; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart' + as _i3; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart' + as _i12; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart' + as _i13; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart' + as _i14; +import 'package:aws_signature_v4/aws_signature_v4.dart' as _i4; +import 'package:smithy/smithy.dart' as _i1; +import 'package:smithy_aws/smithy_aws.dart' as _i5; + +/// Uploads a batch of log events to the specified log stream. +/// +/// The sequence token is now ignored in `PutLogEvents` actions. `PutLogEvents` actions are always accepted and never return `InvalidSequenceTokenException` or `DataAlreadyAcceptedException` even if the sequence token is not valid. You can use parallel `PutLogEvents` actions on the same log stream. +/// +/// The batch of events must satisfy the following constraints: +/// +/// * The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event. +/// +/// * None of the log events in the batch can be more than 2 hours in the future. +/// +/// * None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group. +/// +/// * The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after `Jan 1, 1970 00:00:00 UTC`. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: `yyyy-mm-ddThh:mm:ss`. For example, `2017-09-15T13:45:30`.) +/// +/// * A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. +/// +/// * The maximum number of log events in a batch is 10,000. +/// +/// * The quota of five requests per second per log stream has been removed. Instead, `PutLogEvents` actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service. +/// +/// +/// If a call to `PutLogEvents` returns "UnrecognizedClientException" the most likely cause is a non-valid Amazon Web Services access key ID or secret key. +class PutLogEventsOperation extends _i1.HttpOperation< + _i2.PutLogEventsRequest, + _i2.PutLogEventsRequest, + _i3.PutLogEventsResponse, + _i3.PutLogEventsResponse> { + /// Uploads a batch of log events to the specified log stream. + /// + /// The sequence token is now ignored in `PutLogEvents` actions. `PutLogEvents` actions are always accepted and never return `InvalidSequenceTokenException` or `DataAlreadyAcceptedException` even if the sequence token is not valid. You can use parallel `PutLogEvents` actions on the same log stream. + /// + /// The batch of events must satisfy the following constraints: + /// + /// * The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event. + /// + /// * None of the log events in the batch can be more than 2 hours in the future. + /// + /// * None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group. + /// + /// * The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after `Jan 1, 1970 00:00:00 UTC`. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: `yyyy-mm-ddThh:mm:ss`. For example, `2017-09-15T13:45:30`.) + /// + /// * A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. + /// + /// * The maximum number of log events in a batch is 10,000. + /// + /// * The quota of five requests per second per log stream has been removed. Instead, `PutLogEvents` actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service. + /// + /// + /// If a call to `PutLogEvents` returns "UnrecognizedClientException" the most likely cause is a non-valid Amazon Web Services access key ID or secret key. + PutLogEventsOperation({ + required String region, + Uri? baseUri, + _i4.AWSCredentialsProvider credentialsProvider = + const _i4.AWSCredentialsProvider.environment(), + List<_i1.HttpRequestInterceptor> requestInterceptors = const [], + List<_i1.HttpResponseInterceptor> responseInterceptors = const [], + }) : _region = region, + _baseUri = baseUri, + _credentialsProvider = credentialsProvider, + _requestInterceptors = requestInterceptors, + _responseInterceptors = responseInterceptors; + + @override + late final List< + _i1.HttpProtocol<_i2.PutLogEventsRequest, _i2.PutLogEventsRequest, + _i3.PutLogEventsResponse, _i3.PutLogEventsResponse>> protocols = [ + _i5.AwsJson1_1Protocol( + serializers: _i6.serializers, + builderFactories: _i6.builderFactories, + requestInterceptors: <_i1.HttpRequestInterceptor>[ + const _i1.WithHost(), + const _i1.WithContentLength(), + const _i1.WithHeader( + 'X-Amz-Target', + 'Logs_20140328.PutLogEvents', + ), + _i5.WithSigV4( + region: _region, + service: _i7.AWSService.cloudWatchLogs, + credentialsProvider: _credentialsProvider, + ), + const _i1.WithUserAgent('aws-sdk-dart/0.3.1'), + const _i5.WithSdkInvocationId(), + const _i5.WithSdkRequest(), + ] + + _requestInterceptors, + responseInterceptors: + <_i1.HttpResponseInterceptor>[] + _responseInterceptors, + ) + ]; + + late final _i5.AWSEndpoint _awsEndpoint = _i8.endpointResolver.resolve( + _i8.sdkId, + _region, + ); + + final String _region; + + final Uri? _baseUri; + + final _i4.AWSCredentialsProvider _credentialsProvider; + + final List<_i1.HttpRequestInterceptor> _requestInterceptors; + + final List<_i1.HttpResponseInterceptor> _responseInterceptors; + + @override + _i1.HttpRequest buildRequest(_i2.PutLogEventsRequest input) => + _i1.HttpRequest((b) { + b.method = 'POST'; + b.path = r'/'; + }); + @override + int successCode([_i3.PutLogEventsResponse? output]) => 200; + @override + _i3.PutLogEventsResponse buildOutput( + _i3.PutLogEventsResponse payload, + _i7.AWSBaseHttpResponse response, + ) => + _i3.PutLogEventsResponse.fromResponse( + payload, + response, + ); + @override + List<_i1.SmithyError> get errorTypes => const [ + _i1.SmithyError<_i9.DataAlreadyAcceptedException, + _i9.DataAlreadyAcceptedException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'DataAlreadyAcceptedException', + ), + _i1.ErrorKind.client, + _i9.DataAlreadyAcceptedException, + builder: _i9.DataAlreadyAcceptedException.fromResponse, + ), + _i1.SmithyError<_i10.InvalidParameterException, + _i10.InvalidParameterException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'InvalidParameterException', + ), + _i1.ErrorKind.client, + _i10.InvalidParameterException, + builder: _i10.InvalidParameterException.fromResponse, + ), + _i1.SmithyError<_i11.InvalidSequenceTokenException, + _i11.InvalidSequenceTokenException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'InvalidSequenceTokenException', + ), + _i1.ErrorKind.client, + _i11.InvalidSequenceTokenException, + builder: _i11.InvalidSequenceTokenException.fromResponse, + ), + _i1.SmithyError<_i12.ResourceNotFoundException, + _i12.ResourceNotFoundException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ResourceNotFoundException', + ), + _i1.ErrorKind.client, + _i12.ResourceNotFoundException, + builder: _i12.ResourceNotFoundException.fromResponse, + ), + _i1.SmithyError<_i13.ServiceUnavailableException, + _i13.ServiceUnavailableException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'ServiceUnavailableException', + ), + _i1.ErrorKind.server, + _i13.ServiceUnavailableException, + builder: _i13.ServiceUnavailableException.fromResponse, + ), + _i1.SmithyError<_i14.UnrecognizedClientException, + _i14.UnrecognizedClientException>( + _i1.ShapeId( + namespace: 'com.amazonaws.cloudwatchlogs', + shape: 'UnrecognizedClientException', + ), + _i1.ErrorKind.client, + _i14.UnrecognizedClientException, + builder: _i14.UnrecognizedClientException.fromResponse, + ), + ]; + @override + String get runtimeTypeName => 'PutLogEvents'; + @override + _i5.AWSRetryer get retryer => _i5.AWSRetryer(); + @override + Uri get baseUri => _baseUri ?? endpoint.uri; + @override + _i1.Endpoint get endpoint => _awsEndpoint.endpoint; + @override + _i1.SmithyOperation<_i3.PutLogEventsResponse> run( + _i2.PutLogEventsRequest input, { + _i7.AWSHttpClient? client, + _i1.ShapeId? useProtocol, + }) { + return _i15.runZoned( + () => super.run( + input, + client: client, + useProtocol: useProtocol, + ), + zoneValues: { + ...?_awsEndpoint.credentialScope?.zoneValues, + ...{_i7.AWSHeaders.sdkInvocationId: _i7.uuid(secure: true)}, + }, + ); + } +} diff --git a/packages/aws_logging_cloudwatch/pubspec.yaml b/packages/aws_logging_cloudwatch/pubspec.yaml new file mode 100644 index 0000000000..5b8a364793 --- /dev/null +++ b/packages/aws_logging_cloudwatch/pubspec.yaml @@ -0,0 +1,29 @@ +name: aws_logging_cloudwatch +description: Implementation of AWS logger plugin with CloudWatch Logs. +version: 0.1.0 +homepage: https://docs.amplify.aws/lib/q/platform/flutter/ +repository: https://github.com/aws-amplify/amplify-flutter/tree/main/packages/aws_logging_cloudwatch +issue_tracker: https://github.com/aws-amplify/amplify-flutter/issues + +environment: + sdk: "^3.0.0" + +dependencies: + amplify_core: ">=1.2.0 <1.3.0" + aws_common: ^0.5.0+2 + aws_signature_v4: ^0.4.0+2 + built_collection: ^5.1.1 + built_value: ">=8.6.0 <8.7.0" + fixnum: ^1.1.0 + meta: ^1.9.1 + smithy: ^0.5.0+3 + smithy_aws: ^0.5.0+3 + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.4.0 + build_test: ^2.0.0 + build_web_compilers: ^4.0.0 + built_value_generator: 8.6.1 + json_serializable: 6.7.0 + test: ^1.22.1 diff --git a/packages/aws_logging_cloudwatch/sdk.yaml b/packages/aws_logging_cloudwatch/sdk.yaml new file mode 100644 index 0000000000..bdd1679be3 --- /dev/null +++ b/packages/aws_logging_cloudwatch/sdk.yaml @@ -0,0 +1,4 @@ +apis: + logs: + - com.amazonaws.cloudwatchlogs#PutLogEvents + - com.amazonaws.cloudwatchlogs#CreateLogStream diff --git a/packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart b/packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart new file mode 100644 index 0000000000..250712214f --- /dev/null +++ b/packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart @@ -0,0 +1,5 @@ +import 'package:test/test.dart'; + +void main() { + test('aws_logging_cloudwatch', () {}); +} From 58f4a5e554f7baf6ce2838aaca993f27e2d4ff15 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Fri, 11 Aug 2023 16:37:29 -0700 Subject: [PATCH 02/43] chore: added E2E Testing Stack Environment for logging (#3498) * chore: added e2e test environment for non remote config * chore: add remote config integration test stack environment for logging * chore: correctly format imports using snake case. removed empty this.config object * chore: add license header to top of the file * chore: remove commented code * chore: remove commented code * remove unnecessary import Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore: removed unnecessary path.join and fixed formatting * chore: removed unnecessary argument and fixed filepath * chore: added remoteconfig.js, fixed remoteloggingconstraints.json confusion * chore: remove unnecessary path.join * chore: added e2e test environment for non remote config * chore: add remote config integration test stack environment for logging * remove unnecessary import Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore: added remoteconfig.js, fixed remoteloggingconstraints.json confusion * chore: added BUCKET to argument for handling remote config * chore: changed remoteconfig to typescript but still need types * chore: updated types for remote config * chore: changed argument to adjust to using NodejsFunction instead of Function * chore: updated typing for setCachedConfig * chore: removed old remoteconfig.js file and removed unnecessary import * Update infra/lib/logging/resources/lambda/remoteconfig.ts Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update infra/lib/logging/resources/lambda/remoteconfig.ts Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update infra/lib/logging/resources/lambda/remoteconfig.ts Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update infra/lib/logging/resources/lambda/remoteconfig.ts Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update infra/lib/logging/resources/lambda/remoteconfig.ts Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> --------- Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> --- infra/lib/common.ts | 3 +- .../config/remoteloggingconstraints.json | 16 ++ .../logging/resources/lambda/remoteconfig.ts | 67 ++++++++ infra/lib/logging/stack.ts | 160 ++++++++++++++++++ infra/lib/stack.ts | 6 + infra/package.json | 2 +- 6 files changed, 252 insertions(+), 2 deletions(-) create mode 100644 infra/lib/logging/resources/config/remoteloggingconstraints.json create mode 100644 infra/lib/logging/resources/lambda/remoteconfig.ts create mode 100644 infra/lib/logging/stack.ts diff --git a/infra/lib/common.ts b/infra/lib/common.ts index fe95000f47..29c37ddcd1 100644 --- a/infra/lib/common.ts +++ b/infra/lib/common.ts @@ -331,7 +331,7 @@ export const createAmplifyConfig = ( region: string, config: AmplifyConfig ): any => { - const { analyticsConfig, apiConfig, authConfig, storageConfig } = config; + const { analyticsConfig, apiConfig, authConfig, storageConfig } = config || {}; const analytics: any = {}; if (analyticsConfig) { analytics.analytics = { @@ -509,6 +509,7 @@ export enum AmplifyCategory { Auth = "auth", DataStore = "dataStore", Storage = "storage", + Logging = "logging", } export type APIAuthorizationType = diff --git a/infra/lib/logging/resources/config/remoteloggingconstraints.json b/infra/lib/logging/resources/config/remoteloggingconstraints.json new file mode 100644 index 0000000000..399670a80d --- /dev/null +++ b/infra/lib/logging/resources/config/remoteloggingconstraints.json @@ -0,0 +1,16 @@ +{ + "defaultLogLevel": "ERROR", + "categoryLogLevel": { + "API": "DEBUG", + "AUTH": "DEBUG" + }, + "userLogLevel": { + "cognito-sub-xyz-123": { + "defaultLogLevel": "VERBOSE", + "categoryLogLevel": { + "API": "VERBOSE", + "AUTH": "VERBOSE" + } + } + } +} \ No newline at end of file diff --git a/infra/lib/logging/resources/lambda/remoteconfig.ts b/infra/lib/logging/resources/lambda/remoteconfig.ts new file mode 100644 index 0000000000..e1b375c81a --- /dev/null +++ b/infra/lib/logging/resources/lambda/remoteconfig.ts @@ -0,0 +1,67 @@ +import { S3Client, GetObjectCommand, GetObjectCommandOutput } from "@aws-sdk/client-s3" +import type { APIGatewayProxyEvent, APIGatewayProxyResult, APIGatewayProxyHandler } from "aws-lambda" + +const s3 = new S3Client({}) +const bucketName = process.env.BUCKET +const key = process.env.KEY + +interface CachedConfig { + expiresOn: number; + ETag: string; + config: string; +} +let cachedConfig: CachedConfig = { + expiresOn: 0, + ETag: '', + config: '' +} + +export const main: APIGatewayProxyHandler = async (event: APIGatewayProxyEvent): Promise => { + try { + if (event.httpMethod === "GET") { + if (!cachedConfig.config || Date.now() > cachedConfig.expiresOn) { + // refresh cache if cache is invalid + const command = new GetObjectCommand({ Bucket: bucketName, Key: key }) + const s3Resp = await s3.send(command) + await setCachedConfig(s3Resp) + } + + if (event.headers['If-None-Match'] === cachedConfig.ETag) { + // return 304 not modified if config has not changed + return { + statusCode: 304, + body: 'Not Modified', + } + } else { + // return updated/modified config with latest ETag + return { + statusCode: 200, + headers: { 'If-None-Match': cachedConfig.ETag }, + body: cachedConfig.config + } + } + } + else { + return { + statusCode: 400, + headers: {}, + body: 'Invalid Request' + } + } + } catch (error: any) { + const resp = error.message ?? JSON.stringify(error, null, 2) + return { + statusCode: 400, + headers: {}, + body: resp, + } + } +} + +const setCachedConfig = async (s3Resp: GetObjectCommandOutput) => { + cachedConfig = { + expiresOn: Date.now() + 600 * 1000, //10 minutes + ETag: s3Resp.ETag?.replace(/\"/gi, '') || '', //remove \" from string + config: (await s3Resp.Body?.transformToString()) || '' + } +} \ No newline at end of file diff --git a/infra/lib/logging/stack.ts b/infra/lib/logging/stack.ts new file mode 100644 index 0000000000..1836f55eba --- /dev/null +++ b/infra/lib/logging/stack.ts @@ -0,0 +1,160 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import { Construct } from "constructs"; +import { IntegrationTestStackEnvironment, IntegrationTestStackEnvironmentProps, AmplifyCategory, IntegrationTestStack, randomBucketName } from "../common"; +import * as cdk from "aws-cdk-lib" +import * as logs from "aws-cdk-lib/aws-logs" +import * as path from "path" +import * as iam from "aws-cdk-lib/aws-iam" +import * as cognito_identity from "@aws-cdk/aws-cognito-identitypool-alpha"; +import { BucketDeployment, Source } from "aws-cdk-lib/aws-s3-deployment"; + +import * as s3 from "aws-cdk-lib/aws-s3" +import * as lambda from "aws-cdk-lib/aws-lambda" +import * as lambda_node from "aws-cdk-lib/aws-lambda-nodejs" +import * as api_gateway from "aws-cdk-lib/aws-apigateway" + +export class LoggingIntegrationTestStack extends IntegrationTestStack { + constructor( + scope: Construct, + environments: LoggingIntegrationTestStackEnvironmentProps[], + props?: cdk.NestedStackProps, + ) { + super({ + scope, + category: AmplifyCategory.Logging, + environments, + props, + }) + } + + protected buildEnvironments( + environments: LoggingIntegrationTestStackEnvironmentProps[], + ): LoggingIntegrationTestStackEnvironment[] { + return environments.map((envProps) => { + return new LoggingIntegrationTestStackEnvironment( + this, + this.baseName, + envProps, + ) + }) + } +} +export class LoggingIntegrationTestStackEnvironment extends IntegrationTestStackEnvironment { + constructor( + scope: Construct, + baseName: string, + props: LoggingIntegrationTestStackEnvironmentProps, + ) { + super(scope, baseName, props); + + const region = cdk.Stack.of(this).region; + const account = cdk.Stack.of(this).account; + const bucketName = randomBucketName({ prefix: 'amplify-logging-test-bucket', stack: this }); + + const logGroup = new logs.LogGroup(this, 'Log Group', { + retention: logs.RetentionDays.INFINITE + }); + + const identityPool = new cognito_identity.IdentityPool(this, "IdentityPool", { + allowUnauthenticatedIdentities: true, + }); + + const authRole = identityPool.authenticatedRole; + const unAuthRole = identityPool.unauthenticatedRole; + + const logResource = `arn:aws:logs:${region}:${account}:log-group:${logGroup.logGroupName}:log-stream:*` + const logIAMPolicy = new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + resources: [logResource], + actions: ["logs:PutLogEvents", "logs:DescribeLogStreams", "logs:CreateLogStream"] + }); + + authRole.addToPrincipalPolicy(logIAMPolicy); + unAuthRole.addToPrincipalPolicy(logIAMPolicy); + + // remote config + if (props.remoteConfig) { + + const loggingConfigLocation = 'lib/logging/resources/config/remoteloggingconstraints.json'; + const lambdaConfig = 'lib/logging/resources/lambda/remoteconfig.ts'; + const configFileName = 'remoteloggingconstraints.json'; + + // Create a bucket for the remote config + const remoteConfigBucket = new s3.Bucket(this, 'AmplifyRemoteLogging-Bucket', { + publicReadAccess: false, + versioned: true, + removalPolicy: cdk.RemovalPolicy.DESTROY, + enforceSSL: true, + blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, + }); + + // Deploy the remote config to the bucket + new BucketDeployment(this, 'AmplifyRemoteLogging-BucketDeployment', { + sources: [ + Source.asset(path.dirname(loggingConfigLocation)), + ], + destinationBucket: remoteConfigBucket, + destinationKeyPrefix: 'config', + }); + + // Create a lambda function to handle the remote config + const handler = new lambda_node.NodejsFunction(this,'AmplifyRemoteLogging-Handler', { + runtime: lambda.Runtime.NODEJS_18_X, + entry: lambdaConfig, + handler: 'remotelogging.main', + environment: { + BUCKET: bucketName, + KEY: configFileName, + } + }); + + // Grant the lambda function read access to the remote config bucket + remoteConfigBucket.grantRead(handler); + + // Create an API Gateway endpoint for the remote config + const api = new api_gateway.RestApi(this, 'AmplifyRemoteLogging-Api', { + restApiName: 'AmplifyRemoteLogging-Api', + description: 'This is an API Gateway endpoint for remote logging', + }); + + // Create a GET method for the API Gateway endpoint + const getRemoteLoggingIntegration = new api_gateway.LambdaIntegration(handler); + + // Create a resource for the GET method + const loggingConstraints = api.root.addResource('loggingconstraints'); + + // Add the GET method to the resource + const getLoggingConstraints = loggingConstraints.addMethod('GET', getRemoteLoggingIntegration, { + authorizationType: api_gateway.AuthorizationType.IAM, + }); + + // Add a policy to allow the API Gateway endpoint to be invoked + const apiInvokePolicy = new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + resources: [getLoggingConstraints.methodArn], + actions: ["execute-api:Invoke"] + }); + + authRole.addToPrincipalPolicy(apiInvokePolicy); + unAuthRole.addToPrincipalPolicy(apiInvokePolicy); + + new cdk.CfnOutput(this, 'APIEndpoint', { + value: `https://${api.restApiId}.execute-api.${region}.amazonaws.com/prod/loggingconstraints` + }); + + new cdk.CfnOutput(this, 'CloudWatchLogGroupName', { value: logGroup.logGroupName }); + new cdk.CfnOutput(this, 'CloudWatchRegion', { value: region }); + } + + } + +} + +interface LoggingIntegrationTestStackEnvironmentProps extends IntegrationTestStackEnvironmentProps { + /** + * Allow remote config + */ + remoteConfig?: boolean +} diff --git a/infra/lib/stack.ts b/infra/lib/stack.ts index 64af86736e..a947468c83 100644 --- a/infra/lib/stack.ts +++ b/infra/lib/stack.ts @@ -289,6 +289,12 @@ export class AmplifyFlutterIntegStack extends cdk.Stack { // crossRegionReferences: true, }); + // The Logging stack + const logging = new LoggingIntegrationTestStack(this, [ + { environmentName: "main" }, + { environmentName: "remote-config", remoteConfig: true }, + ]); + // The Storage stack const storage = new StorageIntegrationTestStack(this, [ { diff --git a/infra/package.json b/infra/package.json index 52e6d9bb58..c3fa5a9f07 100644 --- a/infra/package.json +++ b/infra/package.json @@ -34,4 +34,4 @@ "node-fetch": "^3.3.2", "source-map-support": "^0.5.21" } -} \ No newline at end of file +} From 5912f3940db152b05791bdf29da2fdd6db57be1f Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 15 Aug 2023 15:31:59 -0700 Subject: [PATCH 03/43] chore(logging): add folder for logging_cloudwatch (#3563) chore(logging): add folder for logging_cloudwatch to have aws and amplify implementations in their own package. Co-authored-by: Nika Hassani --- .../aws_logging_cloudwatch/.gitignore | 0 .../aws_logging_cloudwatch/CHANGELOG.md | 0 .../aws_logging_cloudwatch/LICENSE | 0 .../aws_logging_cloudwatch/README.md | 0 .../aws_logging_cloudwatch/analysis_options.yaml | 0 .../aws_logging_cloudwatch/example/.gitignore | 0 .../aws_logging_cloudwatch/example/LICENSE | 0 .../aws_logging_cloudwatch/example/README.md | 0 .../example/analysis_options.yaml | 0 .../aws_logging_cloudwatch/example/bin/main.dart | 0 .../aws_logging_cloudwatch/example/pubspec.yaml | 0 .../example/web/favicon-180x180.png | Bin .../aws_logging_cloudwatch/example/web/favicon.png | Bin .../aws_logging_cloudwatch/example/web/index.html | 0 .../aws_logging_cloudwatch/example/web/main.dart | 0 .../aws_logging_cloudwatch/example/web/styles.css | 0 .../lib/aws_logging_cloudwatch.dart | 0 .../lib/src/sdk/cloud_watch_logs.dart | 0 .../cloud_watch_logs/cloud_watch_logs_client.dart | 0 .../cloud_watch_logs/common/endpoint_resolver.dart | 0 .../src/cloud_watch_logs/common/serializers.dart | 0 .../model/create_log_stream_request.dart | 0 .../model/create_log_stream_request.g.dart | 0 .../model/data_already_accepted_exception.dart | 0 .../model/data_already_accepted_exception.g.dart | 0 .../src/cloud_watch_logs/model/input_log_event.dart | 0 .../cloud_watch_logs/model/input_log_event.g.dart | 0 .../model/invalid_parameter_exception.dart | 0 .../model/invalid_parameter_exception.g.dart | 0 .../model/invalid_sequence_token_exception.dart | 0 .../model/invalid_sequence_token_exception.g.dart | 0 .../model/put_log_events_request.dart | 0 .../model/put_log_events_request.g.dart | 0 .../model/put_log_events_response.dart | 0 .../model/put_log_events_response.g.dart | 0 .../model/rejected_log_events_info.dart | 0 .../model/rejected_log_events_info.g.dart | 0 .../model/resource_already_exists_exception.dart | 0 .../model/resource_already_exists_exception.g.dart | 0 .../model/resource_not_found_exception.dart | 0 .../model/resource_not_found_exception.g.dart | 0 .../model/service_unavailable_exception.dart | 0 .../model/service_unavailable_exception.g.dart | 0 .../model/unrecognized_client_exception.dart | 0 .../model/unrecognized_client_exception.g.dart | 0 .../operation/create_log_stream_operation.dart | 0 .../operation/put_log_events_operation.dart | 0 .../aws_logging_cloudwatch/pubspec.yaml | 0 .../aws_logging_cloudwatch/sdk.yaml | 0 .../test/aws_logging_cloudwatch_test.dart | 0 50 files changed, 0 insertions(+), 0 deletions(-) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/.gitignore (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/CHANGELOG.md (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/LICENSE (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/README.md (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/analysis_options.yaml (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/.gitignore (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/LICENSE (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/README.md (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/analysis_options.yaml (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/bin/main.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/pubspec.yaml (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/web/favicon-180x180.png (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/web/favicon.png (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/web/index.html (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/web/main.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/example/web/styles.css (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/pubspec.yaml (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/sdk.yaml (100%) rename packages/{ => logging_cloudwatch}/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart (100%) diff --git a/packages/aws_logging_cloudwatch/.gitignore b/packages/logging_cloudwatch/aws_logging_cloudwatch/.gitignore similarity index 100% rename from packages/aws_logging_cloudwatch/.gitignore rename to packages/logging_cloudwatch/aws_logging_cloudwatch/.gitignore diff --git a/packages/aws_logging_cloudwatch/CHANGELOG.md b/packages/logging_cloudwatch/aws_logging_cloudwatch/CHANGELOG.md similarity index 100% rename from packages/aws_logging_cloudwatch/CHANGELOG.md rename to packages/logging_cloudwatch/aws_logging_cloudwatch/CHANGELOG.md diff --git a/packages/aws_logging_cloudwatch/LICENSE b/packages/logging_cloudwatch/aws_logging_cloudwatch/LICENSE similarity index 100% rename from packages/aws_logging_cloudwatch/LICENSE rename to packages/logging_cloudwatch/aws_logging_cloudwatch/LICENSE diff --git a/packages/aws_logging_cloudwatch/README.md b/packages/logging_cloudwatch/aws_logging_cloudwatch/README.md similarity index 100% rename from packages/aws_logging_cloudwatch/README.md rename to packages/logging_cloudwatch/aws_logging_cloudwatch/README.md diff --git a/packages/aws_logging_cloudwatch/analysis_options.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml similarity index 100% rename from packages/aws_logging_cloudwatch/analysis_options.yaml rename to packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml diff --git a/packages/aws_logging_cloudwatch/example/.gitignore b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/.gitignore similarity index 100% rename from packages/aws_logging_cloudwatch/example/.gitignore rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/.gitignore diff --git a/packages/aws_logging_cloudwatch/example/LICENSE b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/LICENSE similarity index 100% rename from packages/aws_logging_cloudwatch/example/LICENSE rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/LICENSE diff --git a/packages/aws_logging_cloudwatch/example/README.md b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/README.md similarity index 100% rename from packages/aws_logging_cloudwatch/example/README.md rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/README.md diff --git a/packages/aws_logging_cloudwatch/example/analysis_options.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/analysis_options.yaml similarity index 100% rename from packages/aws_logging_cloudwatch/example/analysis_options.yaml rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/analysis_options.yaml diff --git a/packages/aws_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart similarity index 100% rename from packages/aws_logging_cloudwatch/example/bin/main.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart diff --git a/packages/aws_logging_cloudwatch/example/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/pubspec.yaml similarity index 100% rename from packages/aws_logging_cloudwatch/example/pubspec.yaml rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/pubspec.yaml diff --git a/packages/aws_logging_cloudwatch/example/web/favicon-180x180.png b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/favicon-180x180.png similarity index 100% rename from packages/aws_logging_cloudwatch/example/web/favicon-180x180.png rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/favicon-180x180.png diff --git a/packages/aws_logging_cloudwatch/example/web/favicon.png b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/favicon.png similarity index 100% rename from packages/aws_logging_cloudwatch/example/web/favicon.png rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/favicon.png diff --git a/packages/aws_logging_cloudwatch/example/web/index.html b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/index.html similarity index 100% rename from packages/aws_logging_cloudwatch/example/web/index.html rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/index.html diff --git a/packages/aws_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart similarity index 100% rename from packages/aws_logging_cloudwatch/example/web/main.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart diff --git a/packages/aws_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css similarity index 100% rename from packages/aws_logging_cloudwatch/example/web/styles.css rename to packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css diff --git a/packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/cloud_watch_logs.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/cloud_watch_logs_client.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/endpoint_resolver.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/common/serializers.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/data_already_accepted_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/input_log_event.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_parameter_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/invalid_sequence_token_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_request.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/put_log_events_response.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/rejected_log_events_info.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_already_exists_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/resource_not_found_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/service_unavailable_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/model/unrecognized_client_exception.g.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/create_log_stream_operation.dart diff --git a/packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart similarity index 100% rename from packages/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/sdk/src/cloud_watch_logs/operation/put_log_events_operation.dart diff --git a/packages/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml similarity index 100% rename from packages/aws_logging_cloudwatch/pubspec.yaml rename to packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml diff --git a/packages/aws_logging_cloudwatch/sdk.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/sdk.yaml similarity index 100% rename from packages/aws_logging_cloudwatch/sdk.yaml rename to packages/logging_cloudwatch/aws_logging_cloudwatch/sdk.yaml diff --git a/packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart similarity index 100% rename from packages/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart rename to packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart From 0557d4cfb3a61893f0a2b638c10d5c2d1b1f6ff9 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Wed, 16 Aug 2023 16:03:21 -0700 Subject: [PATCH 04/43] feat(logging): add queued item store (#3564) * feat(logging): add queued item store * chore(logging): add github workflows --- .github/dependabot.yaml | 31 +++ .github/workflows/aws_logging_cloudwatch.yaml | 62 ++++++ .../analysis_options.yaml | 5 + .../example/bin/main.dart | 3 + .../example/web/main.dart | 3 + .../example/web/styles.css | 5 + .../lib/aws_logging_cloudwatch.dart | 3 + .../in_memory_queued_item_store.dart | 59 ++++++ .../queued_item_store/queued_item_store.dart | 49 +++++ .../test/aws_logging_cloudwatch_test.dart | 3 + .../queued_item_store_test.dart | 194 ++++++++++++++++++ 11 files changed, 417 insertions(+) create mode 100644 .github/workflows/aws_logging_cloudwatch.yaml create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 645eb709cd..4e377d25e7 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1784,6 +1784,37 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/aws_logging_cloudwatch/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/notifications/push/amplify_push_notifications" schedule: diff --git a/.github/workflows/aws_logging_cloudwatch.yaml b/.github/workflows/aws_logging_cloudwatch.yaml new file mode 100644 index 0000000000..901c6c12fd --- /dev/null +++ b/.github/workflows/aws_logging_cloudwatch.yaml @@ -0,0 +1,62 @@ +# Generated with aft. To update, run: `aft generate workflows` +name: aws_logging_cloudwatch +on: + push: + branches: + - main + - stable + pull_request: + paths: + - '.github/composite_actions/setup_firefox/action.yaml' + - '.github/workflows/aws_logging_cloudwatch.yaml' + - '.github/workflows/dart_dart2js.yaml' + - '.github/workflows/dart_ddc.yaml' + - '.github/workflows/dart_native.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/**/*.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/test/**/*' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + schedule: + - cron: "0 0 * * 0" # Every Sunday at 00:00 +defaults: + run: + shell: bash +permissions: read-all + +jobs: + test: + uses: ./.github/workflows/dart_vm.yaml + with: + package-name: aws_logging_cloudwatch + working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch + native_test: + needs: test + uses: ./.github/workflows/dart_native.yaml + with: + package-name: aws_logging_cloudwatch + working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch + ddc_test: + needs: test + uses: ./.github/workflows/dart_ddc.yaml + with: + package-name: aws_logging_cloudwatch + working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch + dart2js_test: + needs: test + uses: ./.github/workflows/dart_dart2js.yaml + with: + package-name: aws_logging_cloudwatch + working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml index 7f605f74d4..e9d8f0fda5 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/analysis_options.yaml @@ -1 +1,6 @@ include: package:amplify_lints/library.yaml + +analyzer: + exclude: + - '**/*.g.dart' + - lib/src/sdk/src/** diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart index ab73b3a234..912c73e828 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/bin/main.dart @@ -1 +1,4 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + void main() {} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart index 87a3d61bde..b51d241696 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/main.dart @@ -1,3 +1,6 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + import 'dart:html'; void main() { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css index cc035c95c9..12e5663071 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/example/web/styles.css @@ -1,3 +1,8 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + @import url(https://fonts.googleapis.com/css?family=Roboto); html, body { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart index b2ae27bf74..1a36fb5196 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -1,2 +1,5 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + /// aws_logging_cloudwatch library aws_logging_cloudwatch; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart new file mode 100644 index 0000000000..a335d5a9c9 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart @@ -0,0 +1,59 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:collection'; + +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; + +/// {@template aws_logging_cloudwatch.in_memory_queued_item_store} +/// Stores string elements in device memory. +/// {@endtemplate} +class InMemoryQueuedItemStore implements QueuedItemStore { + /// {@macro aws_logging_cloudwatch.in_memory_queued_item_store} + InMemoryQueuedItemStore(); + + /// The next ID that should be used when adding an item in the DB. + int _nextId = 0; + final LinkedHashMap _database = + LinkedHashMap(); + + @override + void addItem(String string, String timestamp) { + _database[_nextId] = QueuedItem( + id: _nextId, + value: string, + timestamp: timestamp, + ); + _nextId++; + } + + @override + Iterable getCount(int count) { + return _database.values.take(count).toList(); + } + + @override + void deleteItems(Iterable items) { + for (final item in items) { + _database.remove(item.id); + } + } + + @override + void clear() { + _database.clear(); + } + + @override + void close() {} + + @override + Iterable getAll() { + return _database.values.toList(); + } + + @override + bool isFull(int maxSizeInMB) { + throw UnimplementedError(); + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart new file mode 100644 index 0000000000..8c189b73f1 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -0,0 +1,49 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +/// Database for storing strings. +abstract interface class QueuedItemStore { + /// Insert an item to the end of the queue. + FutureOr addItem(String string, String timestamp); + + /// Get the first [count] items from the queue. + FutureOr> getCount(int count); + + /// Delete [items] from the store. + FutureOr deleteItems(Iterable items); + + /// Get all items from the queue. + FutureOr> getAll(); + + /// Whether the queue size is reached [maxSizeInMB]. + FutureOr isFull(int maxSizeInMB); + + /// Clear the queue of items. + FutureOr clear(); + + /// Closes this store and release resources. + FutureOr close(); +} + +/// {@template aws_logging_cloudwatch.string_database_element} +/// An item stored in the [QueuedItemStore]. +/// {@endtemplate} +class QueuedItem { + /// {@macro aws_logging_cloudwatch.string_database_element} + const QueuedItem({ + required this.id, + required this.value, + required this.timestamp, + }); + + /// The ID in the item. + final int id; + + /// The value of the item. + final String value; + + /// The timestamp of the item. + final String timestamp; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart index 250712214f..99d6eeb3e9 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/aws_logging_cloudwatch_test.dart @@ -1,3 +1,6 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + import 'package:test/test.dart'; void main() { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart new file mode 100644 index 0000000000..a2ccab9746 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -0,0 +1,194 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:test/test.dart'; + +void main() { + late QueuedItemStore db; + + group('InMemoryQueuedItemStore ', () { + setUpAll(() { + db = InMemoryQueuedItemStore(); + }); + + tearDownAll(() async { + await db.clear(); + }); + + setUp(() async { + await db.clear(); + }); + + Future> getAll() async { + return db.getCount(100); + } + + test('writes values to storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(values.length); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values)); + }); + + test('returns first n items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(3); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values.sublist(0, 3))); + }); + + test( + 'returns all stored items when get request size exceeds stored item count', + () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(100); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('deletes all items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await getAll()); + + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test('deletes first subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await db.getCount(3)); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(3)); + }); + + test('deletes middle subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(3, 7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '1', '2', '7', '8', '9']); + }); + + test('deletes last subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 7)); + }); + + test('deletes first, middle, and last subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['0', '1', '4', '5', '8', '9']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['2', '3', '6', '7']); + }); + + test('deletes inner left and right subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['1', '2', '4', '5', '7', '8']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '3', '6', '9']); + }); + + test('deletes the first stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(0, 1); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(1)); + }); + + test('deletes the last stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(9); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 9)); + }); + + test('throws no error when deleting all items twice', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + var readValues = await getAll(); + + await db.deleteItems(readValues); + await db.deleteItems(readValues); + + readValues = await getAll(); + + expect(readValues, isEmpty); + }); + }); +} From 7e677f928d432619eaf4c7cec0ea18003fd0ec77 Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Wed, 16 Aug 2023 16:27:39 -0700 Subject: [PATCH 05/43] feat(logging): add cloudwatch logger plugin --- .../lib/aws_logging_cloudwatch.dart | 5 + .../lib/src/cloudwatch_logger_plugin.dart | 316 ++++++++++++++++++ .../lib/src/log_stream_provider.dart | 64 ++++ .../lib/src/plugin_config.dart | 59 ++++ .../lib/src/remote_constraint_provider.dart | 56 ++++ .../lib/src/stoppable_timer.dart | 40 +++ .../aws_logging_cloudwatch/pubspec.yaml | 2 + .../test/cloudwatch_logger_plugin_test.dart | 92 +++++ .../cloudwatch_logger_plugin_test.mocks.dart | 188 +++++++++++ 9 files changed, 822 insertions(+) create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart index 1a36fb5196..f022c0abf2 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -3,3 +3,8 @@ /// aws_logging_cloudwatch library aws_logging_cloudwatch; + +export 'src/cloudwatch_logger_plugin.dart'; +export 'src/log_stream_provider.dart'; +export 'src/plugin_config.dart'; +export 'src/remote_constraint_provider.dart'; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart new file mode 100644 index 0000000000..89b49d3e95 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -0,0 +1,316 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; +import 'dart:math'; + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; +import 'package:aws_logging_cloudwatch/src/stoppable_timer.dart'; +import 'package:fixnum/fixnum.dart'; +import 'package:meta/meta.dart'; + +// https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html + +// The batch of events must satisfy the following constraints: + +// The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event. + +// None of the log events in the batch can be more than 2 hours in the future. + +// None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group. + +// The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.) + +// A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. + +// Each log event can be no larger than 256 KB. + +// The maximum number of log events in a batch is 10,000. + +const int _maxNumberOfLogEventsInBatch = 10000; +const int _maxLogEventsTimeSpanInBatch = 24 * 3600; +const int _maxLogEventsBatchSize = 1048576; +const int _baseBufferSize = 26; +const int _maxLogEventSize = 256000; + +typedef _LogBatch = (List logQueues, List logEvents); + +/// {@template aws_logging_cloudwatch.cloudwatch_logger_plugin} +/// An [AWSLoggerPlugin] for sending logs to AWS CloudWatch Logs. +/// {@endtemplate} +class CloudWatchLoggerPlugin extends AWSLoggerPlugin + with AWSDebuggable, AWSLoggerMixin { + /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} + factory CloudWatchLoggerPlugin({ + required AWSCredentialsProvider credentialsProvider, + required CloudWatchLoggerPluginConfiguration pluginConfig, + RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, + CloudWatchLogStreamProvider? logStreamProvider, + }) { + return CloudWatchLoggerPlugin._( + credentialsProvider: credentialsProvider, + pluginConfig: pluginConfig, + remoteLoggingConstraintProvider: remoteLoggingConstraintProvider, + logStreamProvider: logStreamProvider, + logStore: InMemoryQueuedItemStore(), + ); + } + + /// An [AWSLoggerPlugin] to use only for testing. + @protected + @visibleForTesting + CloudWatchLoggerPlugin.testPlugin({ + required CloudWatchLogsClient client, + required CloudWatchLoggerPluginConfiguration pluginConfig, + required CloudWatchLogStreamProvider logStreamProvider, + required QueuedItemStore logStore, + RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, + }) : _enabled = pluginConfig.enable, + _pluginConfig = pluginConfig, + _logStore = logStore, + _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider, + _logStreamProvider = logStreamProvider, + _client = client; + + CloudWatchLoggerPlugin._({ + required AWSCredentialsProvider credentialsProvider, + required CloudWatchLoggerPluginConfiguration pluginConfig, + RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, + CloudWatchLogStreamProvider? logStreamProvider, + QueuedItemStore? logStore, + }) : _enabled = pluginConfig.enable, + _pluginConfig = pluginConfig, + _logStore = logStore ?? InMemoryQueuedItemStore(), + _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider ?? + (pluginConfig.defaultRemoteConfiguration != null + ? DefaultRemoteLoggingConstraintProvider( + config: pluginConfig.defaultRemoteConfiguration!, + credentialsProvider: credentialsProvider, + ) + : null), + _client = CloudWatchLogsClient( + region: pluginConfig.region, + credentialsProvider: credentialsProvider, + ), + _logStreamProvider = logStreamProvider ?? + DefaultCloudWatchLogStreamProvider( + logGroupName: pluginConfig.logGroupName, + client: CloudWatchLogsClient( + region: pluginConfig.region, + credentialsProvider: credentialsProvider, + ), + ) { + _timer = pluginConfig.flushIntervalInSeconds > Duration.zero + ? StoppableTimer( + duration: pluginConfig.flushIntervalInSeconds, + callback: _startSyncingIfNotInProgress, + onError: _onTimerError, + ) + : null; + if (!pluginConfig.enable) { + _timer?.stop(); + } + } + + final CloudWatchLoggerPluginConfiguration _pluginConfig; + final CloudWatchLogsClient _client; + final CloudWatchLogStreamProvider _logStreamProvider; + final QueuedItemStore _logStore; + bool _syncing = false; + bool _enabled; + StoppableTimer? _timer; + RemoteLoggingConstraintProvider? _remoteLoggingConstraintProvider; + + set remoteLoggingConstraintProvider( + RemoteLoggingConstraintProvider remoteProvider, + ) { + if (_remoteLoggingConstraintProvider != null) { + throw StateError( + 'remoteLoggingConstraintProvider is already configured.', + ); + } + _remoteLoggingConstraintProvider = remoteProvider; + } + + Future _startSyncingIfNotInProgress() async { + Future startSyncing() async { + String logStream; + try { + logStream = await _logStreamProvider.logStream; + } on Exception catch (e) { + if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { + await _logStore.clear(); + logger.warn( + 'Reached local store max size of: ' + '${_pluginConfig.localStoreMaxSizeInMB}.Hence logs are deleted from ' + 'local store.', + ); + } + logger.error('Failed to create CloudWatch log stream', e); + return; + } + + final batcheStream = _getLogBatchesToSync(); + await for (final (logs, events) in batcheStream) { + try { + final response = await _sendToCloudWatch(events, logStream); + if (response.rejectedLogEventsInfo?.tooNewLogEventStartIndex != + null) { + break; + } + await _logStore.deleteItems(logs); + } on Exception catch (e) { + if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { + await _logStore.deleteItems(logs); + logger.warn( + 'Reached local store max size of: ' + '${_pluginConfig.localStoreMaxSizeInMB}.Hence logs are deleted ' + 'from local store.', + ); + } + logger.error('Failed to sync batched logs to CloudWatch', e); + } + } + } + + if (!_syncing) { + _syncing = true; + try { + await startSyncing(); + } on Exception catch (e) { + logger.error('Failed to sync logs to CloudWatch.', e); + } finally { + _syncing = false; + } + } + } + + void _onTimerError(Object e) { + logger.error('Failed to sync logs to CloudWatch.', e); + } + + LoggingConstraint _getLoggingConstraint() { + final result = _remoteLoggingConstraintProvider?.loggingConstraint; + return result ?? _pluginConfig.localLoggingConstraint; + } + + Future _sendToCloudWatch( + List logEvents, + String logStreamName, + ) async { + final request = PutLogEventsRequest( + logGroupName: _pluginConfig.logGroupName, + logStreamName: logStreamName, + logEvents: logEvents, + ); + return _client.putLogEvents(request).result; + } + + Stream<_LogBatch> _getLogBatchesToSync() async* { + final queuedLogs = (await _logStore.getAll()).toList(); + if (queuedLogs.isEmpty) { + yield ([], []); + } + final logEvents = []; + final logQueues = []; + var totalByteSize = 0; + + for (final currentLog in queuedLogs) { + final currentLogEvent = currentLog.toInputLogEvent(); + final size = currentLogEvent.message.length + _baseBufferSize; + if (totalByteSize + size >= _maxLogEventsBatchSize || + logEvents.length >= _maxNumberOfLogEventsInBatch || + (logEvents.length > 1 && + currentLogEvent.timestamp - logEvents.first.timestamp >= + _maxLogEventsTimeSpanInBatch)) { + yield (logQueues, logEvents); + totalByteSize = 0; + logEvents.clear(); + logQueues.clear(); + } + totalByteSize += size; + logEvents.add(currentLogEvent); + logQueues.add(currentLog); + } + yield (logQueues, logEvents); + } + + /// Whether a [logEntry] should be logged by this plugin. + Future _isLoggable(LogEntry logEntry) async { + if (!_enabled) { + return false; + } + final loggingConstraint = _getLoggingConstraint(); + return logEntry.level >= loggingConstraint.defaultLogLevel; + } + + @override + Future handleLogEntry(LogEntry logEntry) async { + if (!(await _isLoggable(logEntry))) { + return; + } + final item = logEntry.toQueuedItem(); + await _logStore.addItem( + item.value, + item.timestamp, + ); + if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { + await _startSyncingIfNotInProgress(); + } + } + + /// Enables the plugin. + void enable() { + if (!_enabled) { + _enabled = true; + _timer?.start(); + } + } + + /// Disables the plugin. + /// + /// It deletes cached logs from local store and stops sending logs to + /// CloudWatch. + /// + /// To send cached logs to CloudWatch call `flushLogs()` before calling + /// `disable()`. + Future disable() async { + _enabled = false; + _timer?.stop(); + await _logStore.clear(); + } + + /// Sends logs on-demand to CloudWatch. + Future flushLogs() async { + await _startSyncingIfNotInProgress(); + } + + @override + String get runtimeTypeName => 'CloudWatchLoggerPlugin'; +} + +extension on QueuedItem { + InputLogEvent toInputLogEvent() { + // message is truncated to satisfy the max size of `_maxLogEventSize` with + // 8 byte reserved for the `timestamp`. + + final end = min(value.length, _maxLogEventSize - 8); + return InputLogEvent( + message: value.substring(0, end), + timestamp: Int64(DateTime.parse(timestamp).millisecondsSinceEpoch), + ); + } +} + +extension on LogEntry { + ({String value, String timestamp}) toQueuedItem() { + return ( + value: '${level.name.toUpperCase()}/$loggerName: $message', + timestamp: time.toUtc().toIso8601String() + ); + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart new file mode 100644 index 0000000000..7688dff6d8 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart @@ -0,0 +1,64 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; +import 'package:intl/intl.dart'; + +/// {@template aws_logging_cloudwatch.cloudwatch_logstream_provider} +/// An interface to provide custom implementation for +/// [CloudWatchLogStreamProvider] +/// {@endtemplate} +abstract class CloudWatchLogStreamProvider { + /// Returns CloudWatch log stream name to use for sending logs to CloudWatch. + /// + /// It creates the log stream if it does not exists. + Future get logStream; +} + +/// {@template aws_logging_cloudwatch.default_cloudwatch_logstream_provider} +/// The default implementaion of [CloudWatchLogStreamProvider]. +/// +/// It uses `logStreamName` if provided otherwise uses `yyyy-MM-dd` date format +/// of UTC time now for the `logStreamName`. +/// {@endtemplate} +class DefaultCloudWatchLogStreamProvider + implements CloudWatchLogStreamProvider { + /// {@macro aws_logging_cloudwatch.default_cloudwatch_logstream_provider} + DefaultCloudWatchLogStreamProvider({ + required CloudWatchLogsClient client, + required String logGroupName, + String? logStreamName, + }) : _logStreamName = logStreamName, + _logGroupName = logGroupName, + _client = client; + + final String? _logStreamName; + final String _logGroupName; + final CloudWatchLogsClient _client; + static final DateFormat _dateFormat = DateFormat('yyyy-MM-dd'); + + /// Creates CloudWatch log stream if does not exists and returns + /// the log stream name. + /// + /// Throws an [Exception] if fails to create the log stream. + @override + Future get logStream async { + final logStreamName = + _logStreamName ?? _dateFormat.format(DateTime.timestamp()); + try { + await _client + .createLogStream( + CreateLogStreamRequest( + logGroupName: _logGroupName, + logStreamName: logStreamName, + ), + ) + .result; + } on ResourceAlreadyExistsException { + return logStreamName; + } on Exception { + rethrow; + } + return logStreamName; + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart new file mode 100644 index 0000000000..9fd10d18d0 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart @@ -0,0 +1,59 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; + +/// {@template aws_logging_cloudwatch.cloudwatch_logger_plugin_configuration} +/// The configuration for `CloudWatchLoggerPlugin`. +/// {@endtemplate} +class CloudWatchLoggerPluginConfiguration with AWSDebuggable { + /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin_configuration} + const CloudWatchLoggerPluginConfiguration({ + required this.logGroupName, + required this.region, + required this.localLoggingConstraint, + this.enable = true, + this.localStoreMaxSizeInMB = 5, + this.flushIntervalInSeconds = const Duration(seconds: 60), + this.defaultRemoteConfiguration, + }); + + /// Whether the plugin is enabled. + final bool enable; + + /// The log group name to use for sending logs to CloudWatch. + final String logGroupName; + + /// The region to use for sending logs to CloudWatch. + final String region; + + /// The max size of the local store in MB to be used for storing logs locally. + final int localStoreMaxSizeInMB; + + /// The duration in seconds for sending locally stored logs to CloudWatch. + final Duration flushIntervalInSeconds; + + /// {@macro aws_logging_cloudwatch.logging_constraint} + final LoggingConstraint localLoggingConstraint; + + /// {@macro aws_logging_cloudwatch.default_remote_configuration} + final DefaultRemoteConfiguration? defaultRemoteConfiguration; + + @override + String get runtimeTypeName => 'CloudWatchLoggerPluginConfiguration'; +} + +/// {@template aws_logging_cloudwatch.logging_constraint} +/// The logging constraint for sending logs to CloudWatch. +/// {@endtemplate} +class LoggingConstraint with AWSDebuggable { + /// {@macro aws_logging_cloudwatch.logging_constraint} + const LoggingConstraint({this.defaultLogLevel = LogLevel.error}); + + /// The default [LogLevel] for sending logs to CloudWatch. + final LogLevel defaultLogLevel; + + @override + String get runtimeTypeName => 'LoggingConstraint'; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart new file mode 100644 index 0000000000..7a8a36332f --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart @@ -0,0 +1,56 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +// TODO(nikahsn): remove after implementing the get loggingConstraint. +// ignore_for_file: unused_field + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; + +/// {@template aws_logging_cloudwatch.remote_logging_constraint_provider} +/// An Interface to provide custom implementation for +/// [RemoteLoggingConstraintProvider] +/// It gets the [LoggingConstraint] from a remote location and cache it. +/// {@endtemplate} +abstract class RemoteLoggingConstraintProvider { + /// Returns logging constraint from cache or `null` if cache is missing. + LoggingConstraint? get loggingConstraint; +} + +/// {@template aws_logging_cloudwatch.default_remote_logging_constraint_provider} +/// Default implementation of [RemoteLoggingConstraintProvider] to fetch +/// [LoggingConstraint] from an http endpoint periodically. +/// {@endtemplate} +class DefaultRemoteLoggingConstraintProvider + implements RemoteLoggingConstraintProvider { + /// {@macro aws_logging_cloudwatch.default_remote_logging_constraint_provider} + DefaultRemoteLoggingConstraintProvider({ + required DefaultRemoteConfiguration config, + required AWSCredentialsProvider credentialsProvider, + }) : _config = config, + _credentialsProvider = credentialsProvider; + + final DefaultRemoteConfiguration _config; + final AWSCredentialsProvider _credentialsProvider; + + @override + // TODO(nikahsn): add implementation. + LoggingConstraint get loggingConstraint => throw UnimplementedError(); +} + +/// {@template aws_logging_cloudwatch.default_remote_configuration} +/// The configuration for [DefaultRemoteLoggingConstraintProvider] +/// {@endtemplate} +class DefaultRemoteConfiguration { + /// {@macro aws_logging_cloudwatch.default_remote_configuration} + const DefaultRemoteConfiguration({ + required this.endpoint, + this.refreshIntervalInSeconds = const Duration(seconds: 1200), + }); + + /// The endpoint to fetch the `loggingConstraint`. + final String endpoint; + + /// The referesh interval in seconds to fetch the `loggingConstraint`. + final Duration refreshIntervalInSeconds; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart new file mode 100644 index 0000000000..d889001116 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart @@ -0,0 +1,40 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +/// {@template aws_logging_cloudwatch.stoppable_timer} +/// A Timer that can be stopped and started again. +/// +/// The `callback` function is invoked repeatedly with [duration] intervals +/// until stopped with the [stop] function. +/// {@endtemplate} +class StoppableTimer { + /// {@macro aws_logging_cloudwatch.stoppable_timer} + StoppableTimer({ + required this.duration, + required Future Function() callback, + required void Function(Object) onError, + }) : _callback = callback, + _timer = Timer.periodic(duration, (Timer t) { + callback().catchError((Object e) { + onError(e); + }); + }); + Timer _timer; + + /// [Duration] between invocations of the provided callback function. + final Duration duration; + final void Function() _callback; + + /// Start the timer. + void start() { + if (_timer.isActive) return; + _timer = Timer.periodic(duration, (Timer t) => _callback()); + } + + /// Stop the timer. + void stop() { + _timer.cancel(); + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml index 5b8a364793..bf2a7a7454 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml @@ -15,6 +15,7 @@ dependencies: built_collection: ^5.1.1 built_value: ">=8.6.0 <8.7.0" fixnum: ^1.1.0 + intl: ">=0.18.0 <1.0.0" meta: ^1.9.1 smithy: ^0.5.0+3 smithy_aws: ^0.5.0+3 @@ -26,4 +27,5 @@ dev_dependencies: build_web_compilers: ^4.0.0 built_value_generator: 8.6.1 json_serializable: 6.7.0 + mockito: ^5.0.0 test: ^1.22.1 diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart new file mode 100644 index 0000000000..9eae9dad7f --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -0,0 +1,92 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; +import 'package:test/test.dart'; + +import 'cloudwatch_logger_plugin_test.mocks.dart'; + +@GenerateMocks( + [ + CloudWatchLogsClient, + QueuedItemStore, + CloudWatchLogStreamProvider, + RemoteLoggingConstraintProvider, + ], +) +void main() { + final mockCloudWatchLogsClient = MockCloudWatchLogsClient(); + final mockQueuedItemStore = MockQueuedItemStore(); + final mockCloudWatchLogStreamProvider = MockCloudWatchLogStreamProvider(); + const loggingConstraint = LoggingConstraint(); + const pluginConfig = CloudWatchLoggerPluginConfiguration( + logGroupName: 'logGroupName', + region: 'region', + localLoggingConstraint: loggingConstraint, + enable: false, + ); + final plugin = CloudWatchLoggerPlugin.testPlugin( + client: mockCloudWatchLogsClient, + pluginConfig: pluginConfig, + logStore: mockQueuedItemStore, + logStreamProvider: mockCloudWatchLogStreamProvider, + ); + final errorLog = LogEntry( + level: LogLevel.error, + message: 'error message', + loggerName: 'loggerName', + ); + + final warnLog = LogEntry( + level: LogLevel.warn, + message: 'warning message', + loggerName: 'loggerName', + ); + + group('enable/disable', () { + test('when enabled, logs are added to the item store', () { + when(mockQueuedItemStore.addItem(any, any)).thenAnswer((_) async => {}); + when(mockQueuedItemStore.isFull(any)) + .thenAnswer((_) async => Future.value(false)); + expect( + () { + plugin + ..enable() + ..handleLogEntry(errorLog); + }, + returnsNormally, + ); + }); + + test('when enabled,logs are not added to the log store if not loggable', + () { + expect( + () { + plugin + ..enable() + ..handleLogEntry(warnLog); + }, + returnsNormally, + ); + }); + + test( + 'when disabled, logs are cleared from item store and new logs will not' + ' be added to the local store', () { + when(mockQueuedItemStore.clear()).thenAnswer((_) => Future.value()); + expect( + () { + plugin + ..disable() + ..handleLogEntry(errorLog); + }, + returnsNormally, + ); + }); + }); +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart new file mode 100644 index 0000000000..91d06ea3ca --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart @@ -0,0 +1,188 @@ +// Mocks generated by Mockito 5.4.2 from annotations +// in aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i9; + +import 'package:aws_common/aws_common.dart' as _i5; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart' as _i10; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart' + as _i8; +import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart' as _i3; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart' + as _i4; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart' + as _i7; +import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart' + as _i6; +import 'package:mockito/mockito.dart' as _i1; +import 'package:smithy/smithy.dart' as _i2; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeSmithyOperation_0 extends _i1.SmartFake + implements _i2.SmithyOperation { + _FakeSmithyOperation_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [CloudWatchLogsClient]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockCloudWatchLogsClient extends _i1.Mock + implements _i3.CloudWatchLogsClient { + MockCloudWatchLogsClient() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.SmithyOperation createLogStream( + _i4.CreateLogStreamRequest? input, { + _i5.AWSHttpClient? client, + _i5.AWSCredentialsProvider? credentialsProvider, + }) => + (super.noSuchMethod( + Invocation.method( + #createLogStream, + [input], + { + #client: client, + #credentialsProvider: credentialsProvider, + }, + ), + returnValue: _FakeSmithyOperation_0( + this, + Invocation.method( + #createLogStream, + [input], + { + #client: client, + #credentialsProvider: credentialsProvider, + }, + ), + ), + ) as _i2.SmithyOperation); + @override + _i2.SmithyOperation<_i6.PutLogEventsResponse> putLogEvents( + _i7.PutLogEventsRequest? input, { + _i5.AWSHttpClient? client, + _i5.AWSCredentialsProvider? credentialsProvider, + }) => + (super.noSuchMethod( + Invocation.method( + #putLogEvents, + [input], + { + #client: client, + #credentialsProvider: credentialsProvider, + }, + ), + returnValue: _FakeSmithyOperation_0<_i6.PutLogEventsResponse>( + this, + Invocation.method( + #putLogEvents, + [input], + { + #client: client, + #credentialsProvider: credentialsProvider, + }, + ), + ), + ) as _i2.SmithyOperation<_i6.PutLogEventsResponse>); +} + +/// A class which mocks [QueuedItemStore]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockQueuedItemStore extends _i1.Mock implements _i8.QueuedItemStore { + MockQueuedItemStore() { + _i1.throwOnMissingStub(this); + } + + @override + _i9.FutureOr addItem( + String? string, + String? timestamp, + ) => + (super.noSuchMethod(Invocation.method( + #addItem, + [ + string, + timestamp, + ], + )) as _i9.FutureOr); + @override + _i9.FutureOr> getCount(int? count) => + (super.noSuchMethod( + Invocation.method( + #getCount, + [count], + ), + returnValue: + _i9.Future>.value(<_i8.QueuedItem>[]), + ) as _i9.FutureOr>); + @override + _i9.FutureOr deleteItems(Iterable<_i8.QueuedItem>? items) => + (super.noSuchMethod(Invocation.method( + #deleteItems, + [items], + )) as _i9.FutureOr); + @override + _i9.FutureOr> getAll() => (super.noSuchMethod( + Invocation.method( + #getAll, + [], + ), + returnValue: + _i9.Future>.value(<_i8.QueuedItem>[]), + ) as _i9.FutureOr>); + @override + _i9.FutureOr isFull(int? maxSizeInMB) => (super.noSuchMethod( + Invocation.method( + #isFull, + [maxSizeInMB], + ), + returnValue: _i9.Future.value(false), + ) as _i9.FutureOr); +} + +/// A class which mocks [CloudWatchLogStreamProvider]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockCloudWatchLogStreamProvider extends _i1.Mock + implements _i10.CloudWatchLogStreamProvider { + MockCloudWatchLogStreamProvider() { + _i1.throwOnMissingStub(this); + } + + @override + _i9.Future get logStream => (super.noSuchMethod( + Invocation.getter(#logStream), + returnValue: _i9.Future.value(''), + ) as _i9.Future); +} + +/// A class which mocks [RemoteLoggingConstraintProvider]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockRemoteLoggingConstraintProvider extends _i1.Mock + implements _i10.RemoteLoggingConstraintProvider { + MockRemoteLoggingConstraintProvider() { + _i1.throwOnMissingStub(this); + } +} From b9b67dda231b72ee6b703d677eace16e0b3db0c1 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Fri, 25 Aug 2023 14:33:46 -0700 Subject: [PATCH 06/43] chore(logging): Queued Store Item (#3582) * chore: used aft to create new amplify_logging_cloudwatch package under logging_cloudwatch package * feat(logging): add queued item store (#3564) * feat(logging): add queued item store * chore(logging): add github workflows * chore: used aft to create new amplify_logging_cloudwatch package under logging_cloudwatch package * feat(logging): add queued item store (#3564) * feat(logging): add queued item store * chore(logging): add github workflows * chore: moving queued item store to logging_cloudwatch * chore: updated web compiler version to fix build issue * chore: corrected the aws_logging_cloudwatch in pubspec to be the correct version * chore: fixed drift dependency in pubspec.yaml * chore: fixed getAll creating new timestamp and addItem not using timestamp argument * chore: refactored isFull method and supporting methods so that it doesn't call getAll everytime * chore(logging): removed commented code * chore(logging): changed comments on pubspec.yaml * Update packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore(logging): fixed error in example pubspec * chore(logging): removed flutter files * chore: added tests for the class * Update packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart Co-authored-by: NikaHsn * Update packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart Co-authored-by: NikaHsn * chore: added timestamp and ID into the addition and subtraction calculations * Update packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart Co-authored-by: NikaHsn * Update packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart Co-authored-by: NikaHsn * chore: added timestamp and id into addition and subtraction calculation for isFull * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart Co-authored-by: NikaHsn * chore: refactored isFull in indexed_db_adapter to match the implementation of drift * chore: generated aft workflows for new package * chore: updated template tags * chore: added test for isFull method * chore: refactored the clear method to only set totalbytesize to 0 after clear has happened rather than before * chore: removed unnecessary default test file * chore: fixed macro tags * chore: added matching unit tests to aws_logging_cloudwatch tests * chore: refactored addition and subtraction of currenttotalbytesize to reduce repeating code and hardcoded timestamp size * chore: switched to using string.length method rather than utf8.encode * chore: changed the isFull test, in memory isFull implementation has a helper function now, reverted back to original test file to be able to test indexed db * chore: added docs for helper function * chore: fixed test name * chore: updated docs to match implementation removing utf8 * chore: fixed name on templates and macros * chore: added timestamp.length calculation just in case there are different time stamps. adjusted docs to accomadate for the change * chore: added github workflows and correct dependencies in dependabot * chore: refactored byteSize of queuedItemStore to use DRY principles * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart Co-authored-by: NikaHsn * chore: fixed QueuedItem syntax * chore: test comment to trigger workflows * Revert "chore: test comment to trigger workflows" This reverts commit 8d1f7ebdc6807b1a914e5e4265d9c8bdf1f99e08. * chore: added static method to eliminate the need to create a new instance just to get byte size of a QueuedItem * chore: added public docs to the static method --------- Co-authored-by: NikaHsn Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> --- .github/dependabot.yaml | 27 ++ .../workflows/amplify_logging_cloudwatch.yaml | 66 +++++ .../amplify_logging_cloudwatch/.gitignore | 10 + .../amplify_logging_cloudwatch/CHANGELOG.md | 3 + .../amplify_logging_cloudwatch/LICENSE | 175 +++++++++++++ .../amplify_logging_cloudwatch/README.md | 1 + .../analysis_options.yaml | 1 + .../example/.gitignore | 9 + .../example/LICENSE | 175 +++++++++++++ .../example/README.md | 1 + .../example/analysis_options.yaml | 1 + .../example/bin/main.dart | 2 + .../example/pubspec.yaml | 13 + .../example/web/favicon-180x180.png | Bin 0 -> 11072 bytes .../example/web/favicon.png | Bin 0 -> 7900 bytes .../example/web/index.html | 21 ++ .../example/web/main.dart | 5 + .../example/web/styles.css | 14 ++ .../lib/amplify_logging_cloudwatch.dart | 2 + .../dart_queued_item_store.dart | 6 + .../dart_queued_item_store.stub.dart | 55 +++++ .../dart_queued_item_store.vm.dart | 62 +++++ .../dart_queued_item_store.web.dart | 71 ++++++ .../drift/drift_queued_item_store.dart | 120 +++++++++ .../drift/drift_queued_item_store.g.dart | 227 +++++++++++++++++ .../index_db/indexed_db_adapter.dart | 175 +++++++++++++ .../amplify_logging_cloudwatch/pubspec.yaml | 26 ++ .../test/queued_item_store_test.dart | 232 ++++++++++++++++++ .../in_memory_queued_item_store.dart | 10 +- .../queued_item_store/queued_item_store.dart | 13 +- .../queued_item_store_test.dart | 38 +++ 31 files changed, 1558 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/amplify_logging_cloudwatch.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 4e377d25e7..294e47eb5c 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1784,6 +1784,33 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "amplify_lints" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml new file mode 100644 index 0000000000..d89927c36c --- /dev/null +++ b/.github/workflows/amplify_logging_cloudwatch.yaml @@ -0,0 +1,66 @@ +# Generated with aft. To update, run: `aft generate workflows` +name: amplify_logging_cloudwatch +on: + push: + branches: + - main + - stable + pull_request: + paths: + - '.github/composite_actions/setup_firefox/action.yaml' + - '.github/workflows/amplify_logging_cloudwatch.yaml' + - '.github/workflows/dart_dart2js.yaml' + - '.github/workflows/dart_ddc.yaml' + - '.github/workflows/dart_native.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + schedule: + - cron: "0 0 * * 0" # Every Sunday at 00:00 +defaults: + run: + shell: bash +permissions: read-all + +jobs: + test: + uses: ./.github/workflows/dart_vm.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + native_test: + needs: test + uses: ./.github/workflows/dart_native.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + ddc_test: + needs: test + uses: ./.github/workflows/dart_ddc.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + dart2js_test: + needs: test + uses: ./.github/workflows/dart_dart2js.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore new file mode 100644 index 0000000000..65c34dc86e --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore @@ -0,0 +1,10 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build outputs. +build/ + +# Omit committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md new file mode 100644 index 0000000000..a0712a79e7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Initial version. diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md new file mode 100644 index 0000000000..945070b34b --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md @@ -0,0 +1 @@ +# amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml new file mode 100644 index 0000000000..7f605f74d4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/library.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore new file mode 100644 index 0000000000..f1d87ba3fd --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore @@ -0,0 +1,9 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build output. +build/ + +# Amplify +amplifyconfiguration.dart diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md new file mode 100644 index 0000000000..a79b5136a7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md @@ -0,0 +1 @@ +# amplify_logging_cloudwatch_example diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml new file mode 100644 index 0000000000..49f9f5a9a4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/app.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart new file mode 100644 index 0000000000..d02def190f --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart @@ -0,0 +1,2 @@ +// TODO(amplify_logging_cloudwatch): Write example +void main() {} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml new file mode 100644 index 0000000000..99323c4dd0 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml @@ -0,0 +1,13 @@ +name: amplify_logging_cloudwatch_example +description: An example app showcasing the amplify_logging_cloudwatch package. +version: 1.0.0 +publish_to: none +environment: + sdk: "^3.0.0" + +dependencies: + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.4.0 + build_web_compilers: ^4.0.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..abeda3c2d1c2b2bf5c63b2095d00f13578c1c8d3 GIT binary patch literal 11072 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 + + + + + + + + Amplify Logging Cloudwatch Example + + + + + + + + +
+ + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart new file mode 100644 index 0000000000..87a3d61bde --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart @@ -0,0 +1,5 @@ +import 'dart:html'; + +void main() { + querySelector('#output')?.text = 'Your Amplify app is running.'; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css new file mode 100644 index 0000000000..cc035c95c9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css @@ -0,0 +1,14 @@ +@import url(https://fonts.googleapis.com/css?family=Roboto); + +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-family: 'Roboto', sans-serif; +} + +#output { + padding: 20px; + text-align: center; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart new file mode 100644 index 0000000000..c309d9866d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart @@ -0,0 +1,2 @@ +/// amplify_logging_cloudwatch +library amplify_logging_cloudwatch; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart new file mode 100644 index 0000000000..716a6b83ea --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart @@ -0,0 +1,6 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +export 'dart_queued_item_store.stub.dart' + if (dart.library.html) 'dart_queued_item_store.web.dart' + if (dart.library.io) 'dart_queued_item_store.vm.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart new file mode 100644 index 0000000000..659be2c439 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart @@ -0,0 +1,55 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@template amplify_logging_cloudwatch.dart_queued_item_store} +/// Stores strings using IndexedDB for web and Drift for all other platforms. +/// {@endtemplate} +class DartQueuedItemStore implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} + // ignore: avoid_unused_constructor_parameters + DartQueuedItemStore(String? storagePath) { + throw UnimplementedError('constructor has not been implemented.'); + } + + @override + FutureOr> getCount(int count) { + throw UnimplementedError('getCount() has not been implemented.'); + } + + @override + FutureOr addItem(String string, String timestamp) { + throw UnimplementedError('addItem() has not been implemented.'); + } + + @override + FutureOr deleteItems(Iterable items) { + throw UnimplementedError('deleteItems() has not been implemented.'); + } + + @override + FutureOr close() async { + throw UnimplementedError('close() has not been implemented.'); + } + + @override + FutureOr isFull(int maxSizeInMB) { + throw UnimplementedError('isFull() has not been implemented.'); + } + + @override + FutureOr> getAll() { + throw UnimplementedError('getAll() has not been implemented.'); + } + + @override + @visibleForTesting + FutureOr clear() async { + throw UnimplementedError('clear() has not been implemented.'); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart new file mode 100644 index 0000000000..17de9554c1 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -0,0 +1,62 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/drift/drift_queued_item_store.dart'; +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} +class DartQueuedItemStore implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} + factory DartQueuedItemStore(String? storagePath) { + assert( + storagePath != null, + 'A storage path is required on VM for locating the DB', + ); + final database = DriftQueuedItemStore(storagePath!); + return DartQueuedItemStore._(database); + } + + DartQueuedItemStore._(this._database); + + final DriftQueuedItemStore _database; + + @override + Future addItem(String string, String timestamp) { + return _database.addItem(string, timestamp); + } + + @override + Future deleteItems(Iterable items) { + return _database.deleteItems(items); + } + + @override + Future> getCount(int count) { + return _database.getCount(count); + } + + @override + Future> getAll() { + return _database.getAll(); + } + + @override + Future isFull(int maxSizeInMB) { + return _database.isFull(maxSizeInMB); + } + + @override + @visibleForTesting + Future clear() async { + return _database.clear(); + } + + @override + Future close() async { + return _database.close(); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart new file mode 100644 index 0000000000..7f8b79f397 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -0,0 +1,71 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} +class DartQueuedItemStore + with AWSDebuggable, AWSLoggerMixin + implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.index_db_queued_item_store} + // ignore: avoid_unused_constructor_parameters + DartQueuedItemStore(String? storagePath); + + late final Future _database = () async { + if (await IndexedDbAdapter.checkIsIndexedDBSupported()) { + return IndexedDbAdapter(); + } + logger.warn( + 'IndexedDB is not available. ' + 'Falling back to in-memory storage.', + ); + return InMemoryQueuedItemStore(); + }(); + + @override + String get runtimeTypeName => 'DartQueuedItemStore'; + + @override + Future addItem(String string, String timestamp) async { + final db = await _database; + await db.addItem(string, timestamp); + } + + @override + Future deleteItems(Iterable items) async { + final db = await _database; + await db.deleteItems(items); + } + + @override + Future> getCount(int count) async { + final db = await _database; + return db.getCount(count); + } + + @override + Future> getAll() async { + final db = await _database; + return db.getAll(); + } + + @override + Future isFull(int maxSizeInMB) async { + final db = await _database; + return db.isFull(maxSizeInMB); + } + + /// Clear IndexedDB data. + @override + @visibleForTesting + Future clear() async { + final db = await _database; + return db.clear(); + } + + @override + void close() {} +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart new file mode 100644 index 0000000000..c4e35c683a --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -0,0 +1,120 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:amplify_db_common_dart/amplify_db_common_dart.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:drift/drift.dart'; + +part 'drift_queued_item_store.g.dart'; + +/// SQL schema of data stored in DriftDatabase. +class DriftQueuedItems extends Table { + /// Identifies object in the SQL database. + IntColumn get id => integer().autoIncrement()(); + + /// The string value stored for this object. + TextColumn get value => text()(); + + /// The timestamp of the item. + TextColumn get timestamp => text()(); +} + +/// {@template amplify_logging_cloudwatch.drift_queued_item_store} +/// Drift class for managing stored [DriftQueuedItems]. +/// {@endtemplate} +@DriftDatabase(tables: [DriftQueuedItems]) +class DriftQueuedItemStore extends _$DriftQueuedItemStore + implements QueuedItemStore { + /// {@macro amplify_logging_cloudwatch.drift_queued_item_store} + factory DriftQueuedItemStore(String storagePath) { + final driftQueryExecutor = connect( + name: 'logging_cached_logs', + path: storagePath, + ); + return DriftQueuedItemStore._(driftQueryExecutor); + } + + DriftQueuedItemStore._(super.driftQueryExecutor); + + // Reminder: Bump this number whenever you change or add a table definition. + @override + int get schemaVersion => 1; + int _currentTotalByteSize = 0; + + @override + MigrationStrategy get migration { + return MigrationStrategy( + onCreate: (Migrator m) async { + await m.createAll(); + }, + onUpgrade: (Migrator m, int from, int to) async { + // Note: From schemaVersion 1->2 we renamed DriftJsonStrings to DriftQueuedItems before the GA release + await m.createAll(); + }, + ); + } + + @override + Future addItem(String value, String timestamp) async { + await into(driftQueuedItems).insert( + DriftQueuedItemsCompanion( + value: Value(value), + timestamp: Value(timestamp), + ), + ); + _currentTotalByteSize += QueuedItem.getByteSize(value, timestamp); + } + + @override + Future> getCount(int count) async { + final statement = (select(driftQueuedItems) + ..orderBy([(v) => OrderingTerm.asc(v.id)]) + ..limit(count)); + + final retrievedItems = await statement.get(); + return retrievedItems.map( + (item) => QueuedItem( + id: item.id, + value: item.value, + timestamp: item.timestamp, + ), + ); + } + + @override + Future> getAll() async { + final retrievedItems = await select(driftQueuedItems).get(); + return retrievedItems.map( + (item) => QueuedItem( + id: item.id, + value: item.value, + timestamp: item.timestamp, + ), + ); + } + + @override + Future isFull(int maxSizeInMB) async { + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; + } + + @override + Future deleteItems(Iterable items) async { + final idsToDelete = items.map((item) => item.id); + final statement = delete(driftQueuedItems) + ..where((t) => t.id.isIn(idsToDelete)); + await statement.go(); + for (final item in items) { + _currentTotalByteSize -= item.byteSize; + } + } + + @override + Future clear() async { + await delete(driftQueuedItems).go(); + _currentTotalByteSize = 0; + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart new file mode 100644 index 0000000000..691a278bd9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart @@ -0,0 +1,227 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'drift_queued_item_store.dart'; + +// ignore_for_file: type=lint +class $DriftQueuedItemsTable extends DriftQueuedItems + with TableInfo<$DriftQueuedItemsTable, DriftQueuedItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $DriftQueuedItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _valueMeta = const VerificationMeta('value'); + @override + late final GeneratedColumn value = GeneratedColumn( + 'value', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _timestampMeta = + const VerificationMeta('timestamp'); + @override + late final GeneratedColumn timestamp = GeneratedColumn( + 'timestamp', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + @override + List get $columns => [id, value, timestamp]; + @override + String get aliasedName => _alias ?? 'drift_queued_items'; + @override + String get actualTableName => 'drift_queued_items'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('value')) { + context.handle( + _valueMeta, value.isAcceptableOrUnknown(data['value']!, _valueMeta)); + } else if (isInserting) { + context.missing(_valueMeta); + } + if (data.containsKey('timestamp')) { + context.handle(_timestampMeta, + timestamp.isAcceptableOrUnknown(data['timestamp']!, _timestampMeta)); + } else if (isInserting) { + context.missing(_timestampMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + DriftQueuedItem map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return DriftQueuedItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + value: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}value'])!, + timestamp: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}timestamp'])!, + ); + } + + @override + $DriftQueuedItemsTable createAlias(String alias) { + return $DriftQueuedItemsTable(attachedDatabase, alias); + } +} + +class DriftQueuedItem extends DataClass implements Insertable { + /// Identifies object in the SQL database. + final int id; + + /// The string value stored for this object. + final String value; + + /// The timestamp of the item. + final String timestamp; + const DriftQueuedItem( + {required this.id, required this.value, required this.timestamp}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['value'] = Variable(value); + map['timestamp'] = Variable(timestamp); + return map; + } + + DriftQueuedItemsCompanion toCompanion(bool nullToAbsent) { + return DriftQueuedItemsCompanion( + id: Value(id), + value: Value(value), + timestamp: Value(timestamp), + ); + } + + factory DriftQueuedItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return DriftQueuedItem( + id: serializer.fromJson(json['id']), + value: serializer.fromJson(json['value']), + timestamp: serializer.fromJson(json['timestamp']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'value': serializer.toJson(value), + 'timestamp': serializer.toJson(timestamp), + }; + } + + DriftQueuedItem copyWith({int? id, String? value, String? timestamp}) => + DriftQueuedItem( + id: id ?? this.id, + value: value ?? this.value, + timestamp: timestamp ?? this.timestamp, + ); + @override + String toString() { + return (StringBuffer('DriftQueuedItem(') + ..write('id: $id, ') + ..write('value: $value, ') + ..write('timestamp: $timestamp') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, value, timestamp); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is DriftQueuedItem && + other.id == this.id && + other.value == this.value && + other.timestamp == this.timestamp); +} + +class DriftQueuedItemsCompanion extends UpdateCompanion { + final Value id; + final Value value; + final Value timestamp; + const DriftQueuedItemsCompanion({ + this.id = const Value.absent(), + this.value = const Value.absent(), + this.timestamp = const Value.absent(), + }); + DriftQueuedItemsCompanion.insert({ + this.id = const Value.absent(), + required String value, + required String timestamp, + }) : value = Value(value), + timestamp = Value(timestamp); + static Insertable custom({ + Expression? id, + Expression? value, + Expression? timestamp, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (value != null) 'value': value, + if (timestamp != null) 'timestamp': timestamp, + }); + } + + DriftQueuedItemsCompanion copyWith( + {Value? id, Value? value, Value? timestamp}) { + return DriftQueuedItemsCompanion( + id: id ?? this.id, + value: value ?? this.value, + timestamp: timestamp ?? this.timestamp, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (value.present) { + map['value'] = Variable(value.value); + } + if (timestamp.present) { + map['timestamp'] = Variable(timestamp.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('DriftQueuedItemsCompanion(') + ..write('id: $id, ') + ..write('value: $value, ') + ..write('timestamp: $timestamp') + ..write(')')) + .toString(); + } +} + +abstract class _$DriftQueuedItemStore extends GeneratedDatabase { + _$DriftQueuedItemStore(QueryExecutor e) : super(e); + late final $DriftQueuedItemsTable driftQueuedItems = + $DriftQueuedItemsTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [driftQueuedItems]; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart new file mode 100644 index 0000000000..a14508d926 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -0,0 +1,175 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; +import 'dart:js_util'; + +import 'package:amplify_core/amplify_core.dart'; +// ignore: implementation_imports +import 'package:aws_common/src/js/indexed_db.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:collection/collection.dart'; + +// TODO(kylechen): Consider merging/refactoring with existing 'amplify_secure_storage_web - _IndexedDBStorage' class +/// {@template amplify_logging_cloudwatch.indexed_db_adapter} +/// Provide indexDB methods for storing/retrieving Strings. +/// {@endtemplate} +class IndexedDbAdapter implements QueuedItemStore { + /// {@macro amplify_logging_cloudwatch.indexed_db_adapter} + IndexedDbAdapter(); + + /// The name of the database. + /// + /// Reference: https://www.w3.org/TR/IndexedDB/#name + String get databaseName => 'amplify_logging_cloudwatch'; + + /// The name of the object store. + /// + /// Reference: https://www.w3.org/TR/IndexedDB/#object-store-name + final storeName = 'logging_cached_logs'; + + late final Future _databaseOpenEvent = _openDatabase(); + + late final IDBDatabase _database; + + int _currentTotalByteSize = 0; + + /// Checks for IDB availability and attempts to open the database. + Future _openDatabase() async { + final db = indexedDB; + if (db == null) { + throw const InvalidStateException('IndexedDB is not available'); + } + final openRequest = db.open(databaseName, 1) + ..onupgradeneeded = (event) { + final database = event.target.result; + final objectStoreNames = database.objectStoreNames; + if (!objectStoreNames.contains(storeName)) { + database.createObjectStore( + storeName, + keyPath: 'id', + autoIncrement: true, + ); + } + }; + _database = await openRequest.future; + } + + /// Returns a new [IDBObjectStore] instance after waiting for initialization + /// to complete. + IDBObjectStore _getObjectStore() { + final transaction = _database.transaction( + storeName, + mode: IDBTransactionMode.readwrite, + ); + final store = transaction.objectStore(storeName); + return store; + } + + @override + Future addItem(String string, String timestamp) async { + await _databaseOpenEvent; + await _getObjectStore().add(string, timestamp).future; + + _currentTotalByteSize += QueuedItem.getByteSize(string, timestamp); + } + + @override + Future> getCount([int? count]) async { + final readValues = []; + + await _databaseOpenEvent; + final store = _getObjectStore(); + final request = store.getAll(null, count); + + await request.future; + + for (final elem in request.result) { + final value = elem as Object; + final id = getProperty(value, 'id'); + final string = getProperty(value, 'value'); + final timestamp = getProperty(value, 'timestamp'); + readValues.add( + QueuedItem(id: id, value: string, timestamp: timestamp), + ); + } + return readValues; + } + + @override + Future deleteItems(Iterable items) async { + if (items.isEmpty) return; + + final idsToDelete = items.map((item) => item.id); + + await _databaseOpenEvent; + final store = _getObjectStore(); + + final ranges = idsToDelete.splitBetween((a, b) => b != a + 1).map( + (range) => IDBKeyRange.bound(range.first, range.last), + ); + await Future.wait( + ranges.map((range) => store.deleteByKeyRange(range).future), + ); + + for (final item in items) { + _currentTotalByteSize -= item.byteSize; + } + } + + @override + Future> getAll() async { + final readValues = []; + + await _databaseOpenEvent; + final store = _getObjectStore(); + final request = store.getAll(null, null); + + await request.future; + + for (final elem in request.result) { + final value = elem as Map; + final id = value['id'] as int; + final itemValue = value['value'] as String; + final timestamp = value['timestamp'] as String; + readValues.add( + QueuedItem(id: id, value: itemValue, timestamp: timestamp), + ); + } + + return readValues; + } + + @override + Future isFull(int maxSizeInMB) async { + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; + } + + /// Clear the database. + @override + Future clear() async { + await _databaseOpenEvent; + await _getObjectStore().clear().future; + _currentTotalByteSize = 0; + } + + @override + void close() {} + + /// Check that IndexDB will work on this device. + static Future checkIsIndexedDBSupported() async { + if (indexedDB == null) { + return false; + } + // indexedDB will be non-null in Firefox private browsing, + // but will fail to open. + try { + final openRequest = indexedDB!.open('test', 1); + await openRequest.future; + return true; + } on Object { + return false; + } + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml new file mode 100644 index 0000000000..4b919f6b48 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -0,0 +1,26 @@ +name: amplify_logging_cloudwatch +description: Implementation of Amplify logger plugin with CloudWatch Logs. +version: 0.1.0 +homepage: https://docs.amplify.aws/lib/q/platform/flutter/ +repository: https://github.com/aws-amplify/amplify-flutter/tree/main/amplify_logging_cloudwatch +issue_tracker: https://github.com/aws-amplify/amplify-flutter/issues + +environment: + sdk: "^3.0.0" + +dependencies: + amplify_core: ">=1.2.0 <1.3.0" + amplify_db_common_dart: ">=0.3.0+1 <0.4.0" + aws_common: ">=0.5.0+2 <0.6.0" + aws_logging_cloudwatch: ^0.1.0 + collection: ^1.15.0 + drift: ">=2.10.0 <2.11.0" + meta: ^1.7.0 + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.0.0 + build_test: ^2.0.0 + build_web_compilers: ^4.0.0 + drift_dev: ^2.2.0+1 + test: ^1.16.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart new file mode 100644 index 0000000000..9ad3ba46f3 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart @@ -0,0 +1,232 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/dart_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:test/test.dart'; + +void main() { + late DartQueuedItemStore db; + + group('DartQueuedItemStore ', () { + setUpAll(() { + db = DartQueuedItemStore('/tmp'); + }); + + tearDownAll(() async { + await db.clear(); + }); + + setUp(() async { + await db.clear(); + }); + + Future> getAll() async { + return db.getCount(100); + } + + test('writes values to storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(values.length); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values)); + }); + + test('returns first n items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(3); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values.sublist(0, 3))); + }); + + test( + 'returns all stored items when get request size exceeds stored item count', + () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(100); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('deletes all items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await getAll()); + + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test('deletes first subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await db.getCount(3)); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(3)); + }); + + test('deletes middle subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(3, 7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '1', '2', '7', '8', '9']); + }); + + test('deletes last subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 7)); + }); + + test('deletes first, middle, and last subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['0', '1', '4', '5', '8', '9']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['2', '3', '6', '7']); + }); + + test('deletes inner left and right subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['1', '2', '4', '5', '7', '8']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '3', '6', '9']); + }); + + test('deletes the first stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(0, 1); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(1)); + }); + + test('deletes the last stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(9); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 9)); + }); + + test('throws no error when deleting all items twice', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + var readValues = await getAll(); + + await db.deleteItems(readValues); + await db.deleteItems(readValues); + + readValues = await getAll(); + + expect(readValues, isEmpty); + }); + + test('returns all stored items', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('returns empty list when no items are stored', () async { + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test( + 'checks if storage is full', + () async { + const capacityLimit = 1; + + for (var i = 0; i < 100; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + var result = await db.isFull(capacityLimit); + expect(result, isFalse); + + // add enough items to exceed capacity limit of 1mb + for (var i = 0; i < 50000; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + result = await db.isFull(capacityLimit); + expect(result, isTrue); + }, + ); + }); +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart index a335d5a9c9..e07cc6f617 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart @@ -14,17 +14,20 @@ class InMemoryQueuedItemStore implements QueuedItemStore { /// The next ID that should be used when adding an item in the DB. int _nextId = 0; + int _currentTotalByteSize = 0; final LinkedHashMap _database = LinkedHashMap(); @override void addItem(String string, String timestamp) { - _database[_nextId] = QueuedItem( + final queuedItem = QueuedItem( id: _nextId, value: string, timestamp: timestamp, ); + _database[_nextId] = queuedItem; _nextId++; + _currentTotalByteSize += queuedItem.byteSize; } @override @@ -36,12 +39,14 @@ class InMemoryQueuedItemStore implements QueuedItemStore { void deleteItems(Iterable items) { for (final item in items) { _database.remove(item.id); + _currentTotalByteSize -= item.byteSize; } } @override void clear() { _database.clear(); + _currentTotalByteSize = 0; } @override @@ -54,6 +59,7 @@ class InMemoryQueuedItemStore implements QueuedItemStore { @override bool isFull(int maxSizeInMB) { - throw UnimplementedError(); + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; } } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 8c189b73f1..7a44684f10 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -32,11 +32,22 @@ abstract interface class QueuedItemStore { /// {@endtemplate} class QueuedItem { /// {@macro aws_logging_cloudwatch.string_database_element} + + /// The size of the item, in bytes, when stored in the database. const QueuedItem({ required this.id, required this.value, required this.timestamp, - }); + }) : _byteSize = value.length + timestamp.length + 8; + final int _byteSize; + + /// The size of the item, in bytes, when stored in the database. + int get byteSize => _byteSize; + + /// Gets the size of the item, in bytes, without creating the item. + static int getByteSize(String value, String timestamp) { + return value.length + timestamp.length + 8; + } /// The ID in the item. final int id; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart index a2ccab9746..48e73ca64e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -190,5 +190,43 @@ void main() { expect(readValues, isEmpty); }); + + test('returns all stored items', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('returns empty list when no items are stored', () async { + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test( + 'checks if storage is full', + () async { + const capacityLimit = 1; + + for (var i = 0; i < 100; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + var result = await db.isFull(capacityLimit); + expect(result, isFalse); + + // add enough items to exceed capacity limit of 1mb + for (var i = 0; i < 50000; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + result = await db.isFull(capacityLimit); + expect(result, isTrue); + }, + ); }); } From c130e08367e791112786d72840438cce003b8e63 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:18:17 -0700 Subject: [PATCH 07/43] Revert "Merge branch 'feat/logging/cloudwatch' of https://github.com/aws-amplify/amplify-flutter into feat/logging/cloudwatch" This reverts commit d7462adc2f468859f3b7d30d4c6c73a1768637a9, reversing changes made to b5f8b74b70a4e3dccf6c0c5714e621339ed391d1. --- .github/dependabot.yaml | 27 -- .../workflows/amplify_logging_cloudwatch.yaml | 66 ----- .../amplify_logging_cloudwatch/.gitignore | 10 - .../amplify_logging_cloudwatch/CHANGELOG.md | 3 - .../amplify_logging_cloudwatch/LICENSE | 175 ------------- .../amplify_logging_cloudwatch/README.md | 1 - .../analysis_options.yaml | 1 - .../example/.gitignore | 9 - .../example/LICENSE | 175 ------------- .../example/README.md | 1 - .../example/analysis_options.yaml | 1 - .../example/bin/main.dart | 2 - .../example/pubspec.yaml | 13 - .../example/web/favicon-180x180.png | Bin 11072 -> 0 bytes .../example/web/favicon.png | Bin 7900 -> 0 bytes .../example/web/index.html | 21 -- .../example/web/main.dart | 5 - .../example/web/styles.css | 14 -- .../lib/amplify_logging_cloudwatch.dart | 2 - .../dart_queued_item_store.dart | 6 - .../dart_queued_item_store.stub.dart | 55 ----- .../dart_queued_item_store.vm.dart | 62 ----- .../dart_queued_item_store.web.dart | 71 ------ .../drift/drift_queued_item_store.dart | 120 --------- .../drift/drift_queued_item_store.g.dart | 227 ----------------- .../index_db/indexed_db_adapter.dart | 175 ------------- .../amplify_logging_cloudwatch/pubspec.yaml | 26 -- .../test/queued_item_store_test.dart | 232 ------------------ .../in_memory_queued_item_store.dart | 10 +- .../queued_item_store/queued_item_store.dart | 13 +- .../queued_item_store_test.dart | 38 --- 31 files changed, 3 insertions(+), 1558 deletions(-) delete mode 100644 .github/workflows/amplify_logging_cloudwatch.yaml delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon.png delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 294e47eb5c..4e377d25e7 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1784,33 +1784,6 @@ updates: build_web_compilers: patterns: - "build_web_compilers" - - package-ecosystem: "pub" - directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "aws_logging_cloudwatch" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - package-ecosystem: "pub" - directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - - dependency-name: "amplify_lints" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml deleted file mode 100644 index d89927c36c..0000000000 --- a/.github/workflows/amplify_logging_cloudwatch.yaml +++ /dev/null @@ -1,66 +0,0 @@ -# Generated with aft. To update, run: `aft generate workflows` -name: amplify_logging_cloudwatch -on: - push: - branches: - - main - - stable - pull_request: - paths: - - '.github/composite_actions/setup_firefox/action.yaml' - - '.github/workflows/amplify_logging_cloudwatch.yaml' - - '.github/workflows/dart_dart2js.yaml' - - '.github/workflows/dart_ddc.yaml' - - '.github/workflows/dart_native.yaml' - - '.github/workflows/dart_vm.yaml' - - 'packages/amplify_core/lib/**/*.dart' - - 'packages/amplify_core/pubspec.yaml' - - 'packages/amplify_lints/lib/**/*.yaml' - - 'packages/amplify_lints/pubspec.yaml' - - 'packages/aws_common/lib/**/*.dart' - - 'packages/aws_common/pubspec.yaml' - - 'packages/aws_signature_v4/lib/**/*.dart' - - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/test/**/*' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - - 'packages/smithy/smithy/lib/**/*.dart' - - 'packages/smithy/smithy/pubspec.yaml' - - 'packages/smithy/smithy_aws/lib/**/*.dart' - - 'packages/smithy/smithy_aws/pubspec.yaml' - schedule: - - cron: "0 0 * * 0" # Every Sunday at 00:00 -defaults: - run: - shell: bash -permissions: read-all - -jobs: - test: - uses: ./.github/workflows/dart_vm.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - native_test: - needs: test - uses: ./.github/workflows/dart_native.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - ddc_test: - needs: test - uses: ./.github/workflows/dart_ddc.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - dart2js_test: - needs: test - uses: ./.github/workflows/dart_dart2js.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore deleted file mode 100644 index 65c34dc86e..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -# Files and directories created by pub. -.dart_tool/ -.packages - -# Conventional directory for build outputs. -build/ - -# Omit committing pubspec.lock for library packages; see -# https://dart.dev/guides/libraries/private-files#pubspeclock. -pubspec.lock diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md deleted file mode 100644 index a0712a79e7..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.1.0 - -- Initial version. diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE deleted file mode 100644 index 19dc35b243..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE +++ /dev/null @@ -1,175 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md deleted file mode 100644 index 945070b34b..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md +++ /dev/null @@ -1 +0,0 @@ -# amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml deleted file mode 100644 index 7f605f74d4..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: package:amplify_lints/library.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore deleted file mode 100644 index f1d87ba3fd..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -# Files and directories created by pub. -.dart_tool/ -.packages - -# Conventional directory for build output. -build/ - -# Amplify -amplifyconfiguration.dart diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE deleted file mode 100644 index 19dc35b243..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE +++ /dev/null @@ -1,175 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md deleted file mode 100644 index a79b5136a7..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md +++ /dev/null @@ -1 +0,0 @@ -# amplify_logging_cloudwatch_example diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml deleted file mode 100644 index 49f9f5a9a4..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: package:amplify_lints/app.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart deleted file mode 100644 index d02def190f..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart +++ /dev/null @@ -1,2 +0,0 @@ -// TODO(amplify_logging_cloudwatch): Write example -void main() {} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml deleted file mode 100644 index 99323c4dd0..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml +++ /dev/null @@ -1,13 +0,0 @@ -name: amplify_logging_cloudwatch_example -description: An example app showcasing the amplify_logging_cloudwatch package. -version: 1.0.0 -publish_to: none -environment: - sdk: "^3.0.0" - -dependencies: - -dev_dependencies: - amplify_lints: ^2.0.0 - build_runner: ^2.4.0 - build_web_compilers: ^4.0.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png deleted file mode 100644 index abeda3c2d1c2b2bf5c63b2095d00f13578c1c8d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11072 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 - - - - - - - - Amplify Logging Cloudwatch Example - - - - - - - - -
- - - diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart deleted file mode 100644 index 87a3d61bde..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'dart:html'; - -void main() { - querySelector('#output')?.text = 'Your Amplify app is running.'; -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css deleted file mode 100644 index cc035c95c9..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css +++ /dev/null @@ -1,14 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Roboto); - -html, body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-family: 'Roboto', sans-serif; -} - -#output { - padding: 20px; - text-align: center; -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart deleted file mode 100644 index c309d9866d..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart +++ /dev/null @@ -1,2 +0,0 @@ -/// amplify_logging_cloudwatch -library amplify_logging_cloudwatch; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart deleted file mode 100644 index 716a6b83ea..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -export 'dart_queued_item_store.stub.dart' - if (dart.library.html) 'dart_queued_item_store.web.dart' - if (dart.library.io) 'dart_queued_item_store.vm.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart deleted file mode 100644 index 659be2c439..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'dart:async'; - -import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:meta/meta.dart'; - -/// {@template amplify_logging_cloudwatch.dart_queued_item_store} -/// Stores strings using IndexedDB for web and Drift for all other platforms. -/// {@endtemplate} -class DartQueuedItemStore implements QueuedItemStore, Closeable { - /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} - // ignore: avoid_unused_constructor_parameters - DartQueuedItemStore(String? storagePath) { - throw UnimplementedError('constructor has not been implemented.'); - } - - @override - FutureOr> getCount(int count) { - throw UnimplementedError('getCount() has not been implemented.'); - } - - @override - FutureOr addItem(String string, String timestamp) { - throw UnimplementedError('addItem() has not been implemented.'); - } - - @override - FutureOr deleteItems(Iterable items) { - throw UnimplementedError('deleteItems() has not been implemented.'); - } - - @override - FutureOr close() async { - throw UnimplementedError('close() has not been implemented.'); - } - - @override - FutureOr isFull(int maxSizeInMB) { - throw UnimplementedError('isFull() has not been implemented.'); - } - - @override - FutureOr> getAll() { - throw UnimplementedError('getAll() has not been implemented.'); - } - - @override - @visibleForTesting - FutureOr clear() async { - throw UnimplementedError('clear() has not been implemented.'); - } -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart deleted file mode 100644 index 17de9554c1..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'dart:async'; - -import 'package:amplify_logging_cloudwatch/src/queued_item_store/drift/drift_queued_item_store.dart'; -import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:meta/meta.dart'; - -/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} -class DartQueuedItemStore implements QueuedItemStore, Closeable { - /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} - factory DartQueuedItemStore(String? storagePath) { - assert( - storagePath != null, - 'A storage path is required on VM for locating the DB', - ); - final database = DriftQueuedItemStore(storagePath!); - return DartQueuedItemStore._(database); - } - - DartQueuedItemStore._(this._database); - - final DriftQueuedItemStore _database; - - @override - Future addItem(String string, String timestamp) { - return _database.addItem(string, timestamp); - } - - @override - Future deleteItems(Iterable items) { - return _database.deleteItems(items); - } - - @override - Future> getCount(int count) { - return _database.getCount(count); - } - - @override - Future> getAll() { - return _database.getAll(); - } - - @override - Future isFull(int maxSizeInMB) { - return _database.isFull(maxSizeInMB); - } - - @override - @visibleForTesting - Future clear() async { - return _database.clear(); - } - - @override - Future close() async { - return _database.close(); - } -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart deleted file mode 100644 index 7f8b79f397..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; -import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:meta/meta.dart'; - -/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} -class DartQueuedItemStore - with AWSDebuggable, AWSLoggerMixin - implements QueuedItemStore, Closeable { - /// {@macro amplify_logging_cloudwatch.index_db_queued_item_store} - // ignore: avoid_unused_constructor_parameters - DartQueuedItemStore(String? storagePath); - - late final Future _database = () async { - if (await IndexedDbAdapter.checkIsIndexedDBSupported()) { - return IndexedDbAdapter(); - } - logger.warn( - 'IndexedDB is not available. ' - 'Falling back to in-memory storage.', - ); - return InMemoryQueuedItemStore(); - }(); - - @override - String get runtimeTypeName => 'DartQueuedItemStore'; - - @override - Future addItem(String string, String timestamp) async { - final db = await _database; - await db.addItem(string, timestamp); - } - - @override - Future deleteItems(Iterable items) async { - final db = await _database; - await db.deleteItems(items); - } - - @override - Future> getCount(int count) async { - final db = await _database; - return db.getCount(count); - } - - @override - Future> getAll() async { - final db = await _database; - return db.getAll(); - } - - @override - Future isFull(int maxSizeInMB) async { - final db = await _database; - return db.isFull(maxSizeInMB); - } - - /// Clear IndexedDB data. - @override - @visibleForTesting - Future clear() async { - final db = await _database; - return db.clear(); - } - - @override - void close() {} -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart deleted file mode 100644 index c4e35c683a..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'dart:async'; - -import 'package:amplify_db_common_dart/amplify_db_common_dart.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:drift/drift.dart'; - -part 'drift_queued_item_store.g.dart'; - -/// SQL schema of data stored in DriftDatabase. -class DriftQueuedItems extends Table { - /// Identifies object in the SQL database. - IntColumn get id => integer().autoIncrement()(); - - /// The string value stored for this object. - TextColumn get value => text()(); - - /// The timestamp of the item. - TextColumn get timestamp => text()(); -} - -/// {@template amplify_logging_cloudwatch.drift_queued_item_store} -/// Drift class for managing stored [DriftQueuedItems]. -/// {@endtemplate} -@DriftDatabase(tables: [DriftQueuedItems]) -class DriftQueuedItemStore extends _$DriftQueuedItemStore - implements QueuedItemStore { - /// {@macro amplify_logging_cloudwatch.drift_queued_item_store} - factory DriftQueuedItemStore(String storagePath) { - final driftQueryExecutor = connect( - name: 'logging_cached_logs', - path: storagePath, - ); - return DriftQueuedItemStore._(driftQueryExecutor); - } - - DriftQueuedItemStore._(super.driftQueryExecutor); - - // Reminder: Bump this number whenever you change or add a table definition. - @override - int get schemaVersion => 1; - int _currentTotalByteSize = 0; - - @override - MigrationStrategy get migration { - return MigrationStrategy( - onCreate: (Migrator m) async { - await m.createAll(); - }, - onUpgrade: (Migrator m, int from, int to) async { - // Note: From schemaVersion 1->2 we renamed DriftJsonStrings to DriftQueuedItems before the GA release - await m.createAll(); - }, - ); - } - - @override - Future addItem(String value, String timestamp) async { - await into(driftQueuedItems).insert( - DriftQueuedItemsCompanion( - value: Value(value), - timestamp: Value(timestamp), - ), - ); - _currentTotalByteSize += QueuedItem.getByteSize(value, timestamp); - } - - @override - Future> getCount(int count) async { - final statement = (select(driftQueuedItems) - ..orderBy([(v) => OrderingTerm.asc(v.id)]) - ..limit(count)); - - final retrievedItems = await statement.get(); - return retrievedItems.map( - (item) => QueuedItem( - id: item.id, - value: item.value, - timestamp: item.timestamp, - ), - ); - } - - @override - Future> getAll() async { - final retrievedItems = await select(driftQueuedItems).get(); - return retrievedItems.map( - (item) => QueuedItem( - id: item.id, - value: item.value, - timestamp: item.timestamp, - ), - ); - } - - @override - Future isFull(int maxSizeInMB) async { - final maxBytes = maxSizeInMB * 1024 * 1024; - return _currentTotalByteSize >= maxBytes; - } - - @override - Future deleteItems(Iterable items) async { - final idsToDelete = items.map((item) => item.id); - final statement = delete(driftQueuedItems) - ..where((t) => t.id.isIn(idsToDelete)); - await statement.go(); - for (final item in items) { - _currentTotalByteSize -= item.byteSize; - } - } - - @override - Future clear() async { - await delete(driftQueuedItems).go(); - _currentTotalByteSize = 0; - } -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart deleted file mode 100644 index 691a278bd9..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart +++ /dev/null @@ -1,227 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'drift_queued_item_store.dart'; - -// ignore_for_file: type=lint -class $DriftQueuedItemsTable extends DriftQueuedItems - with TableInfo<$DriftQueuedItemsTable, DriftQueuedItem> { - @override - final GeneratedDatabase attachedDatabase; - final String? _alias; - $DriftQueuedItemsTable(this.attachedDatabase, [this._alias]); - static const VerificationMeta _idMeta = const VerificationMeta('id'); - @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, - hasAutoIncrement: true, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultConstraints: - GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); - static const VerificationMeta _valueMeta = const VerificationMeta('value'); - @override - late final GeneratedColumn value = GeneratedColumn( - 'value', aliasedName, false, - type: DriftSqlType.string, requiredDuringInsert: true); - static const VerificationMeta _timestampMeta = - const VerificationMeta('timestamp'); - @override - late final GeneratedColumn timestamp = GeneratedColumn( - 'timestamp', aliasedName, false, - type: DriftSqlType.string, requiredDuringInsert: true); - @override - List get $columns => [id, value, timestamp]; - @override - String get aliasedName => _alias ?? 'drift_queued_items'; - @override - String get actualTableName => 'drift_queued_items'; - @override - VerificationContext validateIntegrity(Insertable instance, - {bool isInserting = false}) { - final context = VerificationContext(); - final data = instance.toColumns(true); - if (data.containsKey('id')) { - context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); - } - if (data.containsKey('value')) { - context.handle( - _valueMeta, value.isAcceptableOrUnknown(data['value']!, _valueMeta)); - } else if (isInserting) { - context.missing(_valueMeta); - } - if (data.containsKey('timestamp')) { - context.handle(_timestampMeta, - timestamp.isAcceptableOrUnknown(data['timestamp']!, _timestampMeta)); - } else if (isInserting) { - context.missing(_timestampMeta); - } - return context; - } - - @override - Set get $primaryKey => {id}; - @override - DriftQueuedItem map(Map data, {String? tablePrefix}) { - final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return DriftQueuedItem( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - value: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}value'])!, - timestamp: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}timestamp'])!, - ); - } - - @override - $DriftQueuedItemsTable createAlias(String alias) { - return $DriftQueuedItemsTable(attachedDatabase, alias); - } -} - -class DriftQueuedItem extends DataClass implements Insertable { - /// Identifies object in the SQL database. - final int id; - - /// The string value stored for this object. - final String value; - - /// The timestamp of the item. - final String timestamp; - const DriftQueuedItem( - {required this.id, required this.value, required this.timestamp}); - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - map['id'] = Variable(id); - map['value'] = Variable(value); - map['timestamp'] = Variable(timestamp); - return map; - } - - DriftQueuedItemsCompanion toCompanion(bool nullToAbsent) { - return DriftQueuedItemsCompanion( - id: Value(id), - value: Value(value), - timestamp: Value(timestamp), - ); - } - - factory DriftQueuedItem.fromJson(Map json, - {ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return DriftQueuedItem( - id: serializer.fromJson(json['id']), - value: serializer.fromJson(json['value']), - timestamp: serializer.fromJson(json['timestamp']), - ); - } - @override - Map toJson({ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return { - 'id': serializer.toJson(id), - 'value': serializer.toJson(value), - 'timestamp': serializer.toJson(timestamp), - }; - } - - DriftQueuedItem copyWith({int? id, String? value, String? timestamp}) => - DriftQueuedItem( - id: id ?? this.id, - value: value ?? this.value, - timestamp: timestamp ?? this.timestamp, - ); - @override - String toString() { - return (StringBuffer('DriftQueuedItem(') - ..write('id: $id, ') - ..write('value: $value, ') - ..write('timestamp: $timestamp') - ..write(')')) - .toString(); - } - - @override - int get hashCode => Object.hash(id, value, timestamp); - @override - bool operator ==(Object other) => - identical(this, other) || - (other is DriftQueuedItem && - other.id == this.id && - other.value == this.value && - other.timestamp == this.timestamp); -} - -class DriftQueuedItemsCompanion extends UpdateCompanion { - final Value id; - final Value value; - final Value timestamp; - const DriftQueuedItemsCompanion({ - this.id = const Value.absent(), - this.value = const Value.absent(), - this.timestamp = const Value.absent(), - }); - DriftQueuedItemsCompanion.insert({ - this.id = const Value.absent(), - required String value, - required String timestamp, - }) : value = Value(value), - timestamp = Value(timestamp); - static Insertable custom({ - Expression? id, - Expression? value, - Expression? timestamp, - }) { - return RawValuesInsertable({ - if (id != null) 'id': id, - if (value != null) 'value': value, - if (timestamp != null) 'timestamp': timestamp, - }); - } - - DriftQueuedItemsCompanion copyWith( - {Value? id, Value? value, Value? timestamp}) { - return DriftQueuedItemsCompanion( - id: id ?? this.id, - value: value ?? this.value, - timestamp: timestamp ?? this.timestamp, - ); - } - - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - if (id.present) { - map['id'] = Variable(id.value); - } - if (value.present) { - map['value'] = Variable(value.value); - } - if (timestamp.present) { - map['timestamp'] = Variable(timestamp.value); - } - return map; - } - - @override - String toString() { - return (StringBuffer('DriftQueuedItemsCompanion(') - ..write('id: $id, ') - ..write('value: $value, ') - ..write('timestamp: $timestamp') - ..write(')')) - .toString(); - } -} - -abstract class _$DriftQueuedItemStore extends GeneratedDatabase { - _$DriftQueuedItemStore(QueryExecutor e) : super(e); - late final $DriftQueuedItemsTable driftQueuedItems = - $DriftQueuedItemsTable(this); - @override - Iterable> get allTables => - allSchemaEntities.whereType>(); - @override - List get allSchemaEntities => [driftQueuedItems]; -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart deleted file mode 100644 index a14508d926..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ /dev/null @@ -1,175 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'dart:async'; -import 'dart:js_util'; - -import 'package:amplify_core/amplify_core.dart'; -// ignore: implementation_imports -import 'package:aws_common/src/js/indexed_db.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:collection/collection.dart'; - -// TODO(kylechen): Consider merging/refactoring with existing 'amplify_secure_storage_web - _IndexedDBStorage' class -/// {@template amplify_logging_cloudwatch.indexed_db_adapter} -/// Provide indexDB methods for storing/retrieving Strings. -/// {@endtemplate} -class IndexedDbAdapter implements QueuedItemStore { - /// {@macro amplify_logging_cloudwatch.indexed_db_adapter} - IndexedDbAdapter(); - - /// The name of the database. - /// - /// Reference: https://www.w3.org/TR/IndexedDB/#name - String get databaseName => 'amplify_logging_cloudwatch'; - - /// The name of the object store. - /// - /// Reference: https://www.w3.org/TR/IndexedDB/#object-store-name - final storeName = 'logging_cached_logs'; - - late final Future _databaseOpenEvent = _openDatabase(); - - late final IDBDatabase _database; - - int _currentTotalByteSize = 0; - - /// Checks for IDB availability and attempts to open the database. - Future _openDatabase() async { - final db = indexedDB; - if (db == null) { - throw const InvalidStateException('IndexedDB is not available'); - } - final openRequest = db.open(databaseName, 1) - ..onupgradeneeded = (event) { - final database = event.target.result; - final objectStoreNames = database.objectStoreNames; - if (!objectStoreNames.contains(storeName)) { - database.createObjectStore( - storeName, - keyPath: 'id', - autoIncrement: true, - ); - } - }; - _database = await openRequest.future; - } - - /// Returns a new [IDBObjectStore] instance after waiting for initialization - /// to complete. - IDBObjectStore _getObjectStore() { - final transaction = _database.transaction( - storeName, - mode: IDBTransactionMode.readwrite, - ); - final store = transaction.objectStore(storeName); - return store; - } - - @override - Future addItem(String string, String timestamp) async { - await _databaseOpenEvent; - await _getObjectStore().add(string, timestamp).future; - - _currentTotalByteSize += QueuedItem.getByteSize(string, timestamp); - } - - @override - Future> getCount([int? count]) async { - final readValues = []; - - await _databaseOpenEvent; - final store = _getObjectStore(); - final request = store.getAll(null, count); - - await request.future; - - for (final elem in request.result) { - final value = elem as Object; - final id = getProperty(value, 'id'); - final string = getProperty(value, 'value'); - final timestamp = getProperty(value, 'timestamp'); - readValues.add( - QueuedItem(id: id, value: string, timestamp: timestamp), - ); - } - return readValues; - } - - @override - Future deleteItems(Iterable items) async { - if (items.isEmpty) return; - - final idsToDelete = items.map((item) => item.id); - - await _databaseOpenEvent; - final store = _getObjectStore(); - - final ranges = idsToDelete.splitBetween((a, b) => b != a + 1).map( - (range) => IDBKeyRange.bound(range.first, range.last), - ); - await Future.wait( - ranges.map((range) => store.deleteByKeyRange(range).future), - ); - - for (final item in items) { - _currentTotalByteSize -= item.byteSize; - } - } - - @override - Future> getAll() async { - final readValues = []; - - await _databaseOpenEvent; - final store = _getObjectStore(); - final request = store.getAll(null, null); - - await request.future; - - for (final elem in request.result) { - final value = elem as Map; - final id = value['id'] as int; - final itemValue = value['value'] as String; - final timestamp = value['timestamp'] as String; - readValues.add( - QueuedItem(id: id, value: itemValue, timestamp: timestamp), - ); - } - - return readValues; - } - - @override - Future isFull(int maxSizeInMB) async { - final maxBytes = maxSizeInMB * 1024 * 1024; - return _currentTotalByteSize >= maxBytes; - } - - /// Clear the database. - @override - Future clear() async { - await _databaseOpenEvent; - await _getObjectStore().clear().future; - _currentTotalByteSize = 0; - } - - @override - void close() {} - - /// Check that IndexDB will work on this device. - static Future checkIsIndexedDBSupported() async { - if (indexedDB == null) { - return false; - } - // indexedDB will be non-null in Firefox private browsing, - // but will fail to open. - try { - final openRequest = indexedDB!.open('test', 1); - await openRequest.future; - return true; - } on Object { - return false; - } - } -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml deleted file mode 100644 index 4b919f6b48..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: amplify_logging_cloudwatch -description: Implementation of Amplify logger plugin with CloudWatch Logs. -version: 0.1.0 -homepage: https://docs.amplify.aws/lib/q/platform/flutter/ -repository: https://github.com/aws-amplify/amplify-flutter/tree/main/amplify_logging_cloudwatch -issue_tracker: https://github.com/aws-amplify/amplify-flutter/issues - -environment: - sdk: "^3.0.0" - -dependencies: - amplify_core: ">=1.2.0 <1.3.0" - amplify_db_common_dart: ">=0.3.0+1 <0.4.0" - aws_common: ">=0.5.0+2 <0.6.0" - aws_logging_cloudwatch: ^0.1.0 - collection: ^1.15.0 - drift: ">=2.10.0 <2.11.0" - meta: ^1.7.0 - -dev_dependencies: - amplify_lints: ^2.0.0 - build_runner: ^2.0.0 - build_test: ^2.0.0 - build_web_compilers: ^4.0.0 - drift_dev: ^2.2.0+1 - test: ^1.16.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart deleted file mode 100644 index 9ad3ba46f3..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'package:amplify_logging_cloudwatch/src/queued_item_store/dart_queued_item_store.dart'; -import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; -import 'package:test/test.dart'; - -void main() { - late DartQueuedItemStore db; - - group('DartQueuedItemStore ', () { - setUpAll(() { - db = DartQueuedItemStore('/tmp'); - }); - - tearDownAll(() async { - await db.clear(); - }); - - setUp(() async { - await db.clear(); - }); - - Future> getAll() async { - return db.getCount(100); - } - - test('writes values to storage', () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final readItems = await db.getCount(values.length); - final readValues = readItems.map((e) => e.value); - expect(readValues, equals(values)); - }); - - test('returns first n items in storage', () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final readItems = await db.getCount(3); - final readValues = readItems.map((e) => e.value); - expect(readValues, equals(values.sublist(0, 3))); - }); - - test( - 'returns all stored items when get request size exceeds stored item count', - () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final readItems = await db.getCount(100); - final readValues = readItems.map((e) => e.value); - expect(readValues, values); - }); - - test('deletes all items in storage', () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - await db.deleteItems(await getAll()); - - final readItems = await getAll(); - expect(readItems, isEmpty); - }); - - test('deletes first subset of stored items', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - await db.deleteItems(await db.getCount(3)); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values.sublist(3)); - }); - - test('deletes middle subset of stored items', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final itemsToDelete = (await getAll()).toList().sublist(3, 7); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, const ['0', '1', '2', '7', '8', '9']); - }); - - test('deletes last subset of stored items', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final itemsToDelete = (await getAll()).toList().sublist(7); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values.sublist(0, 7)); - }); - - test('deletes first, middle, and last subsets of stored items', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - const valuesToDelete = ['0', '1', '4', '5', '8', '9']; - final itemsToDelete = (await getAll()).where((item) { - return valuesToDelete.contains(item.value); - }); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, const ['2', '3', '6', '7']); - }); - - test('deletes inner left and right subsets of stored items', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - const valuesToDelete = ['1', '2', '4', '5', '7', '8']; - final itemsToDelete = (await getAll()).where((item) { - return valuesToDelete.contains(item.value); - }); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, const ['0', '3', '6', '9']); - }); - - test('deletes the first stored item', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final itemsToDelete = (await getAll()).toList().sublist(0, 1); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values.sublist(1)); - }); - - test('deletes the last stored item', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final itemsToDelete = (await getAll()).toList().sublist(9); - await db.deleteItems(itemsToDelete); - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values.sublist(0, 9)); - }); - - test('throws no error when deleting all items twice', () async { - const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - var readValues = await getAll(); - - await db.deleteItems(readValues); - await db.deleteItems(readValues); - - readValues = await getAll(); - - expect(readValues, isEmpty); - }); - - test('returns all stored items', () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values); - }); - - test('returns empty list when no items are stored', () async { - final readItems = await getAll(); - expect(readItems, isEmpty); - }); - - test( - 'checks if storage is full', - () async { - const capacityLimit = 1; - - for (var i = 0; i < 100; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); - } - - var result = await db.isFull(capacityLimit); - expect(result, isFalse); - - // add enough items to exceed capacity limit of 1mb - for (var i = 0; i < 50000; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); - } - - result = await db.isFull(capacityLimit); - expect(result, isTrue); - }, - ); - }); -} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart index e07cc6f617..a335d5a9c9 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart @@ -14,20 +14,17 @@ class InMemoryQueuedItemStore implements QueuedItemStore { /// The next ID that should be used when adding an item in the DB. int _nextId = 0; - int _currentTotalByteSize = 0; final LinkedHashMap _database = LinkedHashMap(); @override void addItem(String string, String timestamp) { - final queuedItem = QueuedItem( + _database[_nextId] = QueuedItem( id: _nextId, value: string, timestamp: timestamp, ); - _database[_nextId] = queuedItem; _nextId++; - _currentTotalByteSize += queuedItem.byteSize; } @override @@ -39,14 +36,12 @@ class InMemoryQueuedItemStore implements QueuedItemStore { void deleteItems(Iterable items) { for (final item in items) { _database.remove(item.id); - _currentTotalByteSize -= item.byteSize; } } @override void clear() { _database.clear(); - _currentTotalByteSize = 0; } @override @@ -59,7 +54,6 @@ class InMemoryQueuedItemStore implements QueuedItemStore { @override bool isFull(int maxSizeInMB) { - final maxBytes = maxSizeInMB * 1024 * 1024; - return _currentTotalByteSize >= maxBytes; + throw UnimplementedError(); } } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 7a44684f10..8c189b73f1 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -32,22 +32,11 @@ abstract interface class QueuedItemStore { /// {@endtemplate} class QueuedItem { /// {@macro aws_logging_cloudwatch.string_database_element} - - /// The size of the item, in bytes, when stored in the database. const QueuedItem({ required this.id, required this.value, required this.timestamp, - }) : _byteSize = value.length + timestamp.length + 8; - final int _byteSize; - - /// The size of the item, in bytes, when stored in the database. - int get byteSize => _byteSize; - - /// Gets the size of the item, in bytes, without creating the item. - static int getByteSize(String value, String timestamp) { - return value.length + timestamp.length + 8; - } + }); /// The ID in the item. final int id; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart index 48e73ca64e..a2ccab9746 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -190,43 +190,5 @@ void main() { expect(readValues, isEmpty); }); - - test('returns all stored items', () async { - const values = ['0', '1', '2', '3', '4', '5']; - for (final value in values) { - await db.addItem(value, DateTime.now().toIso8601String()); - } - - final readItems = await getAll(); - final readValues = readItems.map((e) => e.value); - expect(readValues, values); - }); - - test('returns empty list when no items are stored', () async { - final readItems = await getAll(); - expect(readItems, isEmpty); - }); - - test( - 'checks if storage is full', - () async { - const capacityLimit = 1; - - for (var i = 0; i < 100; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); - } - - var result = await db.isFull(capacityLimit); - expect(result, isFalse); - - // add enough items to exceed capacity limit of 1mb - for (var i = 0; i < 50000; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); - } - - result = await db.isFull(capacityLimit); - expect(result, isTrue); - }, - ); }); } From 7178d182b5569b858ac14e88b49cc9430fe4616b Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:48:40 -0700 Subject: [PATCH 08/43] Revert "Revert "Merge branch 'feat/logging/cloudwatch' of https://github.com/aws-amplify/amplify-flutter into feat/logging/cloudwatch"" This reverts commit f1c8db086a1d53a5d9b4653d59b68990ee236717. --- .github/dependabot.yaml | 27 ++ .../workflows/amplify_logging_cloudwatch.yaml | 66 +++++ .../amplify_logging_cloudwatch/.gitignore | 10 + .../amplify_logging_cloudwatch/CHANGELOG.md | 3 + .../amplify_logging_cloudwatch/LICENSE | 175 +++++++++++++ .../amplify_logging_cloudwatch/README.md | 1 + .../analysis_options.yaml | 1 + .../example/.gitignore | 9 + .../example/LICENSE | 175 +++++++++++++ .../example/README.md | 1 + .../example/analysis_options.yaml | 1 + .../example/bin/main.dart | 2 + .../example/pubspec.yaml | 13 + .../example/web/favicon-180x180.png | Bin 0 -> 11072 bytes .../example/web/favicon.png | Bin 0 -> 7900 bytes .../example/web/index.html | 21 ++ .../example/web/main.dart | 5 + .../example/web/styles.css | 14 ++ .../lib/amplify_logging_cloudwatch.dart | 2 + .../dart_queued_item_store.dart | 6 + .../dart_queued_item_store.stub.dart | 55 +++++ .../dart_queued_item_store.vm.dart | 62 +++++ .../dart_queued_item_store.web.dart | 71 ++++++ .../drift/drift_queued_item_store.dart | 120 +++++++++ .../drift/drift_queued_item_store.g.dart | 227 +++++++++++++++++ .../index_db/indexed_db_adapter.dart | 175 +++++++++++++ .../amplify_logging_cloudwatch/pubspec.yaml | 26 ++ .../test/queued_item_store_test.dart | 232 ++++++++++++++++++ .../in_memory_queued_item_store.dart | 10 +- .../queued_item_store/queued_item_store.dart | 13 +- .../queued_item_store_test.dart | 38 +++ 31 files changed, 1558 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/amplify_logging_cloudwatch.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 4e377d25e7..294e47eb5c 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1784,6 +1784,33 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + - dependency-name: "amplify_lints" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml new file mode 100644 index 0000000000..d89927c36c --- /dev/null +++ b/.github/workflows/amplify_logging_cloudwatch.yaml @@ -0,0 +1,66 @@ +# Generated with aft. To update, run: `aft generate workflows` +name: amplify_logging_cloudwatch +on: + push: + branches: + - main + - stable + pull_request: + paths: + - '.github/composite_actions/setup_firefox/action.yaml' + - '.github/workflows/amplify_logging_cloudwatch.yaml' + - '.github/workflows/dart_dart2js.yaml' + - '.github/workflows/dart_ddc.yaml' + - '.github/workflows/dart_native.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + schedule: + - cron: "0 0 * * 0" # Every Sunday at 00:00 +defaults: + run: + shell: bash +permissions: read-all + +jobs: + test: + uses: ./.github/workflows/dart_vm.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + native_test: + needs: test + uses: ./.github/workflows/dart_native.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + ddc_test: + needs: test + uses: ./.github/workflows/dart_ddc.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + dart2js_test: + needs: test + uses: ./.github/workflows/dart_dart2js.yaml + with: + package-name: amplify_logging_cloudwatch + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore new file mode 100644 index 0000000000..65c34dc86e --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore @@ -0,0 +1,10 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build outputs. +build/ + +# Omit committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md new file mode 100644 index 0000000000..a0712a79e7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Initial version. diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md new file mode 100644 index 0000000000..945070b34b --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/README.md @@ -0,0 +1 @@ +# amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml new file mode 100644 index 0000000000..7f605f74d4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/library.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore new file mode 100644 index 0000000000..f1d87ba3fd --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore @@ -0,0 +1,9 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build output. +build/ + +# Amplify +amplifyconfiguration.dart diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE new file mode 100644 index 0000000000..19dc35b243 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md new file mode 100644 index 0000000000..a79b5136a7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md @@ -0,0 +1 @@ +# amplify_logging_cloudwatch_example diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml new file mode 100644 index 0000000000..49f9f5a9a4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/analysis_options.yaml @@ -0,0 +1 @@ +include: package:amplify_lints/app.yaml diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart new file mode 100644 index 0000000000..d02def190f --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart @@ -0,0 +1,2 @@ +// TODO(amplify_logging_cloudwatch): Write example +void main() {} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml new file mode 100644 index 0000000000..99323c4dd0 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml @@ -0,0 +1,13 @@ +name: amplify_logging_cloudwatch_example +description: An example app showcasing the amplify_logging_cloudwatch package. +version: 1.0.0 +publish_to: none +environment: + sdk: "^3.0.0" + +dependencies: + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.4.0 + build_web_compilers: ^4.0.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..abeda3c2d1c2b2bf5c63b2095d00f13578c1c8d3 GIT binary patch literal 11072 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 + + + + + + + + Amplify Logging Cloudwatch Example + + + + + + + + +
+ + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart new file mode 100644 index 0000000000..87a3d61bde --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart @@ -0,0 +1,5 @@ +import 'dart:html'; + +void main() { + querySelector('#output')?.text = 'Your Amplify app is running.'; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css new file mode 100644 index 0000000000..cc035c95c9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css @@ -0,0 +1,14 @@ +@import url(https://fonts.googleapis.com/css?family=Roboto); + +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-family: 'Roboto', sans-serif; +} + +#output { + padding: 20px; + text-align: center; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart new file mode 100644 index 0000000000..c309d9866d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart @@ -0,0 +1,2 @@ +/// amplify_logging_cloudwatch +library amplify_logging_cloudwatch; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart new file mode 100644 index 0000000000..716a6b83ea --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.dart @@ -0,0 +1,6 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +export 'dart_queued_item_store.stub.dart' + if (dart.library.html) 'dart_queued_item_store.web.dart' + if (dart.library.io) 'dart_queued_item_store.vm.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart new file mode 100644 index 0000000000..659be2c439 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart @@ -0,0 +1,55 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@template amplify_logging_cloudwatch.dart_queued_item_store} +/// Stores strings using IndexedDB for web and Drift for all other platforms. +/// {@endtemplate} +class DartQueuedItemStore implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} + // ignore: avoid_unused_constructor_parameters + DartQueuedItemStore(String? storagePath) { + throw UnimplementedError('constructor has not been implemented.'); + } + + @override + FutureOr> getCount(int count) { + throw UnimplementedError('getCount() has not been implemented.'); + } + + @override + FutureOr addItem(String string, String timestamp) { + throw UnimplementedError('addItem() has not been implemented.'); + } + + @override + FutureOr deleteItems(Iterable items) { + throw UnimplementedError('deleteItems() has not been implemented.'); + } + + @override + FutureOr close() async { + throw UnimplementedError('close() has not been implemented.'); + } + + @override + FutureOr isFull(int maxSizeInMB) { + throw UnimplementedError('isFull() has not been implemented.'); + } + + @override + FutureOr> getAll() { + throw UnimplementedError('getAll() has not been implemented.'); + } + + @override + @visibleForTesting + FutureOr clear() async { + throw UnimplementedError('clear() has not been implemented.'); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart new file mode 100644 index 0000000000..17de9554c1 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -0,0 +1,62 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/drift/drift_queued_item_store.dart'; +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} +class DartQueuedItemStore implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} + factory DartQueuedItemStore(String? storagePath) { + assert( + storagePath != null, + 'A storage path is required on VM for locating the DB', + ); + final database = DriftQueuedItemStore(storagePath!); + return DartQueuedItemStore._(database); + } + + DartQueuedItemStore._(this._database); + + final DriftQueuedItemStore _database; + + @override + Future addItem(String string, String timestamp) { + return _database.addItem(string, timestamp); + } + + @override + Future deleteItems(Iterable items) { + return _database.deleteItems(items); + } + + @override + Future> getCount(int count) { + return _database.getCount(count); + } + + @override + Future> getAll() { + return _database.getAll(); + } + + @override + Future isFull(int maxSizeInMB) { + return _database.isFull(maxSizeInMB); + } + + @override + @visibleForTesting + Future clear() async { + return _database.clear(); + } + + @override + Future close() async { + return _database.close(); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart new file mode 100644 index 0000000000..7f8b79f397 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -0,0 +1,71 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; +import 'package:aws_common/aws_common.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@macro amplify_logging_cloudwatch.dart_queued_item_store} +class DartQueuedItemStore + with AWSDebuggable, AWSLoggerMixin + implements QueuedItemStore, Closeable { + /// {@macro amplify_logging_cloudwatch.index_db_queued_item_store} + // ignore: avoid_unused_constructor_parameters + DartQueuedItemStore(String? storagePath); + + late final Future _database = () async { + if (await IndexedDbAdapter.checkIsIndexedDBSupported()) { + return IndexedDbAdapter(); + } + logger.warn( + 'IndexedDB is not available. ' + 'Falling back to in-memory storage.', + ); + return InMemoryQueuedItemStore(); + }(); + + @override + String get runtimeTypeName => 'DartQueuedItemStore'; + + @override + Future addItem(String string, String timestamp) async { + final db = await _database; + await db.addItem(string, timestamp); + } + + @override + Future deleteItems(Iterable items) async { + final db = await _database; + await db.deleteItems(items); + } + + @override + Future> getCount(int count) async { + final db = await _database; + return db.getCount(count); + } + + @override + Future> getAll() async { + final db = await _database; + return db.getAll(); + } + + @override + Future isFull(int maxSizeInMB) async { + final db = await _database; + return db.isFull(maxSizeInMB); + } + + /// Clear IndexedDB data. + @override + @visibleForTesting + Future clear() async { + final db = await _database; + return db.clear(); + } + + @override + void close() {} +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart new file mode 100644 index 0000000000..c4e35c683a --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -0,0 +1,120 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; + +import 'package:amplify_db_common_dart/amplify_db_common_dart.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:drift/drift.dart'; + +part 'drift_queued_item_store.g.dart'; + +/// SQL schema of data stored in DriftDatabase. +class DriftQueuedItems extends Table { + /// Identifies object in the SQL database. + IntColumn get id => integer().autoIncrement()(); + + /// The string value stored for this object. + TextColumn get value => text()(); + + /// The timestamp of the item. + TextColumn get timestamp => text()(); +} + +/// {@template amplify_logging_cloudwatch.drift_queued_item_store} +/// Drift class for managing stored [DriftQueuedItems]. +/// {@endtemplate} +@DriftDatabase(tables: [DriftQueuedItems]) +class DriftQueuedItemStore extends _$DriftQueuedItemStore + implements QueuedItemStore { + /// {@macro amplify_logging_cloudwatch.drift_queued_item_store} + factory DriftQueuedItemStore(String storagePath) { + final driftQueryExecutor = connect( + name: 'logging_cached_logs', + path: storagePath, + ); + return DriftQueuedItemStore._(driftQueryExecutor); + } + + DriftQueuedItemStore._(super.driftQueryExecutor); + + // Reminder: Bump this number whenever you change or add a table definition. + @override + int get schemaVersion => 1; + int _currentTotalByteSize = 0; + + @override + MigrationStrategy get migration { + return MigrationStrategy( + onCreate: (Migrator m) async { + await m.createAll(); + }, + onUpgrade: (Migrator m, int from, int to) async { + // Note: From schemaVersion 1->2 we renamed DriftJsonStrings to DriftQueuedItems before the GA release + await m.createAll(); + }, + ); + } + + @override + Future addItem(String value, String timestamp) async { + await into(driftQueuedItems).insert( + DriftQueuedItemsCompanion( + value: Value(value), + timestamp: Value(timestamp), + ), + ); + _currentTotalByteSize += QueuedItem.getByteSize(value, timestamp); + } + + @override + Future> getCount(int count) async { + final statement = (select(driftQueuedItems) + ..orderBy([(v) => OrderingTerm.asc(v.id)]) + ..limit(count)); + + final retrievedItems = await statement.get(); + return retrievedItems.map( + (item) => QueuedItem( + id: item.id, + value: item.value, + timestamp: item.timestamp, + ), + ); + } + + @override + Future> getAll() async { + final retrievedItems = await select(driftQueuedItems).get(); + return retrievedItems.map( + (item) => QueuedItem( + id: item.id, + value: item.value, + timestamp: item.timestamp, + ), + ); + } + + @override + Future isFull(int maxSizeInMB) async { + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; + } + + @override + Future deleteItems(Iterable items) async { + final idsToDelete = items.map((item) => item.id); + final statement = delete(driftQueuedItems) + ..where((t) => t.id.isIn(idsToDelete)); + await statement.go(); + for (final item in items) { + _currentTotalByteSize -= item.byteSize; + } + } + + @override + Future clear() async { + await delete(driftQueuedItems).go(); + _currentTotalByteSize = 0; + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart new file mode 100644 index 0000000000..691a278bd9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.g.dart @@ -0,0 +1,227 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'drift_queued_item_store.dart'; + +// ignore_for_file: type=lint +class $DriftQueuedItemsTable extends DriftQueuedItems + with TableInfo<$DriftQueuedItemsTable, DriftQueuedItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $DriftQueuedItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _valueMeta = const VerificationMeta('value'); + @override + late final GeneratedColumn value = GeneratedColumn( + 'value', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _timestampMeta = + const VerificationMeta('timestamp'); + @override + late final GeneratedColumn timestamp = GeneratedColumn( + 'timestamp', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + @override + List get $columns => [id, value, timestamp]; + @override + String get aliasedName => _alias ?? 'drift_queued_items'; + @override + String get actualTableName => 'drift_queued_items'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('value')) { + context.handle( + _valueMeta, value.isAcceptableOrUnknown(data['value']!, _valueMeta)); + } else if (isInserting) { + context.missing(_valueMeta); + } + if (data.containsKey('timestamp')) { + context.handle(_timestampMeta, + timestamp.isAcceptableOrUnknown(data['timestamp']!, _timestampMeta)); + } else if (isInserting) { + context.missing(_timestampMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + DriftQueuedItem map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return DriftQueuedItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + value: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}value'])!, + timestamp: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}timestamp'])!, + ); + } + + @override + $DriftQueuedItemsTable createAlias(String alias) { + return $DriftQueuedItemsTable(attachedDatabase, alias); + } +} + +class DriftQueuedItem extends DataClass implements Insertable { + /// Identifies object in the SQL database. + final int id; + + /// The string value stored for this object. + final String value; + + /// The timestamp of the item. + final String timestamp; + const DriftQueuedItem( + {required this.id, required this.value, required this.timestamp}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['value'] = Variable(value); + map['timestamp'] = Variable(timestamp); + return map; + } + + DriftQueuedItemsCompanion toCompanion(bool nullToAbsent) { + return DriftQueuedItemsCompanion( + id: Value(id), + value: Value(value), + timestamp: Value(timestamp), + ); + } + + factory DriftQueuedItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return DriftQueuedItem( + id: serializer.fromJson(json['id']), + value: serializer.fromJson(json['value']), + timestamp: serializer.fromJson(json['timestamp']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'value': serializer.toJson(value), + 'timestamp': serializer.toJson(timestamp), + }; + } + + DriftQueuedItem copyWith({int? id, String? value, String? timestamp}) => + DriftQueuedItem( + id: id ?? this.id, + value: value ?? this.value, + timestamp: timestamp ?? this.timestamp, + ); + @override + String toString() { + return (StringBuffer('DriftQueuedItem(') + ..write('id: $id, ') + ..write('value: $value, ') + ..write('timestamp: $timestamp') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, value, timestamp); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is DriftQueuedItem && + other.id == this.id && + other.value == this.value && + other.timestamp == this.timestamp); +} + +class DriftQueuedItemsCompanion extends UpdateCompanion { + final Value id; + final Value value; + final Value timestamp; + const DriftQueuedItemsCompanion({ + this.id = const Value.absent(), + this.value = const Value.absent(), + this.timestamp = const Value.absent(), + }); + DriftQueuedItemsCompanion.insert({ + this.id = const Value.absent(), + required String value, + required String timestamp, + }) : value = Value(value), + timestamp = Value(timestamp); + static Insertable custom({ + Expression? id, + Expression? value, + Expression? timestamp, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (value != null) 'value': value, + if (timestamp != null) 'timestamp': timestamp, + }); + } + + DriftQueuedItemsCompanion copyWith( + {Value? id, Value? value, Value? timestamp}) { + return DriftQueuedItemsCompanion( + id: id ?? this.id, + value: value ?? this.value, + timestamp: timestamp ?? this.timestamp, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (value.present) { + map['value'] = Variable(value.value); + } + if (timestamp.present) { + map['timestamp'] = Variable(timestamp.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('DriftQueuedItemsCompanion(') + ..write('id: $id, ') + ..write('value: $value, ') + ..write('timestamp: $timestamp') + ..write(')')) + .toString(); + } +} + +abstract class _$DriftQueuedItemStore extends GeneratedDatabase { + _$DriftQueuedItemStore(QueryExecutor e) : super(e); + late final $DriftQueuedItemsTable driftQueuedItems = + $DriftQueuedItemsTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [driftQueuedItems]; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart new file mode 100644 index 0000000000..a14508d926 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -0,0 +1,175 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:async'; +import 'dart:js_util'; + +import 'package:amplify_core/amplify_core.dart'; +// ignore: implementation_imports +import 'package:aws_common/src/js/indexed_db.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:collection/collection.dart'; + +// TODO(kylechen): Consider merging/refactoring with existing 'amplify_secure_storage_web - _IndexedDBStorage' class +/// {@template amplify_logging_cloudwatch.indexed_db_adapter} +/// Provide indexDB methods for storing/retrieving Strings. +/// {@endtemplate} +class IndexedDbAdapter implements QueuedItemStore { + /// {@macro amplify_logging_cloudwatch.indexed_db_adapter} + IndexedDbAdapter(); + + /// The name of the database. + /// + /// Reference: https://www.w3.org/TR/IndexedDB/#name + String get databaseName => 'amplify_logging_cloudwatch'; + + /// The name of the object store. + /// + /// Reference: https://www.w3.org/TR/IndexedDB/#object-store-name + final storeName = 'logging_cached_logs'; + + late final Future _databaseOpenEvent = _openDatabase(); + + late final IDBDatabase _database; + + int _currentTotalByteSize = 0; + + /// Checks for IDB availability and attempts to open the database. + Future _openDatabase() async { + final db = indexedDB; + if (db == null) { + throw const InvalidStateException('IndexedDB is not available'); + } + final openRequest = db.open(databaseName, 1) + ..onupgradeneeded = (event) { + final database = event.target.result; + final objectStoreNames = database.objectStoreNames; + if (!objectStoreNames.contains(storeName)) { + database.createObjectStore( + storeName, + keyPath: 'id', + autoIncrement: true, + ); + } + }; + _database = await openRequest.future; + } + + /// Returns a new [IDBObjectStore] instance after waiting for initialization + /// to complete. + IDBObjectStore _getObjectStore() { + final transaction = _database.transaction( + storeName, + mode: IDBTransactionMode.readwrite, + ); + final store = transaction.objectStore(storeName); + return store; + } + + @override + Future addItem(String string, String timestamp) async { + await _databaseOpenEvent; + await _getObjectStore().add(string, timestamp).future; + + _currentTotalByteSize += QueuedItem.getByteSize(string, timestamp); + } + + @override + Future> getCount([int? count]) async { + final readValues = []; + + await _databaseOpenEvent; + final store = _getObjectStore(); + final request = store.getAll(null, count); + + await request.future; + + for (final elem in request.result) { + final value = elem as Object; + final id = getProperty(value, 'id'); + final string = getProperty(value, 'value'); + final timestamp = getProperty(value, 'timestamp'); + readValues.add( + QueuedItem(id: id, value: string, timestamp: timestamp), + ); + } + return readValues; + } + + @override + Future deleteItems(Iterable items) async { + if (items.isEmpty) return; + + final idsToDelete = items.map((item) => item.id); + + await _databaseOpenEvent; + final store = _getObjectStore(); + + final ranges = idsToDelete.splitBetween((a, b) => b != a + 1).map( + (range) => IDBKeyRange.bound(range.first, range.last), + ); + await Future.wait( + ranges.map((range) => store.deleteByKeyRange(range).future), + ); + + for (final item in items) { + _currentTotalByteSize -= item.byteSize; + } + } + + @override + Future> getAll() async { + final readValues = []; + + await _databaseOpenEvent; + final store = _getObjectStore(); + final request = store.getAll(null, null); + + await request.future; + + for (final elem in request.result) { + final value = elem as Map; + final id = value['id'] as int; + final itemValue = value['value'] as String; + final timestamp = value['timestamp'] as String; + readValues.add( + QueuedItem(id: id, value: itemValue, timestamp: timestamp), + ); + } + + return readValues; + } + + @override + Future isFull(int maxSizeInMB) async { + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; + } + + /// Clear the database. + @override + Future clear() async { + await _databaseOpenEvent; + await _getObjectStore().clear().future; + _currentTotalByteSize = 0; + } + + @override + void close() {} + + /// Check that IndexDB will work on this device. + static Future checkIsIndexedDBSupported() async { + if (indexedDB == null) { + return false; + } + // indexedDB will be non-null in Firefox private browsing, + // but will fail to open. + try { + final openRequest = indexedDB!.open('test', 1); + await openRequest.future; + return true; + } on Object { + return false; + } + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml new file mode 100644 index 0000000000..4b919f6b48 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -0,0 +1,26 @@ +name: amplify_logging_cloudwatch +description: Implementation of Amplify logger plugin with CloudWatch Logs. +version: 0.1.0 +homepage: https://docs.amplify.aws/lib/q/platform/flutter/ +repository: https://github.com/aws-amplify/amplify-flutter/tree/main/amplify_logging_cloudwatch +issue_tracker: https://github.com/aws-amplify/amplify-flutter/issues + +environment: + sdk: "^3.0.0" + +dependencies: + amplify_core: ">=1.2.0 <1.3.0" + amplify_db_common_dart: ">=0.3.0+1 <0.4.0" + aws_common: ">=0.5.0+2 <0.6.0" + aws_logging_cloudwatch: ^0.1.0 + collection: ^1.15.0 + drift: ">=2.10.0 <2.11.0" + meta: ^1.7.0 + +dev_dependencies: + amplify_lints: ^2.0.0 + build_runner: ^2.0.0 + build_test: ^2.0.0 + build_web_compilers: ^4.0.0 + drift_dev: ^2.2.0+1 + test: ^1.16.0 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart new file mode 100644 index 0000000000..9ad3ba46f3 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart @@ -0,0 +1,232 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_logging_cloudwatch/src/queued_item_store/dart_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:test/test.dart'; + +void main() { + late DartQueuedItemStore db; + + group('DartQueuedItemStore ', () { + setUpAll(() { + db = DartQueuedItemStore('/tmp'); + }); + + tearDownAll(() async { + await db.clear(); + }); + + setUp(() async { + await db.clear(); + }); + + Future> getAll() async { + return db.getCount(100); + } + + test('writes values to storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(values.length); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values)); + }); + + test('returns first n items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(3); + final readValues = readItems.map((e) => e.value); + expect(readValues, equals(values.sublist(0, 3))); + }); + + test( + 'returns all stored items when get request size exceeds stored item count', + () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await db.getCount(100); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('deletes all items in storage', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await getAll()); + + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test('deletes first subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + await db.deleteItems(await db.getCount(3)); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(3)); + }); + + test('deletes middle subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(3, 7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '1', '2', '7', '8', '9']); + }); + + test('deletes last subset of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(7); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 7)); + }); + + test('deletes first, middle, and last subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['0', '1', '4', '5', '8', '9']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['2', '3', '6', '7']); + }); + + test('deletes inner left and right subsets of stored items', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + const valuesToDelete = ['1', '2', '4', '5', '7', '8']; + final itemsToDelete = (await getAll()).where((item) { + return valuesToDelete.contains(item.value); + }); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, const ['0', '3', '6', '9']); + }); + + test('deletes the first stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(0, 1); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(1)); + }); + + test('deletes the last stored item', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final itemsToDelete = (await getAll()).toList().sublist(9); + await db.deleteItems(itemsToDelete); + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values.sublist(0, 9)); + }); + + test('throws no error when deleting all items twice', () async { + const values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + var readValues = await getAll(); + + await db.deleteItems(readValues); + await db.deleteItems(readValues); + + readValues = await getAll(); + + expect(readValues, isEmpty); + }); + + test('returns all stored items', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('returns empty list when no items are stored', () async { + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test( + 'checks if storage is full', + () async { + const capacityLimit = 1; + + for (var i = 0; i < 100; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + var result = await db.isFull(capacityLimit); + expect(result, isFalse); + + // add enough items to exceed capacity limit of 1mb + for (var i = 0; i < 50000; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + result = await db.isFull(capacityLimit); + expect(result, isTrue); + }, + ); + }); +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart index a335d5a9c9..e07cc6f617 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart @@ -14,17 +14,20 @@ class InMemoryQueuedItemStore implements QueuedItemStore { /// The next ID that should be used when adding an item in the DB. int _nextId = 0; + int _currentTotalByteSize = 0; final LinkedHashMap _database = LinkedHashMap(); @override void addItem(String string, String timestamp) { - _database[_nextId] = QueuedItem( + final queuedItem = QueuedItem( id: _nextId, value: string, timestamp: timestamp, ); + _database[_nextId] = queuedItem; _nextId++; + _currentTotalByteSize += queuedItem.byteSize; } @override @@ -36,12 +39,14 @@ class InMemoryQueuedItemStore implements QueuedItemStore { void deleteItems(Iterable items) { for (final item in items) { _database.remove(item.id); + _currentTotalByteSize -= item.byteSize; } } @override void clear() { _database.clear(); + _currentTotalByteSize = 0; } @override @@ -54,6 +59,7 @@ class InMemoryQueuedItemStore implements QueuedItemStore { @override bool isFull(int maxSizeInMB) { - throw UnimplementedError(); + final maxBytes = maxSizeInMB * 1024 * 1024; + return _currentTotalByteSize >= maxBytes; } } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 8c189b73f1..7a44684f10 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -32,11 +32,22 @@ abstract interface class QueuedItemStore { /// {@endtemplate} class QueuedItem { /// {@macro aws_logging_cloudwatch.string_database_element} + + /// The size of the item, in bytes, when stored in the database. const QueuedItem({ required this.id, required this.value, required this.timestamp, - }); + }) : _byteSize = value.length + timestamp.length + 8; + final int _byteSize; + + /// The size of the item, in bytes, when stored in the database. + int get byteSize => _byteSize; + + /// Gets the size of the item, in bytes, without creating the item. + static int getByteSize(String value, String timestamp) { + return value.length + timestamp.length + 8; + } /// The ID in the item. final int id; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart index a2ccab9746..48e73ca64e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -190,5 +190,43 @@ void main() { expect(readValues, isEmpty); }); + + test('returns all stored items', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem(value, DateTime.now().toIso8601String()); + } + + final readItems = await getAll(); + final readValues = readItems.map((e) => e.value); + expect(readValues, values); + }); + + test('returns empty list when no items are stored', () async { + final readItems = await getAll(); + expect(readItems, isEmpty); + }); + + test( + 'checks if storage is full', + () async { + const capacityLimit = 1; + + for (var i = 0; i < 100; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + var result = await db.isFull(capacityLimit); + expect(result, isFalse); + + // add enough items to exceed capacity limit of 1mb + for (var i = 0; i < 50000; i++) { + await db.addItem('0', DateTime.now().toIso8601String()); + } + + result = await db.isFull(capacityLimit); + expect(result, isTrue); + }, + ); }); } From 7cd43d525e0e5bd1fd2934a1447208f3a55f73db Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 29 Aug 2023 10:01:07 -0700 Subject: [PATCH 09/43] chore(logging): cherry picked last commit from #3572 (#3633) --- .../lib/src/cloudwatch_logger_plugin.dart | 4 +- .../aws_logging_cloudwatch/pubspec.yaml | 2 +- .../test/cloudwatch_logger_plugin_test.dart | 160 ++++++++++----- .../cloudwatch_logger_plugin_test.mocks.dart | 188 ------------------ .../aws_logging_cloudwatch/test/mocks.dart | 17 ++ 5 files changed, 132 insertions(+), 239 deletions(-) delete mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 89b49d3e95..f6e438cde5 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -240,7 +240,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin } /// Whether a [logEntry] should be logged by this plugin. - Future _isLoggable(LogEntry logEntry) async { + bool _isLoggable(LogEntry logEntry) { if (!_enabled) { return false; } @@ -250,7 +250,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin @override Future handleLogEntry(LogEntry logEntry) async { - if (!(await _isLoggable(logEntry))) { + if (!(_isLoggable(logEntry))) { return; } final item = logEntry.toQueuedItem(); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml index bf2a7a7454..fa470e56ba 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml @@ -27,5 +27,5 @@ dev_dependencies: build_web_compilers: ^4.0.0 built_value_generator: 8.6.1 json_serializable: 6.7.0 - mockito: ^5.0.0 + mocktail: ^1.0.0 test: ^1.22.1 diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index 9eae9dad7f..a7d8c25cf7 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -1,28 +1,24 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import 'dart:async'; + import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; -import 'package:mockito/annotations.dart'; -import 'package:mockito/mockito.dart'; +import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; -import 'cloudwatch_logger_plugin_test.mocks.dart'; +import 'mocks.dart'; -@GenerateMocks( - [ - CloudWatchLogsClient, - QueuedItemStore, - CloudWatchLogStreamProvider, - RemoteLoggingConstraintProvider, - ], -) void main() { - final mockCloudWatchLogsClient = MockCloudWatchLogsClient(); - final mockQueuedItemStore = MockQueuedItemStore(); - final mockCloudWatchLogStreamProvider = MockCloudWatchLogStreamProvider(); + late MockCloudWatchLogsClient mockCloudWatchLogsClient; + late MockQueuedItemStore mockQueuedItemStore; + late MockCloudWatchLogStreamProvider mockCloudWatchLogStreamProvider; + late CloudWatchLoggerPlugin plugin; + late MockSmithyOperation mockPutLogEventsOperation; + const loggingConstraint = LoggingConstraint(); const pluginConfig = CloudWatchLoggerPluginConfiguration( logGroupName: 'logGroupName', @@ -30,12 +26,6 @@ void main() { localLoggingConstraint: loggingConstraint, enable: false, ); - final plugin = CloudWatchLoggerPlugin.testPlugin( - client: mockCloudWatchLogsClient, - pluginConfig: pluginConfig, - logStore: mockQueuedItemStore, - logStreamProvider: mockCloudWatchLogStreamProvider, - ); final errorLog = LogEntry( level: LogLevel.error, message: 'error message', @@ -48,44 +38,118 @@ void main() { loggerName: 'loggerName', ); - group('enable/disable', () { - test('when enabled, logs are added to the item store', () { - when(mockQueuedItemStore.addItem(any, any)).thenAnswer((_) async => {}); - when(mockQueuedItemStore.isFull(any)) + final queuedItems = [ + QueuedItem( + id: 1, + value: 'first log message', + timestamp: DateTime.timestamp().toIso8601String(), + ), + QueuedItem( + id: 2, + value: 'second og message', + timestamp: DateTime.timestamp().toIso8601String(), + ), + ]; + + group('enable/disable: ', () { + setUp(() { + mockCloudWatchLogsClient = MockCloudWatchLogsClient(); + mockQueuedItemStore = MockQueuedItemStore(); + mockCloudWatchLogStreamProvider = MockCloudWatchLogStreamProvider(); + plugin = CloudWatchLoggerPlugin.testPlugin( + client: mockCloudWatchLogsClient, + pluginConfig: pluginConfig, + logStore: mockQueuedItemStore, + logStreamProvider: mockCloudWatchLogStreamProvider, + ); + }); + test('when enabled, logs are added to the item store', () async { + when(() => mockQueuedItemStore.addItem(any(), any())) + .thenAnswer((_) async => {}); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) .thenAnswer((_) async => Future.value(false)); - expect( - () { - plugin - ..enable() - ..handleLogEntry(errorLog); - }, - returnsNormally, + plugin.enable(); + await expectLater( + plugin.handleLogEntry(errorLog), + completes, ); + verify(() => mockQueuedItemStore.addItem(any(), any())).called(1); + verify( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).called(1); }); test('when enabled,logs are not added to the log store if not loggable', - () { - expect( - () { - plugin - ..enable() - ..handleLogEntry(warnLog); - }, - returnsNormally, + () async { + plugin.enable(); + await expectLater( + plugin.handleLogEntry(warnLog), + completes, ); + verifyZeroInteractions(mockQueuedItemStore); }); test( 'when disabled, logs are cleared from item store and new logs will not' - ' be added to the local store', () { - when(mockQueuedItemStore.clear()).thenAnswer((_) => Future.value()); - expect( - () { - plugin - ..disable() - ..handleLogEntry(errorLog); - }, - returnsNormally, + ' be added to the local store', () async { + when(() => mockQueuedItemStore.clear()).thenAnswer((_) => Future.value()); + await plugin.disable(); + await expectLater( + plugin.handleLogEntry(warnLog), + completes, + ); + verifyNever(() => mockQueuedItemStore.addItem(any(), any())); + verify(() => mockQueuedItemStore.clear()).called(1); + }); + }); + + group('flush logs: ', () { + setUp(() { + registerFallbackValue( + PutLogEventsRequest( + logGroupName: 'logGroupName', + logStreamName: 'logStreamName', + logEvents: [], + ), + ); + mockCloudWatchLogsClient = MockCloudWatchLogsClient(); + mockQueuedItemStore = MockQueuedItemStore(); + mockCloudWatchLogStreamProvider = MockCloudWatchLogStreamProvider(); + mockPutLogEventsOperation = MockSmithyOperation(); + + plugin = CloudWatchLoggerPlugin.testPlugin( + client: mockCloudWatchLogsClient, + pluginConfig: pluginConfig, + logStore: mockQueuedItemStore, + logStreamProvider: mockCloudWatchLogStreamProvider, + ); + }); + + test('it starts a sync when it is not in progress', () async { + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => Future.value(PutLogEventsResponse()), + ); + + when(() => mockCloudWatchLogStreamProvider.logStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockQueuedItemStore.addItem(any(), any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + + await plugin.handleLogEntry(errorLog); + await expectLater( + plugin.flushLogs(), + completes, ); }); }); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart deleted file mode 100644 index 91d06ea3ca..0000000000 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.mocks.dart +++ /dev/null @@ -1,188 +0,0 @@ -// Mocks generated by Mockito 5.4.2 from annotations -// in aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart. -// Do not manually edit this file. - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i9; - -import 'package:aws_common/aws_common.dart' as _i5; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart' as _i10; -import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart' - as _i8; -import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart' as _i3; -import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/create_log_stream_request.dart' - as _i4; -import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_request.dart' - as _i7; -import 'package:aws_logging_cloudwatch/src/sdk/src/cloud_watch_logs/model/put_log_events_response.dart' - as _i6; -import 'package:mockito/mockito.dart' as _i1; -import 'package:smithy/smithy.dart' as _i2; - -// ignore_for_file: type=lint -// ignore_for_file: avoid_redundant_argument_values -// ignore_for_file: avoid_setters_without_getters -// ignore_for_file: comment_references -// ignore_for_file: implementation_imports -// ignore_for_file: invalid_use_of_visible_for_testing_member -// ignore_for_file: prefer_const_constructors -// ignore_for_file: unnecessary_parenthesis -// ignore_for_file: camel_case_types -// ignore_for_file: subtype_of_sealed_class - -class _FakeSmithyOperation_0 extends _i1.SmartFake - implements _i2.SmithyOperation { - _FakeSmithyOperation_0( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -/// A class which mocks [CloudWatchLogsClient]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockCloudWatchLogsClient extends _i1.Mock - implements _i3.CloudWatchLogsClient { - MockCloudWatchLogsClient() { - _i1.throwOnMissingStub(this); - } - - @override - _i2.SmithyOperation createLogStream( - _i4.CreateLogStreamRequest? input, { - _i5.AWSHttpClient? client, - _i5.AWSCredentialsProvider? credentialsProvider, - }) => - (super.noSuchMethod( - Invocation.method( - #createLogStream, - [input], - { - #client: client, - #credentialsProvider: credentialsProvider, - }, - ), - returnValue: _FakeSmithyOperation_0( - this, - Invocation.method( - #createLogStream, - [input], - { - #client: client, - #credentialsProvider: credentialsProvider, - }, - ), - ), - ) as _i2.SmithyOperation); - @override - _i2.SmithyOperation<_i6.PutLogEventsResponse> putLogEvents( - _i7.PutLogEventsRequest? input, { - _i5.AWSHttpClient? client, - _i5.AWSCredentialsProvider? credentialsProvider, - }) => - (super.noSuchMethod( - Invocation.method( - #putLogEvents, - [input], - { - #client: client, - #credentialsProvider: credentialsProvider, - }, - ), - returnValue: _FakeSmithyOperation_0<_i6.PutLogEventsResponse>( - this, - Invocation.method( - #putLogEvents, - [input], - { - #client: client, - #credentialsProvider: credentialsProvider, - }, - ), - ), - ) as _i2.SmithyOperation<_i6.PutLogEventsResponse>); -} - -/// A class which mocks [QueuedItemStore]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockQueuedItemStore extends _i1.Mock implements _i8.QueuedItemStore { - MockQueuedItemStore() { - _i1.throwOnMissingStub(this); - } - - @override - _i9.FutureOr addItem( - String? string, - String? timestamp, - ) => - (super.noSuchMethod(Invocation.method( - #addItem, - [ - string, - timestamp, - ], - )) as _i9.FutureOr); - @override - _i9.FutureOr> getCount(int? count) => - (super.noSuchMethod( - Invocation.method( - #getCount, - [count], - ), - returnValue: - _i9.Future>.value(<_i8.QueuedItem>[]), - ) as _i9.FutureOr>); - @override - _i9.FutureOr deleteItems(Iterable<_i8.QueuedItem>? items) => - (super.noSuchMethod(Invocation.method( - #deleteItems, - [items], - )) as _i9.FutureOr); - @override - _i9.FutureOr> getAll() => (super.noSuchMethod( - Invocation.method( - #getAll, - [], - ), - returnValue: - _i9.Future>.value(<_i8.QueuedItem>[]), - ) as _i9.FutureOr>); - @override - _i9.FutureOr isFull(int? maxSizeInMB) => (super.noSuchMethod( - Invocation.method( - #isFull, - [maxSizeInMB], - ), - returnValue: _i9.Future.value(false), - ) as _i9.FutureOr); -} - -/// A class which mocks [CloudWatchLogStreamProvider]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockCloudWatchLogStreamProvider extends _i1.Mock - implements _i10.CloudWatchLogStreamProvider { - MockCloudWatchLogStreamProvider() { - _i1.throwOnMissingStub(this); - } - - @override - _i9.Future get logStream => (super.noSuchMethod( - Invocation.getter(#logStream), - returnValue: _i9.Future.value(''), - ) as _i9.Future); -} - -/// A class which mocks [RemoteLoggingConstraintProvider]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockRemoteLoggingConstraintProvider extends _i1.Mock - implements _i10.RemoteLoggingConstraintProvider { - MockRemoteLoggingConstraintProvider() { - _i1.throwOnMissingStub(this); - } -} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart new file mode 100644 index 0000000000..a150916989 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart @@ -0,0 +1,17 @@ +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:smithy/smithy.dart'; + +class MockSmithyOperation extends Mock implements SmithyOperation {} + +class MockCloudWatchLogsClient extends Mock implements CloudWatchLogsClient {} + +class MockQueuedItemStore extends Mock implements QueuedItemStore {} + +class MockCloudWatchLogStreamProvider extends Mock + implements CloudWatchLogStreamProvider {} + +class MockRemoteLoggingConstraintProvider extends Mock + implements RemoteLoggingConstraintProvider {} From 587f11ca9c2d8bd2cfe46458037b1f0b77b6cbb2 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Tue, 29 Aug 2023 14:29:35 -0700 Subject: [PATCH 10/43] chore(logging): fixed comment for static method and export (#3631) * fixed comment for static method * fix: updated versions with aft and added back in queuedItemStorage exports (not sure how it got removed) * fix: made tests more efficient so it wouldn't time out and removed a default todo comment * chore: changed package_info_plus back to ^4.0.2 --- .../amplify_logging_cloudwatch/example/bin/main.dart | 3 ++- .../amplify_logging_cloudwatch/pubspec.yaml | 12 ++++++------ .../test/queued_item_store_test.dart | 11 ++++++----- .../lib/aws_logging_cloudwatch.dart | 2 ++ .../lib/src/queued_item_store/queued_item_store.dart | 2 +- .../aws_logging_cloudwatch/pubspec.yaml | 10 +++++----- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart index d02def190f..a796abe2fd 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart @@ -1,2 +1,3 @@ -// TODO(amplify_logging_cloudwatch): Write example +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 void main() {} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml index 4b919f6b48..ced65b4de1 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -9,18 +9,18 @@ environment: sdk: "^3.0.0" dependencies: - amplify_core: ">=1.2.0 <1.3.0" + amplify_core: ">=1.3.0 <1.4.0" amplify_db_common_dart: ">=0.3.0+1 <0.4.0" - aws_common: ">=0.5.0+2 <0.6.0" + aws_common: ">=0.6.0 <0.7.0" aws_logging_cloudwatch: ^0.1.0 collection: ^1.15.0 - drift: ">=2.10.0 <2.11.0" + drift: ">=2.11.0 <2.12.0" meta: ^1.7.0 dev_dependencies: - amplify_lints: ^2.0.0 - build_runner: ^2.0.0 + amplify_lints: ">=3.0.0 <3.1.0" + build_runner: ^2.4.0 build_test: ^2.0.0 build_web_compilers: ^4.0.0 drift_dev: ^2.2.0+1 - test: ^1.16.0 + test: ^1.22.1 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart index 9ad3ba46f3..8b80fc23ae 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart @@ -212,16 +212,17 @@ void main() { () async { const capacityLimit = 1; - for (var i = 0; i < 100; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); + final largeItem = '0' * 10240; // 10KB for example + + for (var i = 0; i < 5; i++) { + await db.addItem(largeItem, DateTime.now().toIso8601String()); } var result = await db.isFull(capacityLimit); expect(result, isFalse); - // add enough items to exceed capacity limit of 1mb - for (var i = 0; i < 50000; i++) { - await db.addItem('0', DateTime.now().toIso8601String()); + for (var i = 0; i < 100; i++) { + await db.addItem(largeItem, DateTime.now().toIso8601String()); } result = await db.isFull(capacityLimit); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart index f022c0abf2..5af0cf6bcf 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -7,4 +7,6 @@ library aws_logging_cloudwatch; export 'src/cloudwatch_logger_plugin.dart'; export 'src/log_stream_provider.dart'; export 'src/plugin_config.dart'; +export 'src/queued_item_store/in_memory_queued_item_store.dart'; +export 'src/queued_item_store/queued_item_store.dart'; export 'src/remote_constraint_provider.dart'; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 7a44684f10..128790c886 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -44,7 +44,7 @@ class QueuedItem { /// The size of the item, in bytes, when stored in the database. int get byteSize => _byteSize; - /// Gets the size of the item, in bytes, without creating the item. + /// Returns the size of an item, in bytes. static int getByteSize(String value, String timestamp) { return value.length + timestamp.length + 8; } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml index fa470e56ba..9d2e09f7d3 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml @@ -9,9 +9,9 @@ environment: sdk: "^3.0.0" dependencies: - amplify_core: ">=1.2.0 <1.3.0" - aws_common: ^0.5.0+2 - aws_signature_v4: ^0.4.0+2 + amplify_core: ">=1.3.0 <1.4.0" + aws_common: ">=0.6.0 <0.7.0" + aws_signature_v4: ">=0.5.0 <0.6.0" built_collection: ^5.1.1 built_value: ">=8.6.0 <8.7.0" fixnum: ^1.1.0 @@ -21,11 +21,11 @@ dependencies: smithy_aws: ^0.5.0+3 dev_dependencies: - amplify_lints: ^2.0.0 + amplify_lints: ">=3.0.0 <3.1.0" build_runner: ^2.4.0 build_test: ^2.0.0 build_web_compilers: ^4.0.0 built_value_generator: 8.6.1 - json_serializable: 6.7.0 + json_serializable: 6.7.1 mocktail: ^1.0.0 test: ^1.22.1 From f508e30b08268970f76e8f1cc008c789340497c7 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:58:54 -0700 Subject: [PATCH 11/43] chore(logging): fix indexed db adapter was failing browser tests (#3644) chore: fix indexed db adapter. was failing browser tests --- .../lib/src/queued_item_store/index_db/indexed_db_adapter.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart index a14508d926..19da0f00a1 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -69,7 +69,8 @@ class IndexedDbAdapter implements QueuedItemStore { @override Future addItem(String string, String timestamp) async { await _databaseOpenEvent; - await _getObjectStore().add(string, timestamp).future; + await _getObjectStore() + .push({'value': string, 'timestamp': timestamp}).future; _currentTotalByteSize += QueuedItem.getByteSize(string, timestamp); } From e5ab84dfd3130fb389ae651169258f5d94555d2d Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Thu, 31 Aug 2023 10:19:11 -0700 Subject: [PATCH 12/43] feat(logging): log stream provider to cache log stream (#3646) --- .../lib/src/cloudwatch_logger_plugin.dart | 63 +++----- .../lib/src/log_stream_provider.dart | 46 +++--- .../lib/src/stoppable_timer.dart | 8 +- .../test/cloudwatch_logger_plugin_test.dart | 143 +++++++++++++++++- .../aws_logging_cloudwatch/test/mocks.dart | 1 - 5 files changed, 195 insertions(+), 66 deletions(-) diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index f6e438cde5..e1df21b800 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -6,8 +6,6 @@ import 'dart:math'; import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; -import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:aws_logging_cloudwatch/src/stoppable_timer.dart'; import 'package:fixnum/fixnum.dart'; @@ -32,10 +30,11 @@ import 'package:meta/meta.dart'; // The maximum number of log events in a batch is 10,000. const int _maxNumberOfLogEventsInBatch = 10000; -const int _maxLogEventsTimeSpanInBatch = 24 * 3600; const int _maxLogEventsBatchSize = 1048576; const int _baseBufferSize = 26; const int _maxLogEventSize = 256000; +final int _maxLogEventsTimeSpanInBatch = + const Duration(hours: 24).inMilliseconds; typedef _LogBatch = (List logQueues, List logEvents); @@ -138,51 +137,28 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin Future _startSyncingIfNotInProgress() async { Future startSyncing() async { - String logStream; - try { - logStream = await _logStreamProvider.logStream; - } on Exception catch (e) { - if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { - await _logStore.clear(); - logger.warn( - 'Reached local store max size of: ' - '${_pluginConfig.localStoreMaxSizeInMB}.Hence logs are deleted from ' - 'local store.', - ); - } - logger.error('Failed to create CloudWatch log stream', e); - return; - } - - final batcheStream = _getLogBatchesToSync(); - await for (final (logs, events) in batcheStream) { - try { - final response = await _sendToCloudWatch(events, logStream); - if (response.rejectedLogEventsInfo?.tooNewLogEventStartIndex != - null) { - break; - } - await _logStore.deleteItems(logs); - } on Exception catch (e) { - if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { - await _logStore.deleteItems(logs); - logger.warn( - 'Reached local store max size of: ' - '${_pluginConfig.localStoreMaxSizeInMB}.Hence logs are deleted ' - 'from local store.', - ); - } - logger.error('Failed to sync batched logs to CloudWatch', e); + final batchStream = _getLogBatchesToSync(); + await for (final (logs, events) in batchStream) { + final response = await _sendToCloudWatch(events); + // TODO(nikahsn): handle tooOldLogEventEndIndex + // and expiredLogEventEndIndex. + if (response.rejectedLogEventsInfo?.tooNewLogEventStartIndex != null) { + // TODO(nikahsn): throw and exception to enable log rotation if the + // log store is full. + break; } + await _logStore.deleteItems(logs); } } if (!_syncing) { + // TODO(nikahsn): disable log rotation. _syncing = true; try { await startSyncing(); } on Exception catch (e) { logger.error('Failed to sync logs to CloudWatch.', e); + // TODO(nikahsn): enable log rotation if the log store is full } finally { _syncing = false; } @@ -200,20 +176,25 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin Future _sendToCloudWatch( List logEvents, - String logStreamName, ) async { + final logStreamName = await _logStreamProvider.defaultLogStream; final request = PutLogEventsRequest( logGroupName: _pluginConfig.logGroupName, logStreamName: logStreamName, logEvents: logEvents, ); - return _client.putLogEvents(request).result; + try { + return await _client.putLogEvents(request).result; + } on ResourceNotFoundException { + await _logStreamProvider.createLogStream(logStreamName); + return _client.putLogEvents(request).result; + } } Stream<_LogBatch> _getLogBatchesToSync() async* { final queuedLogs = (await _logStore.getAll()).toList(); if (queuedLogs.isEmpty) { - yield ([], []); + return; } final logEvents = []; final logQueues = []; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart index 7688dff6d8..963c47e5e1 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart @@ -1,6 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import 'dart:async'; + import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:intl/intl.dart'; @@ -9,17 +11,19 @@ import 'package:intl/intl.dart'; /// [CloudWatchLogStreamProvider] /// {@endtemplate} abstract class CloudWatchLogStreamProvider { - /// Returns CloudWatch log stream name to use for sending logs to CloudWatch. - /// - /// It creates the log stream if it does not exists. - Future get logStream; + /// Returns the default log stream name from cache. if cache is missing it + /// calls [createLogStream] and return the log stream name. + FutureOr get defaultLogStream; + + /// Creates the log stream and add it to the cache. + Future createLogStream(String logStreamName); } /// {@template aws_logging_cloudwatch.default_cloudwatch_logstream_provider} /// The default implementaion of [CloudWatchLogStreamProvider]. /// -/// It uses `logStreamName` if provided otherwise uses `yyyy-MM-dd` date format -/// of UTC time now for the `logStreamName`. +/// It uses `defaultLogStreamName` if provided otherwise uses `yyyy-MM-dd` +/// date format of UTC time now for the `defaultLogStreamName`. /// {@endtemplate} class DefaultCloudWatchLogStreamProvider implements CloudWatchLogStreamProvider { @@ -27,24 +31,31 @@ class DefaultCloudWatchLogStreamProvider DefaultCloudWatchLogStreamProvider({ required CloudWatchLogsClient client, required String logGroupName, - String? logStreamName, - }) : _logStreamName = logStreamName, + String? defaultLogStreamName, + }) : _defaultLogStreamName = defaultLogStreamName, _logGroupName = logGroupName, _client = client; - final String? _logStreamName; + final String? _defaultLogStreamName; final String _logGroupName; final CloudWatchLogsClient _client; static final DateFormat _dateFormat = DateFormat('yyyy-MM-dd'); + final _createdLogStreams = {}; - /// Creates CloudWatch log stream if does not exists and returns - /// the log stream name. - /// - /// Throws an [Exception] if fails to create the log stream. @override - Future get logStream async { + Future get defaultLogStream async { final logStreamName = - _logStreamName ?? _dateFormat.format(DateTime.timestamp()); + _defaultLogStreamName ?? _dateFormat.format(DateTime.timestamp()); + if (_createdLogStreams.contains(logStreamName)) { + return logStreamName; + } + await createLogStream(logStreamName); + _createdLogStreams.add(logStreamName); + return logStreamName; + } + + @override + Future createLogStream(String logStreamName) async { try { await _client .createLogStream( @@ -55,10 +66,7 @@ class DefaultCloudWatchLogStreamProvider ) .result; } on ResourceAlreadyExistsException { - return logStreamName; - } on Exception { - rethrow; + return; } - return logStreamName; } } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart index d889001116..6cd5e15ef9 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/stoppable_timer.dart @@ -16,6 +16,7 @@ class StoppableTimer { required Future Function() callback, required void Function(Object) onError, }) : _callback = callback, + _onError = onError, _timer = Timer.periodic(duration, (Timer t) { callback().catchError((Object e) { onError(e); @@ -25,12 +26,15 @@ class StoppableTimer { /// [Duration] between invocations of the provided callback function. final Duration duration; - final void Function() _callback; + final Future Function() _callback; + final void Function(Object) _onError; /// Start the timer. void start() { if (_timer.isActive) return; - _timer = Timer.periodic(duration, (Timer t) => _callback()); + _timer = Timer.periodic(duration, (Timer t) { + _callback().catchError(_onError); + }); } /// Stop the timer. diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index a7d8c25cf7..fe69936682 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -5,7 +5,6 @@ import 'dart:async'; import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; @@ -132,7 +131,101 @@ void main() { (_) async => Future.value(PutLogEventsResponse()), ); - when(() => mockCloudWatchLogStreamProvider.logStream) + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.addItem(any(), any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogStreamProvider.defaultLogStream, + ).called(1); + + verifyNever( + () => mockCloudWatchLogStreamProvider.createLogStream(any()), + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(1); + + verify(() => mockQueuedItemStore.deleteItems(queuedItems)).called(1); + }); + + test('does not start a sync if a sync is in progress', () async { + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => Future.value( + PutLogEventsResponse(), + ), + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.addItem(any(), any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + + final flushLogs = plugin.flushLogs(); + await expectLater( + plugin.flushLogs(), + completes, + ); + await flushLogs; + + verify( + () => mockCloudWatchLogStreamProvider.defaultLogStream, + ).called(1); + + verifyNever( + () => mockCloudWatchLogStreamProvider.createLogStream(any()), + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(1); + + verify(() => mockQueuedItemStore.deleteItems(queuedItems)).called(1); + }); + + test('does not delete logs if they are too new', () async { + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => Future.value( + PutLogEventsResponse( + rejectedLogEventsInfo: + RejectedLogEventsInfo(tooNewLogEventStartIndex: 0), + ), + ), + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) .thenAnswer((_) async => Future.value('log stream name')); when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( @@ -146,11 +239,55 @@ void main() { (_) async => Future>.value(queuedItems), ); - await plugin.handleLogEntry(errorLog); await expectLater( plugin.flushLogs(), completes, ); + + verify( + () => mockCloudWatchLogStreamProvider.defaultLogStream, + ).called(1); + + verifyNever( + () => mockCloudWatchLogStreamProvider.createLogStream(any()), + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(1); + + verifyNever( + () => mockQueuedItemStore.deleteItems(any()), + ); + }); + + test('it calls create log stream on resource not found exception', + () async { + when(() => mockCloudWatchLogsClient.putLogEvents(any())) + .thenThrow(ResourceNotFoundException()); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockCloudWatchLogStreamProvider.createLogStream(any())) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogStreamProvider.defaultLogStream, + ).called(1); + + verify( + () => mockCloudWatchLogStreamProvider.createLogStream(any()), + ).called(1); }); }); } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart index a150916989..9a88dca02b 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart @@ -1,5 +1,4 @@ import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:mocktail/mocktail.dart'; import 'package:smithy/smithy.dart'; From a4c05e5168643ba0a0e5396dde35a5d8d5cb9311 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Thu, 31 Aug 2023 16:39:41 -0700 Subject: [PATCH 13/43] feat(logging): enable queue rotation (#3656) --- .../dart_queued_item_store.stub.dart | 6 +++++- .../dart_queued_item_store.vm.dart | 12 ++++++++++-- .../dart_queued_item_store.web.dart | 12 ++++++++++-- .../drift/drift_queued_item_store.dart | 10 +++++++++- .../index_db/indexed_db_adapter.dart | 10 +++++++++- .../test/queued_item_store_test.dart | 15 +++++++++++++++ .../in_memory_queued_item_store.dart | 11 ++++++++++- .../src/queued_item_store/queued_item_store.dart | 8 +++++++- .../queued_item_store/queued_item_store_test.dart | 15 +++++++++++++++ 9 files changed, 90 insertions(+), 9 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart index 659be2c439..74f5ac28b9 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart @@ -23,7 +23,11 @@ class DartQueuedItemStore implements QueuedItemStore, Closeable { } @override - FutureOr addItem(String string, String timestamp) { + FutureOr addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }) { throw UnimplementedError('addItem() has not been implemented.'); } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart index 17de9554c1..1cd2e348e4 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -25,8 +25,16 @@ class DartQueuedItemStore implements QueuedItemStore, Closeable { final DriftQueuedItemStore _database; @override - Future addItem(String string, String timestamp) { - return _database.addItem(string, timestamp); + Future addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }) async { + return _database.addItem( + string, + timestamp, + enableQueueRotation: enableQueueRotation, + ); } @override diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart index 7f8b79f397..0dc36a615c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -29,9 +29,17 @@ class DartQueuedItemStore String get runtimeTypeName => 'DartQueuedItemStore'; @override - Future addItem(String string, String timestamp) async { + Future addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }) async { final db = await _database; - await db.addItem(string, timestamp); + await db.addItem( + string, + timestamp, + enableQueueRotation: enableQueueRotation, + ); } @override diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart index c4e35c683a..b2f7406a0f 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -57,7 +57,15 @@ class DriftQueuedItemStore extends _$DriftQueuedItemStore } @override - Future addItem(String value, String timestamp) async { + Future addItem( + String value, + String timestamp, { + bool enableQueueRotation = false, + }) async { + if (enableQueueRotation) { + final toDelete = await getCount(1); + await deleteItems(toDelete); + } await into(driftQueuedItems).insert( DriftQueuedItemsCompanion( value: Value(value), diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart index 19da0f00a1..37c1812e78 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -67,7 +67,15 @@ class IndexedDbAdapter implements QueuedItemStore { } @override - Future addItem(String string, String timestamp) async { + Future addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }) async { + if (enableQueueRotation) { + final toDelete = await getCount(1); + await deleteItems(toDelete); + } await _databaseOpenEvent; await _getObjectStore() .push({'value': string, 'timestamp': timestamp}).future; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart index 8b80fc23ae..4c18fc12d8 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart @@ -36,6 +36,21 @@ void main() { expect(readValues, equals(values)); }); + test('writes values to storage with enable queue rotation', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem( + value, + DateTime.now().toIso8601String(), + enableQueueRotation: true, + ); + } + + final readItems = await getAll(); + expect(readItems.length, 1); + expect(readItems.first.value, values.last); + }); + test('returns first n items in storage', () async { const values = ['0', '1', '2', '3', '4', '5']; for (final value in values) { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart index e07cc6f617..252956a969 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/in_memory_queued_item_store.dart @@ -19,7 +19,16 @@ class InMemoryQueuedItemStore implements QueuedItemStore { LinkedHashMap(); @override - void addItem(String string, String timestamp) { + void addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }) { + if (enableQueueRotation) { + final toDelete = _database.values.take(1); + deleteItems(toDelete); + } + final queuedItem = QueuedItem( id: _nextId, value: string, diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 128790c886..24e197d449 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -6,7 +6,13 @@ import 'dart:async'; /// Database for storing strings. abstract interface class QueuedItemStore { /// Insert an item to the end of the queue. - FutureOr addItem(String string, String timestamp); + /// If [enableQueueRotation] is `true` it removes the first item from the + /// queue and adds the new item to the end of the queue. + FutureOr addItem( + String string, + String timestamp, { + bool enableQueueRotation = false, + }); /// Get the first [count] items from the queue. FutureOr> getCount(int count); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart index 48e73ca64e..ec2bca8874 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -36,6 +36,21 @@ void main() { expect(readValues, equals(values)); }); + test('writes values to storage with queue rotation enabled', () async { + const values = ['0', '1', '2', '3', '4', '5']; + for (final value in values) { + await db.addItem( + value, + DateTime.now().toIso8601String(), + enableQueueRotation: true, + ); + } + + final readItems = await db.getAll(); + expect(readItems.length, 1); + expect(readItems.first.value, values.last); + }); + test('returns first n items in storage', () async { const values = ['0', '1', '2', '3', '4', '5']; for (final value in values) { From f9991bf123edf8ef62b77e4372a0a088113fba3f Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 1 Sep 2023 13:54:28 -0700 Subject: [PATCH 14/43] fix(logging): queued item store to use path provider on vm (#3675) * fix(logging): queued item store to use path provider on vm if storage path is null * chore(logging): update github workflows --- .../workflows/amplify_logging_cloudwatch.yaml | 23 +------- .../dart_queued_item_store.vm.dart | 13 +++-- .../drift/drift_queued_item_store.dart | 2 +- .../amplify_logging_cloudwatch/pubspec.yaml | 4 ++ .../lib/src/cloudwatch_logger_plugin.dart | 58 ++++++++----------- 5 files changed, 39 insertions(+), 61 deletions(-) diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml index d89927c36c..10e6f6751d 100644 --- a/.github/workflows/amplify_logging_cloudwatch.yaml +++ b/.github/workflows/amplify_logging_cloudwatch.yaml @@ -11,8 +11,7 @@ on: - '.github/workflows/amplify_logging_cloudwatch.yaml' - '.github/workflows/dart_dart2js.yaml' - '.github/workflows/dart_ddc.yaml' - - '.github/workflows/dart_native.yaml' - - '.github/workflows/dart_vm.yaml' + - '.github/workflows/flutter_vm.yaml' - 'packages/amplify_core/lib/**/*.dart' - 'packages/amplify_core/pubspec.yaml' - 'packages/amplify_lints/lib/**/*.yaml' @@ -42,25 +41,7 @@ permissions: read-all jobs: test: - uses: ./.github/workflows/dart_vm.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - native_test: - needs: test - uses: ./.github/workflows/dart_native.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - ddc_test: - needs: test - uses: ./.github/workflows/dart_ddc.yaml - with: - package-name: amplify_logging_cloudwatch - working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch - dart2js_test: - needs: test - uses: ./.github/workflows/dart_dart2js.yaml + uses: ./.github/workflows/flutter_vm.yaml with: package-name: amplify_logging_cloudwatch working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart index 1cd2e348e4..627213d0e2 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -7,16 +7,19 @@ import 'package:amplify_logging_cloudwatch/src/queued_item_store/drift/drift_que import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; import 'package:meta/meta.dart'; +import 'package:path_provider/path_provider.dart'; /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} class DartQueuedItemStore implements QueuedItemStore, Closeable { /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} factory DartQueuedItemStore(String? storagePath) { - assert( - storagePath != null, - 'A storage path is required on VM for locating the DB', - ); - final database = DriftQueuedItemStore(storagePath!); + final FutureOr path; + if (storagePath == null) { + path = getApplicationSupportDirectory().then((value) => value.path); + } else { + path = storagePath; + } + final database = DriftQueuedItemStore(path); return DartQueuedItemStore._(database); } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart index b2f7406a0f..a7d6026cce 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -28,7 +28,7 @@ class DriftQueuedItems extends Table { class DriftQueuedItemStore extends _$DriftQueuedItemStore implements QueuedItemStore { /// {@macro amplify_logging_cloudwatch.drift_queued_item_store} - factory DriftQueuedItemStore(String storagePath) { + factory DriftQueuedItemStore(FutureOr storagePath) { final driftQueryExecutor = connect( name: 'logging_cached_logs', path: storagePath, diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml index ced65b4de1..2c5bf793db 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -6,6 +6,7 @@ repository: https://github.com/aws-amplify/amplify-flutter/tree/main/amplify_log issue_tracker: https://github.com/aws-amplify/amplify-flutter/issues environment: + flutter: ">=3.10.0" sdk: "^3.0.0" dependencies: @@ -15,7 +16,10 @@ dependencies: aws_logging_cloudwatch: ^0.1.0 collection: ^1.15.0 drift: ">=2.11.0 <2.12.0" + flutter: + sdk: flutter meta: ^1.7.0 + path_provider: ^2.0.0 dev_dependencies: amplify_lints: ">=3.0.0 <3.1.0" diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index e1df21b800..93da31d040 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -44,46 +44,16 @@ typedef _LogBatch = (List logQueues, List logEvents); class CloudWatchLoggerPlugin extends AWSLoggerPlugin with AWSDebuggable, AWSLoggerMixin { /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} - factory CloudWatchLoggerPlugin({ + CloudWatchLoggerPlugin({ required AWSCredentialsProvider credentialsProvider, required CloudWatchLoggerPluginConfiguration pluginConfig, RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, CloudWatchLogStreamProvider? logStreamProvider, - }) { - return CloudWatchLoggerPlugin._( - credentialsProvider: credentialsProvider, - pluginConfig: pluginConfig, - remoteLoggingConstraintProvider: remoteLoggingConstraintProvider, - logStreamProvider: logStreamProvider, - logStore: InMemoryQueuedItemStore(), - ); - } - - /// An [AWSLoggerPlugin] to use only for testing. - @protected - @visibleForTesting - CloudWatchLoggerPlugin.testPlugin({ - required CloudWatchLogsClient client, - required CloudWatchLoggerPluginConfiguration pluginConfig, - required CloudWatchLogStreamProvider logStreamProvider, - required QueuedItemStore logStore, - RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, + // TODO(nikahsn): remove after moving queued item store implementation from + // amplify_logging_cloudwath to aws_logging_cloudwatch + @protected QueuedItemStore? logStore, }) : _enabled = pluginConfig.enable, _pluginConfig = pluginConfig, - _logStore = logStore, - _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider, - _logStreamProvider = logStreamProvider, - _client = client; - - CloudWatchLoggerPlugin._({ - required AWSCredentialsProvider credentialsProvider, - required CloudWatchLoggerPluginConfiguration pluginConfig, - RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, - CloudWatchLogStreamProvider? logStreamProvider, - QueuedItemStore? logStore, - }) : _enabled = pluginConfig.enable, - _pluginConfig = pluginConfig, - _logStore = logStore ?? InMemoryQueuedItemStore(), _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider ?? (pluginConfig.defaultRemoteConfiguration != null ? DefaultRemoteLoggingConstraintProvider( @@ -95,6 +65,10 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin region: pluginConfig.region, credentialsProvider: credentialsProvider, ), + // TODO(nikahsn): move queued item store implementation from + // amplify_logging_cloudwath to aws_logging_cloudwatch and use + // DartQueueItemStore instead of InMemoryQueuedItemStore + _logStore = logStore ?? InMemoryQueuedItemStore(), _logStreamProvider = logStreamProvider ?? DefaultCloudWatchLogStreamProvider( logGroupName: pluginConfig.logGroupName, @@ -115,6 +89,22 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin } } + /// An [AWSLoggerPlugin] to use only for testing. + @protected + @visibleForTesting + CloudWatchLoggerPlugin.testPlugin({ + required CloudWatchLogsClient client, + required CloudWatchLoggerPluginConfiguration pluginConfig, + required CloudWatchLogStreamProvider logStreamProvider, + required QueuedItemStore logStore, + RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, + }) : _enabled = pluginConfig.enable, + _pluginConfig = pluginConfig, + _logStore = logStore, + _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider, + _logStreamProvider = logStreamProvider, + _client = client; + final CloudWatchLoggerPluginConfiguration _pluginConfig; final CloudWatchLogsClient _client; final CloudWatchLogStreamProvider _logStreamProvider; From 5751957cc20805fe8f2d11856cdca821fd2c415c Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 12 Sep 2023 16:28:07 -0700 Subject: [PATCH 15/43] feat(logging): enable log rotation and set retry on full log store sync (#3699) * feat(logging): enable log rotation and set retry --- .../dart_queued_item_store.stub.dart | 2 +- .../dart_queued_item_store.vm.dart | 2 +- .../dart_queued_item_store.web.dart | 24 +- .../drift/drift_queued_item_store.dart | 2 +- .../index_db/indexed_db_adapter.dart | 7 +- .../test/queued_item_store_test.dart | 4 +- .../lib/src/cloudwatch_logger_plugin.dart | 126 ++++- .../queued_item_store/queued_item_store.dart | 2 +- .../test/cloudwatch_logger_plugin_test.dart | 451 +++++++++++++++++- .../queued_item_store_test.dart | 4 +- 10 files changed, 574 insertions(+), 50 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart index 74f5ac28b9..9e9fd28c3f 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart @@ -42,7 +42,7 @@ class DartQueuedItemStore implements QueuedItemStore, Closeable { } @override - FutureOr isFull(int maxSizeInMB) { + bool isFull(int maxSizeInMB) { throw UnimplementedError('isFull() has not been implemented.'); } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart index 627213d0e2..7acc8ee13c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -56,7 +56,7 @@ class DartQueuedItemStore implements QueuedItemStore, Closeable { } @override - Future isFull(int maxSizeInMB) { + bool isFull(int maxSizeInMB) { return _database.isFull(maxSizeInMB); } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart index 0dc36a615c..c20db8c60b 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -14,8 +14,8 @@ class DartQueuedItemStore // ignore: avoid_unused_constructor_parameters DartQueuedItemStore(String? storagePath); - late final Future _database = () async { - if (await IndexedDbAdapter.checkIsIndexedDBSupported()) { + late final QueuedItemStore _database = () { + if (IndexedDbAdapter.checkIsIndexedDBSupported()) { return IndexedDbAdapter(); } logger.warn( @@ -34,8 +34,7 @@ class DartQueuedItemStore String timestamp, { bool enableQueueRotation = false, }) async { - final db = await _database; - await db.addItem( + await _database.addItem( string, timestamp, enableQueueRotation: enableQueueRotation, @@ -44,34 +43,29 @@ class DartQueuedItemStore @override Future deleteItems(Iterable items) async { - final db = await _database; - await db.deleteItems(items); + await _database.deleteItems(items); } @override Future> getCount(int count) async { - final db = await _database; - return db.getCount(count); + return _database.getCount(count); } @override Future> getAll() async { - final db = await _database; - return db.getAll(); + return _database.getAll(); } @override - Future isFull(int maxSizeInMB) async { - final db = await _database; - return db.isFull(maxSizeInMB); + bool isFull(int maxSizeInMB) { + return _database.isFull(maxSizeInMB); } /// Clear IndexedDB data. @override @visibleForTesting Future clear() async { - final db = await _database; - return db.clear(); + return _database.clear(); } @override diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart index a7d6026cce..d29f32777c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -104,7 +104,7 @@ class DriftQueuedItemStore extends _$DriftQueuedItemStore } @override - Future isFull(int maxSizeInMB) async { + bool isFull(int maxSizeInMB) { final maxBytes = maxSizeInMB * 1024 * 1024; return _currentTotalByteSize >= maxBytes; } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart index 37c1812e78..c4e4c13763 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -150,7 +150,7 @@ class IndexedDbAdapter implements QueuedItemStore { } @override - Future isFull(int maxSizeInMB) async { + bool isFull(int maxSizeInMB) { final maxBytes = maxSizeInMB * 1024 * 1024; return _currentTotalByteSize >= maxBytes; } @@ -167,15 +167,14 @@ class IndexedDbAdapter implements QueuedItemStore { void close() {} /// Check that IndexDB will work on this device. - static Future checkIsIndexedDBSupported() async { + static bool checkIsIndexedDBSupported() { if (indexedDB == null) { return false; } // indexedDB will be non-null in Firefox private browsing, // but will fail to open. try { - final openRequest = indexedDB!.open('test', 1); - await openRequest.future; + indexedDB!.open('test', 1).result; return true; } on Object { return false; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart index 4c18fc12d8..c49b105780 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/queued_item_store_test.dart @@ -233,14 +233,14 @@ void main() { await db.addItem(largeItem, DateTime.now().toIso8601String()); } - var result = await db.isFull(capacityLimit); + var result = db.isFull(capacityLimit); expect(result, isFalse); for (var i = 0; i < 100; i++) { await db.addItem(largeItem, DateTime.now().toIso8601String()); } - result = await db.isFull(capacityLimit); + result = db.isFull(capacityLimit); expect(result, isTrue); }, ); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 93da31d040..5e302b497e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -32,9 +32,10 @@ import 'package:meta/meta.dart'; const int _maxNumberOfLogEventsInBatch = 10000; const int _maxLogEventsBatchSize = 1048576; const int _baseBufferSize = 26; +const int _maxLogEventsTimeSpanInBatch = Duration.millisecondsPerDay; const int _maxLogEventSize = 256000; -final int _maxLogEventsTimeSpanInBatch = - const Duration(hours: 24).inMilliseconds; +const Duration _minusMaxLogEventTimeInFuture = Duration(hours: -2); +const Duration _baseRetryInterval = Duration(seconds: 10); typedef _LogBatch = (List logQueues, List logEvents); @@ -113,7 +114,8 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin bool _enabled; StoppableTimer? _timer; RemoteLoggingConstraintProvider? _remoteLoggingConstraintProvider; - + int _retryCount = 0; + DateTime? _retryTime; set remoteLoggingConstraintProvider( RemoteLoggingConstraintProvider remoteProvider, ) { @@ -129,32 +131,89 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin Future startSyncing() async { final batchStream = _getLogBatchesToSync(); await for (final (logs, events) in batchStream) { - final response = await _sendToCloudWatch(events); - // TODO(nikahsn): handle tooOldLogEventEndIndex - // and expiredLogEventEndIndex. - if (response.rejectedLogEventsInfo?.tooNewLogEventStartIndex != null) { - // TODO(nikahsn): throw and exception to enable log rotation if the - // log store is full. - break; + _TooNewLogEventException? tooNewException; + while (logs.isNotEmpty && events.isNotEmpty) { + final rejectedLogEventsInfo = + (await _sendToCloudWatch(events)).rejectedLogEventsInfo; + if (rejectedLogEventsInfo == null) { + await _logStore.deleteItems(logs); + break; + } + + final (tooOldEndIndex, tooNewStartIndex) = + rejectedLogEventsInfo.parse(events.length); + + if (_isValidIndex(tooNewStartIndex, events.length)) { + tooNewException = _TooNewLogEventException( + events[tooNewStartIndex!].timestamp.toInt(), + ); + // set logs to end before the index. + logs.removeRange(tooNewStartIndex, events.length); + // set events to end before the index. + events.removeRange(tooNewStartIndex, events.length); + } + if (_isValidIndex(tooOldEndIndex, events.length)) { + // remove old logs from log store. + await _logStore.deleteItems(logs.sublist(0, tooOldEndIndex! + 1)); + // set logs to start after the index. + logs.removeRange(0, tooOldEndIndex + 1); + // set events to start after the index. + events.removeRange(0, tooOldEndIndex + 1); + } + } + // after sending each batch to CloudWatch check if the batch has + // `tooNewException` and throw to stop syncing next batches. + if (tooNewException != null) { + throw tooNewException; } - await _logStore.deleteItems(logs); } } if (!_syncing) { - // TODO(nikahsn): disable log rotation. _syncing = true; + DateTime? nextRetry; try { await startSyncing(); + } on _TooNewLogEventException catch (e) { + nextRetry = + DateTime.fromMillisecondsSinceEpoch(e.timeInMillisecondsSinceEpoch) + .add(_minusMaxLogEventTimeInFuture); } on Exception catch (e) { logger.error('Failed to sync logs to CloudWatch.', e); - // TODO(nikahsn): enable log rotation if the log store is full } finally { + _handleFullLogStoreAfterSync( + retryTime: nextRetry, + ); _syncing = false; } } } + void _handleFullLogStoreAfterSync({ + DateTime? retryTime, + }) { + final isLogStoreFull = + _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); + if (!isLogStoreFull) { + _retryCount = 0; + _retryTime = null; + return; + } + if (retryTime != null && retryTime.isAfter(DateTime.timestamp())) { + _retryTime = retryTime; + return; + } + _retryCount += 1; + _retryTime = DateTime.timestamp().add((_baseRetryInterval * _retryCount)); + } + + bool _shouldSyncOnFullLogStore() { + if (_retryTime == null) { + return true; + } + return !(_retryTime!.isAfter(DateTime.timestamp())); + } + void _onTimerError(Object e) { logger.error('Failed to sync logs to CloudWatch.', e); } @@ -225,11 +284,17 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin return; } final item = logEntry.toQueuedItem(); + final isLogStoreFull = + _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); + final shouldEnableQueueRotation = isLogStoreFull && _retryTime != null; + await _logStore.addItem( item.value, item.timestamp, + enableQueueRotation: shouldEnableQueueRotation, ); - if (await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB)) { + + if (isLogStoreFull && _shouldSyncOnFullLogStore()) { await _startSyncingIfNotInProgress(); } } @@ -253,6 +318,8 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin _enabled = false; _timer?.stop(); await _logStore.clear(); + _retryCount = 0; + _retryTime = null; } /// Sends logs on-demand to CloudWatch. @@ -285,3 +352,34 @@ extension on LogEntry { ); } } + +extension on RejectedLogEventsInfo { + (int? pastEndIndex, int? futureStartIndex) parse(int length) { + int? pastEndIndex; + int? futureStartIndex; + + if (_isValidIndex(tooOldLogEventEndIndex, length)) { + pastEndIndex = tooOldLogEventEndIndex; + } + if (_isValidIndex(expiredLogEventEndIndex, length)) { + pastEndIndex = pastEndIndex == null + ? expiredLogEventEndIndex + : max(pastEndIndex, expiredLogEventEndIndex!); + } + if (_isValidIndex(tooNewLogEventStartIndex, length)) { + futureStartIndex = tooNewLogEventStartIndex; + } + return (pastEndIndex, futureStartIndex); + } +} + +class _TooNewLogEventException implements Exception { + const _TooNewLogEventException( + this.timeInMillisecondsSinceEpoch, + ); + final int timeInMillisecondsSinceEpoch; +} + +bool _isValidIndex(int? index, int length) { + return index != null && index >= 0 && index <= length - 1; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 24e197d449..9317aa4878 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -24,7 +24,7 @@ abstract interface class QueuedItemStore { FutureOr> getAll(); /// Whether the queue size is reached [maxSizeInMB]. - FutureOr isFull(int maxSizeInMB); + bool isFull(int maxSizeInMB); /// Clear the queue of items. FutureOr clear(); diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index fe69936682..4e4f57f39e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -45,7 +45,17 @@ void main() { ), QueuedItem( id: 2, - value: 'second og message', + value: 'second log message', + timestamp: DateTime.timestamp().toIso8601String(), + ), + QueuedItem( + id: 3, + value: 'third log message', + timestamp: DateTime.timestamp().toIso8601String(), + ), + QueuedItem( + id: 4, + value: 'forth log message', timestamp: DateTime.timestamp().toIso8601String(), ), ]; @@ -62,17 +72,34 @@ void main() { logStreamProvider: mockCloudWatchLogStreamProvider, ); }); + test('when enabled, logs are added to the item store', () async { - when(() => mockQueuedItemStore.addItem(any(), any())) - .thenAnswer((_) async => {}); + when( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).thenAnswer((_) async => {}); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) - .thenAnswer((_) async => Future.value(false)); + .thenReturn(false); + plugin.enable(); + await expectLater( plugin.handleLogEntry(errorLog), completes, ); - verify(() => mockQueuedItemStore.addItem(any(), any())).called(1); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(1); + verify( () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), ).called(1); @@ -138,8 +165,8 @@ void main() { when(() => mockCloudWatchLogStreamProvider.defaultLogStream) .thenAnswer((_) async => Future.value('log stream name')); - when(() => mockQueuedItemStore.addItem(any(), any())) - .thenAnswer((_) async => {}); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); when(() => mockQueuedItemStore.deleteItems(any())) .thenAnswer((_) async => {}); @@ -184,8 +211,8 @@ void main() { when(() => mockCloudWatchLogStreamProvider.defaultLogStream) .thenAnswer((_) async => Future.value('log stream name')); - when(() => mockQueuedItemStore.addItem(any(), any())) - .thenAnswer((_) async => {}); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); when(() => mockQueuedItemStore.getAll()).thenAnswer( (_) async => Future>.value(queuedItems), @@ -239,6 +266,9 @@ void main() { (_) async => Future>.value(queuedItems), ); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + await expectLater( plugin.flushLogs(), completes, @@ -276,6 +306,9 @@ void main() { (_) async => Future>.value(queuedItems), ); + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + await expectLater( plugin.flushLogs(), completes, @@ -289,5 +322,405 @@ void main() { () => mockCloudWatchLogStreamProvider.createLogStream(any()), ).called(1); }); + + test('it enables log rotation when log store is full and retry is set', + () async { + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => Future.value(PutLogEventsResponse()), + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(true); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + await expectLater( + plugin.handleLogEntry(errorLog), + completes, + ); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: true, + ), + ).called(1); + }); + + test( + 'it does not enable log rotation when log store is full if retry is not ' + 'set. it start sync on full log store.', + () async { + final isFullResponse = [false, true, false]; + when( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).thenAnswer((_) => isFullResponse.removeAt(0)); + + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => + Future.value(PutLogEventsResponse()), + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + await expectLater( + plugin.handleLogEntry(errorLog), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(2); + + verify(() => mockQueuedItemStore.deleteItems(queuedItems)).called(2); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(1); + }, + ); + + test('it does not sync on full log store if retry time not reached', + () async { + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async => Future.value(PutLogEventsResponse()), + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(true); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + await expectLater( + plugin.handleLogEntry(errorLog), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(1); + + verify(() => mockQueuedItemStore.deleteItems(queuedItems)).called(1); + }); + + test( + 'it deletes too old logs in the batch and sync the rest', + () async { + final responses = [ + PutLogEventsResponse( + rejectedLogEventsInfo: + RejectedLogEventsInfo(tooOldLogEventEndIndex: 0), + ), + PutLogEventsResponse(), + ]; + + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async { + final response = responses.removeAt(0); + return Future.value(response); + }, + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).thenReturn(false); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(2); + + final captures = verify( + () => mockQueuedItemStore + .deleteItems(captureAny>()), + ); + + expect(captures.callCount, 2); + expect( + (captures.captured.first as Iterable).first, + queuedItems.first, + ); + expect( + (captures.captured.last as Iterable), + queuedItems.sublist(1), + ); + }, + ); + + test('it deletes expired logs in the batch and sync the rest', () async { + final responses = [ + PutLogEventsResponse( + rejectedLogEventsInfo: + RejectedLogEventsInfo(expiredLogEventEndIndex: 0), + ), + PutLogEventsResponse(), + ]; + + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async { + final response = responses.removeAt(0); + return Future.value(response); + }, + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).thenReturn(false); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(2); + + final captures = verify( + () => + mockQueuedItemStore.deleteItems(captureAny>()), + ); + + expect(captures.callCount, 2); + expect( + (captures.captured.first as Iterable).first, + queuedItems.first, + ); + expect( + (captures.captured.last as Iterable), + queuedItems.sublist(1), + ); + }); + + test('it leaves too new logs in the batch and sync the rest', () async { + final responses = [ + PutLogEventsResponse( + rejectedLogEventsInfo: + RejectedLogEventsInfo(tooNewLogEventStartIndex: 1), + ), + PutLogEventsResponse(), + ]; + + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async { + final response = responses.removeAt(0); + return Future.value(response); + }, + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).thenReturn(false); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(2); + + final captures = verify( + () => + mockQueuedItemStore.deleteItems(captureAny>()), + ); + + expect(captures.callCount, 1); + expect(captures.captured.length, 1); + expect( + (captures.captured.last as Iterable).first, + queuedItems.first, + ); + }); + + test( + 'it deltes old logs and leaves too new logs in the batch' + ' and sync the rest', () async { + final responses = [ + PutLogEventsResponse( + rejectedLogEventsInfo: RejectedLogEventsInfo( + expiredLogEventEndIndex: 0, + tooOldLogEventEndIndex: 1, + tooNewLogEventStartIndex: 3, + ), + ), + PutLogEventsResponse(), + ]; + + when( + () => mockPutLogEventsOperation.result, + ).thenAnswer( + (_) async { + final response = responses.removeAt(0); + return Future.value(response); + }, + ); + + when(() => mockCloudWatchLogsClient.putLogEvents(any())).thenAnswer( + (_) => mockPutLogEventsOperation, + ); + + when(() => mockCloudWatchLogStreamProvider.defaultLogStream) + .thenAnswer((_) async => Future.value('log stream name')); + + when( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).thenReturn(false); + + when(() => mockQueuedItemStore.deleteItems(any())) + .thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.getAll()).thenAnswer( + (_) async => Future>.value(queuedItems), + ); + plugin.enable(); + + await expectLater( + plugin.flushLogs(), + completes, + ); + + verify( + () => mockCloudWatchLogsClient.putLogEvents(any()), + ).called(2); + + final captures = verify( + () => + mockQueuedItemStore.deleteItems(captureAny>()), + ); + + expect(captures.callCount, 2); + expect( + (captures.captured.first as Iterable), + queuedItems.sublist(0, 2), + ); + + expect( + (captures.captured.last as Iterable), + queuedItems.sublist(2, 3), + ); + }); }); } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart index ec2bca8874..ab035a6ca2 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/queued_item_store/queued_item_store_test.dart @@ -231,7 +231,7 @@ void main() { await db.addItem('0', DateTime.now().toIso8601String()); } - var result = await db.isFull(capacityLimit); + var result = db.isFull(capacityLimit); expect(result, isFalse); // add enough items to exceed capacity limit of 1mb @@ -239,7 +239,7 @@ void main() { await db.addItem('0', DateTime.now().toIso8601String()); } - result = await db.isFull(capacityLimit); + result = db.isFull(capacityLimit); expect(result, isTrue); }, ); From 1aa95e1f0de95e0bfe7b20b5a91eb60680f9614e Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 12 Sep 2023 16:30:02 -0700 Subject: [PATCH 16/43] feat(logging): add amplify cloudwatch logger plugin base implementation (#3736) --- .../src/amplify_cloudwatch_logger_plugin.dart | 19 +++++++++ .../src/amplify_log_stream_name_provider.dart | 39 +++++++++++++++++++ .../lib/src/device_info/device_info.dart | 3 ++ .../lib/src/device_info/device_info.stub.dart | 7 ++++ .../lib/src/device_info/device_info.vm.dart | 30 ++++++++++++++ .../lib/src/device_info/device_info.web.dart | 16 ++++++++ .../amplify_logging_cloudwatch/pubspec.yaml | 4 ++ .../amplify_log_stream_provider_test.dart | 21 ++++++++++ .../lib/src/cloudwatch_logger_plugin.dart | 6 +-- .../lib/src/log_stream_provider.dart | 31 ++++++++++----- 10 files changed, 162 insertions(+), 14 deletions(-) create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_log_stream_name_provider.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.stub.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.vm.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.web.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/test/amplify_log_stream_provider_test.dart diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart new file mode 100644 index 0000000000..929557d778 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart @@ -0,0 +1,19 @@ +import 'package:amplify_logging_cloudwatch/src/amplify_log_stream_name_provider.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; + +/// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} +class AmplifyCloudWatchLoggerPlugin extends CloudWatchLoggerPlugin { + /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} + AmplifyCloudWatchLoggerPlugin({ + required super.credentialsProvider, + required super.pluginConfig, + }) : super( + logStreamProvider: DefaultCloudWatchLogStreamProvider( + credentialsProvider: credentialsProvider, + region: pluginConfig.region, + logGroupName: pluginConfig.logGroupName, + defaultLogStreamNameProvider: + AmplifyLogStreamNameProvider().defaultLogStreamName, + ), + ); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_log_stream_name_provider.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_log_stream_name_provider.dart new file mode 100644 index 0000000000..28fc1b66d7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_log_stream_name_provider.dart @@ -0,0 +1,39 @@ +import 'package:amplify_core/amplify_core.dart'; +import 'package:amplify_logging_cloudwatch/src/device_info/device_info.dart'; +import 'package:intl/intl.dart'; + +const _guestUserId = 'guest'; + +/// {@template amplify_logging_cloudwatch.amplify_log_stream_name_provider} +/// It uses {mm-dd-yyyy}.{deviceId}.{userId|guest} format for log stream name. +/// +/// It gets deviceId from platform inforamtion or uuid if it is `null`. +/// It gets userId from `Amplify.Auth.getCurrentUser()).userId` or uses `guest` +/// if userId is not available. +/// {@endtemplate} +class AmplifyLogStreamNameProvider { + /// {@macro amplify_logging_cloudwatch.amplify_log_stream_name_provider} + AmplifyLogStreamNameProvider(); + static final DateFormat _dateFormat = DateFormat('yyyy-MM-dd'); + String? _deviceID; + + /// Returns log stream name in `{mm-dd-yyyy}.{deviceId}.{userId|guest}` format + Future defaultLogStreamName() async { + _deviceID ??= await getDeviceId() ?? UUID.getUUID(); + String userId; + userId = await _getUserId(); + return '${_dateFormat.format(DateTime.timestamp())}.$_deviceID.$userId'; + } + + Future _getUserId() async { + String userId; + try { + userId = (await Amplify.Auth.getCurrentUser()).userId; + } on Error { + userId = _guestUserId; + } on Exception { + userId = _guestUserId; + } + return userId; + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.dart new file mode 100644 index 0000000000..b5c3a0672c --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.dart @@ -0,0 +1,3 @@ +export 'device_info.stub.dart' + if (dart.library.io) 'device_info.vm.dart' + if (dart.library.html) 'device_info.web.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.stub.dart new file mode 100644 index 0000000000..5929bec1e2 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.stub.dart @@ -0,0 +1,7 @@ +/// {@template amplify_logging_cloudwatch.device_info} +/// Returns device Id from platform information on `vm`. +/// Returns a UUID across browser sessions for web. +/// {@endtemplate} +Future getDeviceId() { + throw UnimplementedError('getDeviceId() has not been implemented.'); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.vm.dart new file mode 100644 index 0000000000..246e600f03 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.vm.dart @@ -0,0 +1,30 @@ +import 'dart:io'; + +import 'package:device_info_plus/device_info_plus.dart'; + +/// {@macro amplify_logging_cloudwatch.device_info} +Future getDeviceId() async { + final deviceInfo = DeviceInfoPlugin(); + String? deviceID; + try { + if (Platform.isAndroid) { + final androidInfo = await deviceInfo.androidInfo; + deviceID = androidInfo.id; + } else if (Platform.isIOS) { + final iosInfo = await deviceInfo.iosInfo; + deviceID = iosInfo.identifierForVendor ?? ''; + } else if (Platform.isLinux) { + final linuxInfo = await deviceInfo.linuxInfo; + deviceID = linuxInfo.machineId ?? ''; + } else if (Platform.isMacOS) { + final macInfo = await deviceInfo.macOsInfo; + deviceID = macInfo.systemGUID ?? ''; + } else if (Platform.isWindows) { + final windowsInfo = await deviceInfo.windowsInfo; + deviceID = windowsInfo.deviceId; + } + } on Exception { + return null; + } + return deviceID; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.web.dart new file mode 100644 index 0000000000..a6ee9e4972 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/device_info/device_info.web.dart @@ -0,0 +1,16 @@ +import 'dart:html'; + +import 'package:amplify_core/amplify_core.dart'; + +const _localStorageKey = 'amplify-cloudwatch-logger-device-id'; + +/// {@macro amplify_logging_cloudwatch.device_info} +Future getDeviceId() async { + var deviceID = window.localStorage[_localStorageKey]; + if (deviceID != null) { + return deviceID; + } + deviceID = UUID.getUUID(); + window.localStorage.putIfAbsent(_localStorageKey, () => deviceID!); + return deviceID; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml index 2c5bf793db..d378666f82 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -15,9 +15,11 @@ dependencies: aws_common: ">=0.6.0 <0.7.0" aws_logging_cloudwatch: ^0.1.0 collection: ^1.15.0 + device_info_plus: ^9.0.0 drift: ">=2.11.0 <2.12.0" flutter: sdk: flutter + intl: ">=0.18.0 <1.0.0" meta: ^1.7.0 path_provider: ^2.0.0 @@ -27,4 +29,6 @@ dev_dependencies: build_test: ^2.0.0 build_web_compilers: ^4.0.0 drift_dev: ^2.2.0+1 + flutter_test: + sdk: flutter test: ^1.22.1 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/amplify_log_stream_provider_test.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/amplify_log_stream_provider_test.dart new file mode 100644 index 0000000000..b9e04b2b56 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/test/amplify_log_stream_provider_test.dart @@ -0,0 +1,21 @@ +@TestOn('vm') + +import 'package:amplify_logging_cloudwatch/src/amplify_log_stream_name_provider.dart'; +import 'package:flutter_test/flutter_test.dart' as flutter; +import 'package:test/test.dart'; + +void main() { + flutter.TestWidgetsFlutterBinding.ensureInitialized(); + test('it uses uuid and guest when their values are not provided', () async { + final logStreamNameProvider = AmplifyLogStreamNameProvider(); + await expectLater(logStreamNameProvider.defaultLogStreamName(), completes); + }); + + test('it caches the device Id', () async { + final logStreamNameProvider = AmplifyLogStreamNameProvider(); + final logStreamName1 = await logStreamNameProvider.defaultLogStreamName(); + final logStreamName2 = await logStreamNameProvider.defaultLogStreamName(); + + expect(logStreamName1, logStreamName2); + }); +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 5e302b497e..22fe2c1cbe 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -73,10 +73,8 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin _logStreamProvider = logStreamProvider ?? DefaultCloudWatchLogStreamProvider( logGroupName: pluginConfig.logGroupName, - client: CloudWatchLogsClient( - region: pluginConfig.region, - credentialsProvider: credentialsProvider, - ), + region: pluginConfig.region, + credentialsProvider: credentialsProvider, ) { _timer = pluginConfig.flushIntervalInSeconds > Duration.zero ? StoppableTimer( diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart index 963c47e5e1..8828b2609e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/log_stream_provider.dart @@ -3,6 +3,7 @@ import 'dart:async'; +import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:intl/intl.dart'; @@ -22,30 +23,36 @@ abstract class CloudWatchLogStreamProvider { /// {@template aws_logging_cloudwatch.default_cloudwatch_logstream_provider} /// The default implementaion of [CloudWatchLogStreamProvider]. /// -/// It uses `defaultLogStreamName` if provided otherwise uses `yyyy-MM-dd` -/// date format of UTC time now for the `defaultLogStreamName`. +/// It uses `defaultLogStreamNameProvider` if provided otherwise uses +/// `yyyy-MM-dd` date format of UTC time now for the `defaultLogStreamName`. /// {@endtemplate} class DefaultCloudWatchLogStreamProvider implements CloudWatchLogStreamProvider { /// {@macro aws_logging_cloudwatch.default_cloudwatch_logstream_provider} DefaultCloudWatchLogStreamProvider({ - required CloudWatchLogsClient client, + required AWSCredentialsProvider credentialsProvider, + required String region, required String logGroupName, - String? defaultLogStreamName, - }) : _defaultLogStreamName = defaultLogStreamName, - _logGroupName = logGroupName, - _client = client; + FutureOr Function()? defaultLogStreamNameProvider, + }) : _logGroupName = logGroupName, + _client = CloudWatchLogsClient( + region: region, + credentialsProvider: credentialsProvider, + ), + _defaultLogStreamNameProvider = defaultLogStreamNameProvider; - final String? _defaultLogStreamName; + final FutureOr Function()? _defaultLogStreamNameProvider; final String _logGroupName; final CloudWatchLogsClient _client; + static final DateFormat _dateFormat = DateFormat('yyyy-MM-dd'); final _createdLogStreams = {}; @override Future get defaultLogStream async { - final logStreamName = - _defaultLogStreamName ?? _dateFormat.format(DateTime.timestamp()); + final logStreamNameProvider = + _defaultLogStreamNameProvider ?? _timeBasedLogStreamNameProvider; + final logStreamName = await logStreamNameProvider(); if (_createdLogStreams.contains(logStreamName)) { return logStreamName; } @@ -54,6 +61,10 @@ class DefaultCloudWatchLogStreamProvider return logStreamName; } + String _timeBasedLogStreamNameProvider() { + return _dateFormat.format(DateTime.timestamp()); + } + @override Future createLogStream(String logStreamName) async { try { From 06c77acb3177cca1dfa3371e2d86200f7f41adfe Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Wed, 20 Sep 2023 11:26:11 -0700 Subject: [PATCH 17/43] feat(logging): default remote config (#3643) * feat(logging): add cloudwatch logger plugin * feat(logging): default remote config chore: moved declarations to improve dart syntax chore: use logger instead of print statement chore: added sigv4signer to sign the http request chore: switched Future.delayed to Timer and implemented jsonserializable chore: roll back unnecessary changes from cloudwatch_logger_plugin chore: removed an extra line of fetchAndCacheConstraintFromEndpoint chore: moved saveConstraintLocally out of fetchConstraintFromEndpoint and moved into fetchAndCacheFromEndpoint fix: seeing if moving the queued_item_store_test.dart file into main test directory will fix testing issue Revert "fix: seeing if moving the queued_item_store_test.dart file into main test directory will fix testing issue" This reverts commit f0337131e988eb8e970335dd6a178d5584c9b5d6. chore: added ignore line for try catch block and removed unnecessary method chore: added web implementation of remote_constraint_provider fix: try changing path provider dependency to fix test fix: added flutter sdk to dependencies chore: generated workflows after adding dependencies fix: fixed indentation issue in pubspec chore: generate new workflows chore: changed file and folder names for file_storage chore: fix import for renamed files, added region as a required field to DefaultRemoteConfiguration and fixed scope variable to adjust for that. Also moved scope variable to inside fetchConstraintFromEndpoint method replaced AmplifyLogger with AWSLoggerMixin instead. chore: made signer private and used AWSHttpRequest.get method directly rather than calling it through AWSHttpRequest use stoppable timer instead of while loop chore: updated LoggingConstraint class to match the remote config file chore: added AWSHeaders.accept to the headers for the request chore: added public documentation and trailing comma chore: removed unnecessary time checks in the getter if statement chore: removed initialize() method and put it into the constructor chore: removed unnecessary lastUpdate variable now that it is no longer checked in the getter chore: added a comment and removed flutter plugin files chore: fixed some formatting chore: removed the InSeconds part of the refreshIntervalInSeconds property because it's a Duration, which isn't specific to seconds chore: fixed comment to reflect change in fetchInterval and flushInterval property name change chore: make isRunning variable privatge chore: corrected error handling in the fetchAndCacheConstraintFromEndpoint method chore: add license headers to storage implementations chore: added path for join() method to ensure windows compatibility chore: removed dart:io dependency, changed HttpHeaders.acceptHeader to AWSHeaders.accept, changed getter to just retrieve from cache chore: remove flutter dependency chore: removed http and replaced with AWSHttpClient chore: removed unnecessary stop method chore: remove .flutter-plugins files chore: moved constructor initializers into a separate init function so that I can use async await chore: added local storage check before fetching in the initialize function chore: refactored DefaultRemoteLoggingConstraintProvider to separate createRequest from the rest of the class, allowing for signed and unsigned requests to be sent chore: used private global variable for local storage key chore: refacted fileStore dart implementation * chore: dart FileStorage refactor and unit tests added * chore: made the Future.delayed more explicit * chore: added flutter path provider to amplify_logging_cloudwatch * chore: removed fluter dependency * chore: remove flutter plugin files from git ignore now that flutter dependency is removed * chore: changed names of file storage functions, logger level, and removed flutter plugin gitignore * chore: remove flutter plugin .gitignore * chore: Added completer, removed conditional import, added closeable, removed credentials provider from base class and only added to defaultconstraintprovider, changed fileStorage to use FileStorage instead of just FileStorageImpl, removed isRunning since it is never false after the first run, added completer so that delay isn't needed for tests, removed the catching of errors, added credentials provider parameter to awssigv4signer, * chore: updated aft workflows * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore: removed manual toJson and replace jsonSerializable with zAmplifySerializable * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore: use factory constructor and _fileStorage might be null in remoteConstraint * chore: fixed local storage variable and method name and also added and fixed tests * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> * chore: add AWSSerializable and added comment to test to address Future.delayed * chore: fixed some formatting and removed todo comment * chore: removed unnecessary comments * Update packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart Co-authored-by: NikaHsn * Update packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart Co-authored-by: NikaHsn * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart Co-authored-by: NikaHsn --------- Co-authored-by: Nika Hassani Co-authored-by: Dillon Nys <24740863+dnys1@users.noreply.github.com> Co-authored-by: NikaHsn --- .../path_provider/flutter_path_provider.dart | 23 ++ .../lib/src/cloudwatch_logger_plugin.dart | 6 +- .../lib/src/file_storage/file_storage.dart | 19 ++ .../src/file_storage/file_storage_stub.dart | 24 ++ .../lib/src/file_storage/file_storage_vm.dart | 34 +++ .../src/file_storage/file_storage_web.dart | 26 ++ .../lib/src/plugin_config.dart | 60 ++++- .../lib/src/plugin_config.g.dart | 76 ++++++ .../lib/src/remote_constraint_provider.dart | 193 +++++++++++++-- .../aws_logging_cloudwatch/pubspec.yaml | 2 + .../test/remote_constraint_provider_test.dart | 227 ++++++++++++++++++ 11 files changed, 665 insertions(+), 25 deletions(-) create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/path_provider/flutter_path_provider.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_stub.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_vm.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_web.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart create mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/path_provider/flutter_path_provider.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/path_provider/flutter_path_provider.dart new file mode 100644 index 0000000000..d19c258c22 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/path_provider/flutter_path_provider.dart @@ -0,0 +1,23 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_core/amplify_core.dart'; +import 'package:path_provider/path_provider.dart'; + +/// {@template flutter_path_provider} +/// A [AppPathProvider] that uses the [path_provider](https://pub.dev/packages/path_provider) +/// package to get the application support and temporary paths. +/// {@endtemplate} +class FlutterPathProvider implements AppPathProvider { + @override + Future getApplicationSupportPath() async { + final directory = await getApplicationSupportDirectory(); + return directory.path; + } + + @override + Future getTemporaryPath() async { + final directory = await getTemporaryDirectory(); + return directory.path; + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 22fe2c1cbe..b3eecf74bb 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -4,7 +4,7 @@ import 'dart:async'; import 'dart:math'; -import 'package:aws_common/aws_common.dart'; +import 'package:amplify_core/amplify_core.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:aws_logging_cloudwatch/src/stoppable_timer.dart'; @@ -76,9 +76,9 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin region: pluginConfig.region, credentialsProvider: credentialsProvider, ) { - _timer = pluginConfig.flushIntervalInSeconds > Duration.zero + _timer = pluginConfig.flushInterval > Duration.zero ? StoppableTimer( - duration: pluginConfig.flushIntervalInSeconds, + duration: pluginConfig.flushInterval, callback: _startSyncingIfNotInProgress, onError: _onTimerError, ) diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart new file mode 100644 index 0000000000..94627270bc --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage.dart @@ -0,0 +1,19 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage_stub.dart' + if (dart.library.io) 'file_storage_vm.dart' + if (dart.library.html) 'file_storage_web.dart'; + +/// File storage interface for saving and loading constraint locally +abstract interface class FileStorage { + /// Default Constructor or FileStorage + factory FileStorage(AppPathProvider pathProvider) = FileStorageImpl; + + /// Save constraint locally to file + Future save(String fileName, String data); + + /// Load constraint from file + Future load(String fileName); +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_stub.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_stub.dart new file mode 100644 index 0000000000..6b8971325c --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_stub.dart @@ -0,0 +1,24 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; + +/// File storage implementation for saving and loading constraint locally +class FileStorageImpl implements FileStorage { + /// File storage implementation for saving and loading constraint locally + FileStorageImpl(this.pathProvider); + + /// Path provider to get the application support path + final AppPathProvider pathProvider; + + @override + Future load(String fileName) async { + throw UnimplementedError(); + } + + @override + Future save(String fileName, String content) async { + throw UnimplementedError(); + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_vm.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_vm.dart new file mode 100644 index 0000000000..30c39773e0 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_vm.dart @@ -0,0 +1,34 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:io'; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; +import 'package:path/path.dart' as p; + +/// File storage implementation for saving and loading constraint locally +class FileStorageImpl implements FileStorage { + /// File storage implementation for saving and loading constraint locally + FileStorageImpl(this.pathProvider); + + /// Path provider to get the application support path + final AppPathProvider pathProvider; + + @override + Future load(String fileName) async { + final file = + File(p.join(await pathProvider.getApplicationSupportPath(), fileName)); + if (await file.exists()) { + return file.readAsString(); + } + return null; + } + + @override + Future save(String fileName, String content) async { + final file = + File(p.join(await pathProvider.getApplicationSupportPath(), fileName)); + await file.writeAsString(content); + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_web.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_web.dart new file mode 100644 index 0000000000..4475a00b62 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/file_storage/file_storage_web.dart @@ -0,0 +1,26 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:html'; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; + +/// File storage implementation for saving and loading constraint locally +class FileStorageImpl implements FileStorage { + /// File storage implementation for saving and loading constraint locally + // ignore: avoid_unused_constructor_parameters + FileStorageImpl(AppPathProvider pathProvider); + + static const _prefix = 'aws.cloudwatch'; + + @override + Future load(String fileName) async { + return window.localStorage['$_prefix.$fileName']; + } + + @override + Future save(String fileName, String content) async { + window.localStorage['$_prefix.$fileName'] = content; + } +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart index 9fd10d18d0..3367eb505c 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart @@ -1,9 +1,11 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import 'package:aws_common/aws_common.dart'; +import 'package:amplify_core/amplify_core.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +part 'plugin_config.g.dart'; + /// {@template aws_logging_cloudwatch.cloudwatch_logger_plugin_configuration} /// The configuration for `CloudWatchLoggerPlugin`. /// {@endtemplate} @@ -15,7 +17,7 @@ class CloudWatchLoggerPluginConfiguration with AWSDebuggable { required this.localLoggingConstraint, this.enable = true, this.localStoreMaxSizeInMB = 5, - this.flushIntervalInSeconds = const Duration(seconds: 60), + this.flushInterval = const Duration(seconds: 60), this.defaultRemoteConfiguration, }); @@ -31,8 +33,8 @@ class CloudWatchLoggerPluginConfiguration with AWSDebuggable { /// The max size of the local store in MB to be used for storing logs locally. final int localStoreMaxSizeInMB; - /// The duration in seconds for sending locally stored logs to CloudWatch. - final Duration flushIntervalInSeconds; + /// The duration for sending locally stored logs to CloudWatch. + final Duration flushInterval; /// {@macro aws_logging_cloudwatch.logging_constraint} final LoggingConstraint localLoggingConstraint; @@ -47,13 +49,59 @@ class CloudWatchLoggerPluginConfiguration with AWSDebuggable { /// {@template aws_logging_cloudwatch.logging_constraint} /// The logging constraint for sending logs to CloudWatch. /// {@endtemplate} -class LoggingConstraint with AWSDebuggable { +@zAmplifySerializable +class LoggingConstraint with AWSDebuggable, AWSSerializable { /// {@macro aws_logging_cloudwatch.logging_constraint} - const LoggingConstraint({this.defaultLogLevel = LogLevel.error}); + const LoggingConstraint({ + this.defaultLogLevel = LogLevel.error, + this.categoryLogLevel, + this.userLogLevel, + }); + + /// Converts a [Map] to an [LoggingConstraint] instance. + factory LoggingConstraint.fromJson(Map json) => + _$LoggingConstraintFromJson(json); + + /// Converts an [LoggingConstraint] instance to a [Map]. + @override + Map toJson() => _$LoggingConstraintToJson(this); /// The default [LogLevel] for sending logs to CloudWatch. final LogLevel defaultLogLevel; + /// The [LogLevel] for different categories. + final Map? categoryLogLevel; + + /// The [LogLevel] for different users. + final Map? userLogLevel; + @override String get runtimeTypeName => 'LoggingConstraint'; } + +/// The logging constraint for user specific log level. +@zAmplifySerializable +class UserLogLevel with AWSDebuggable, AWSSerializable { + /// The logging constraint for user specific log level. + const UserLogLevel({ + this.defaultLogLevel, + this.categoryLogLevel, + }); + + ///Converts a [Map] to a [UserLogLevel] instance. + factory UserLogLevel.fromJson(Map json) => + _$UserLogLevelFromJson(json); + + /// Converts a [UserLogLevel] instance to a [Map]. + @override + Map toJson() => _$UserLogLevelToJson(this); + + /// The default [LogLevel] for sending logs to CloudWatch. + final LogLevel? defaultLogLevel; + + /// The [LogLevel] for different categories. + final Map? categoryLogLevel; + + @override + String get runtimeTypeName => 'UserLogLevel'; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart new file mode 100644 index 0000000000..64733e29d2 --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart @@ -0,0 +1,76 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'plugin_config.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +LoggingConstraint _$LoggingConstraintFromJson(Map json) => + LoggingConstraint( + defaultLogLevel: + $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']) ?? + LogLevel.error, + categoryLogLevel: + (json['categoryLogLevel'] as Map?)?.map( + (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), + ), + userLogLevel: (json['userLogLevel'] as Map?)?.map( + (k, e) => MapEntry(k, UserLogLevel.fromJson(e as Map)), + ), + ); + +Map _$LoggingConstraintToJson(LoggingConstraint instance) { + final val = { + 'defaultLogLevel': _$LogLevelEnumMap[instance.defaultLogLevel]!, + }; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull( + 'categoryLogLevel', + instance.categoryLogLevel + ?.map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!))); + writeNotNull('userLogLevel', + instance.userLogLevel?.map((k, e) => MapEntry(k, e.toJson()))); + return val; +} + +const _$LogLevelEnumMap = { + LogLevel.verbose: 'verbose', + LogLevel.debug: 'debug', + LogLevel.info: 'info', + LogLevel.warn: 'warn', + LogLevel.error: 'error', + LogLevel.none: 'none', +}; + +UserLogLevel _$UserLogLevelFromJson(Map json) => UserLogLevel( + defaultLogLevel: + $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']), + categoryLogLevel: + (json['categoryLogLevel'] as Map?)?.map( + (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), + ), + ); + +Map _$UserLogLevelToJson(UserLogLevel instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('defaultLogLevel', _$LogLevelEnumMap[instance.defaultLogLevel]); + writeNotNull( + 'categoryLogLevel', + instance.categoryLogLevel + ?.map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!))); + return val; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart index 7a8a36332f..ff6e0b31a1 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart @@ -1,11 +1,15 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -// TODO(nikahsn): remove after implementing the get loggingConstraint. -// ignore_for_file: unused_field +import 'dart:async'; +import 'dart:convert'; +import 'package:amplify_core/amplify_core.dart'; import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; +import 'package:aws_signature_v4/aws_signature_v4.dart'; +import 'package:meta/meta.dart'; /// {@template aws_logging_cloudwatch.remote_logging_constraint_provider} /// An Interface to provide custom implementation for @@ -17,40 +21,197 @@ abstract class RemoteLoggingConstraintProvider { LoggingConstraint? get loggingConstraint; } +/// {@template aws_logging_cloudwatch.base_remote_constraints_provider} +/// Base class for [RemoteLoggingConstraintProvider] to provide +/// [LoggingConstraint] from a remote location and cache it. +/// {@endtemplate} +base class BaseRemoteLoggingConstraintProvider + with AWSDebuggable, AWSLoggerMixin + implements RemoteLoggingConstraintProvider, Closeable { + /// {@macro aws_logging_cloudwatch.base_remote_constraints_provider} + BaseRemoteLoggingConstraintProvider({ + required DefaultRemoteConfiguration config, + FileStorage? fileStorage, + }) : _fileStorage = fileStorage, + _config = config, + _awsHttpClient = AWSHttpClient() { + _init(); + } + + /// A [BaseRemoteLoggingConstraintProvider] to use only for testing. + @protected + @visibleForTesting + BaseRemoteLoggingConstraintProvider.forTesting({ + required DefaultRemoteConfiguration config, + required AWSHttpClient awsHttpClient, + FileStorage? fileStorage, + }) : _fileStorage = fileStorage, + _config = config, + _awsHttpClient = awsHttpClient { + _init(); + } + + final FileStorage? _fileStorage; + + final DefaultRemoteConfiguration _config; + + LoggingConstraint? _loggingConstraint; + + final AWSHttpClient _awsHttpClient; + + static const _cacheFileName = 'remoteloggingconstraints.json'; + + // The timer to refresh the constraint periodically. + Timer? _timer; + + /// Retrives the runtime type name used for logging. + @override + String get runtimeTypeName => 'BaseRemoteConstraintsProvider'; + + /// Initializes the [BaseRemoteLoggingConstraintProvider] by fetching + /// the constraint from the endpoint initially and then + /// starting the refresh timer afterwards. + void _init() { + _readyCompleter.complete(_refreshConstraintPeriodically()); + } + + final Completer _readyCompleter = Completer(); + + /// A future that completes when the [BaseRemoteLoggingConstraintProvider] + Future get ready => _readyCompleter.future; + + /// Creates a request to fetch the constraint from the endpoint. + /// + /// Can be overridden by subclasses to change how the request is created. + @protected + @visibleForOverriding + Future createRequest() async { + final uri = Uri.parse(_config.endpoint); + return AWSHttpRequest( + method: AWSHttpMethod.get, + uri: uri, + headers: const { + AWSHeaders.accept: 'application/json; charset=utf-8', + }, + ); + } + + /// Fetches the constraint from the endpoint and caches it. + Future _fetchAndCacheConstraintFromEndpoint() async { + try { + final request = await createRequest(); + final operation = _awsHttpClient.send(request); + final response = await operation.response; + final body = await response.decodeBody(); + if (response.statusCode != 200) { + logger + .error('Failed to fetch constraints', (response.statusCode, body)); + return; + } + final fetchedConstraint = LoggingConstraint.fromJson( + jsonDecode(body) as Map, + ); + _loggingConstraint = fetchedConstraint; + + if (_fileStorage != null) { + await _fileStorage?.save( + _cacheFileName, + jsonEncode(fetchedConstraint.toJson()), + ); + } + } on Exception catch (exception) { + logger.error( + 'Failed to fetch logging constraint from ${_config.endpoint}: $exception', + ); + } + } + + /// Returns [LoggingConstraint] from the cache or `null` if the cache is missing + /// or if the constraints could not be retrieved from the remote server. + @override + LoggingConstraint? get loggingConstraint => _loggingConstraint; + + Future _loadConstraintFromLocalStorage() async { + final localConstraint = await _fileStorage?.load(_cacheFileName); + if (localConstraint != null) { + _loggingConstraint = LoggingConstraint.fromJson( + jsonDecode(localConstraint) as Map, + ); + } + } + + /// Refreshes the constraint from the endpoint periodically. + Future _refreshConstraintPeriodically() async { + await _loadConstraintFromLocalStorage(); + _timer = Timer.periodic( + _config.refreshInterval, + (_) => _fetchAndCacheConstraintFromEndpoint(), + ); + await _fetchAndCacheConstraintFromEndpoint(); + } + + @override + void close() { + _timer?.cancel(); + _timer = null; + } +} + /// {@template aws_logging_cloudwatch.default_remote_logging_constraint_provider} /// Default implementation of [RemoteLoggingConstraintProvider] to fetch /// [LoggingConstraint] from an http endpoint periodically. /// {@endtemplate} -class DefaultRemoteLoggingConstraintProvider - implements RemoteLoggingConstraintProvider { +final class DefaultRemoteLoggingConstraintProvider + extends BaseRemoteLoggingConstraintProvider { /// {@macro aws_logging_cloudwatch.default_remote_logging_constraint_provider} DefaultRemoteLoggingConstraintProvider({ - required DefaultRemoteConfiguration config, - required AWSCredentialsProvider credentialsProvider, - }) : _config = config, - _credentialsProvider = credentialsProvider; + required super.config, + required this.credentialsProvider, + super.fileStorage, + }); - final DefaultRemoteConfiguration _config; - final AWSCredentialsProvider _credentialsProvider; + /// The credentials provider to use for signing the request. + final AWSCredentialsProvider credentialsProvider; + + /// The signer to use for signing the request. + late final AWSSigV4Signer _signer = AWSSigV4Signer( + credentialsProvider: credentialsProvider, + ); @override - // TODO(nikahsn): add implementation. - LoggingConstraint get loggingConstraint => throw UnimplementedError(); + Future createRequest() async { + final baseRequest = await super.createRequest(); + final scope = AWSCredentialScope( + region: _config.region, + service: AWSService.apiGatewayManagementApi, + ); + + final signedRequest = await _signer.sign( + baseRequest, + credentialScope: scope, + ); + + return signedRequest; + } } /// {@template aws_logging_cloudwatch.default_remote_configuration} -/// The configuration for [DefaultRemoteLoggingConstraintProvider] +/// The configuration for [BaseRemoteLoggingConstraintProvider] /// {@endtemplate} class DefaultRemoteConfiguration { /// {@macro aws_logging_cloudwatch.default_remote_configuration} const DefaultRemoteConfiguration({ required this.endpoint, - this.refreshIntervalInSeconds = const Duration(seconds: 1200), + this.refreshInterval = const Duration(seconds: 1200), + required this.region, }); /// The endpoint to fetch the `loggingConstraint`. final String endpoint; - /// The referesh interval in seconds to fetch the `loggingConstraint`. - final Duration refreshIntervalInSeconds; + /// The referesh interval to fetch the `loggingConstraint`. + final Duration refreshInterval; + + /// The region of the endpoint. + final String region; } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml index 9d2e09f7d3..560eb790c3 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml @@ -16,7 +16,9 @@ dependencies: built_value: ">=8.6.0 <8.7.0" fixnum: ^1.1.0 intl: ">=0.18.0 <1.0.0" + json_annotation: ^4.8.1 meta: ^1.9.1 + path: ^1.8.0 smithy: ^0.5.0+3 smithy_aws: ^0.5.0+3 diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart new file mode 100644 index 0000000000..cd1e4ba6ce --- /dev/null +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart @@ -0,0 +1,227 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:convert'; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_common/testing.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:test/test.dart'; + +const sampleJson = ''' + { + "defaultLogLevel": "error", + "categoryLogLevel": { + "API": "debug", + "AUTH": "debug" + }, + "userLogLevel": { + "cognito-sub-xyz-123": { + "defaultLogLevel": "verbose", + "categoryLogLevel": { + "API": "verbose", + "AUTH": "verbose" + } + } + } + } + '''; + +class MockFileStorage extends Mock implements FileStorage {} + +class MockAWSCredentialsProvider extends Mock + implements AWSCredentialsProvider {} + +class PathProvider implements AppPathProvider { + @override + Future getApplicationSupportPath() async { + return ''; + } + + @override + Future getTemporaryPath() async { + return ''; + } +} + +final fakeRequest = AWSHttpRequest( + method: AWSHttpMethod.get, + uri: Uri.parse('https://fakewebsite.com'), + headers: const {}, + body: utf8.encode('sample'), +); + +void main() { + late BaseRemoteLoggingConstraintProvider provider; + late FileStorage mockFileStorage; + late MockAWSHttpClient mockAWSHttpClient; + test('LoggingConstraint', () { + final sampleJsonMap = jsonDecode(sampleJson) as Map; + final loggingConstraint = LoggingConstraint.fromJson(sampleJsonMap); + expect( + loggingConstraint.toJson(), + sampleJsonMap, + ); + }); + + group('RemoteLoggingConstraintProvider', () { + setUp(() { + mockFileStorage = MockFileStorage(); + + registerFallbackValue(fakeRequest); + }); + + test('initializes loggingConstraint from endpoint', () async { + when(() => mockFileStorage.load(any())) + .thenAnswer((_) async => Future.value(sampleJson)); + + when(() => mockFileStorage.save(any(), any())).thenAnswer((_) async {}); + mockAWSHttpClient = MockAWSHttpClient((request, _) { + return AWSHttpResponse( + statusCode: 200, + body: utf8.encode(sampleJson), + ); + }); + provider = BaseRemoteLoggingConstraintProvider.forTesting( + config: const DefaultRemoteConfiguration( + refreshInterval: Duration(seconds: 1200), + endpoint: 'https://example.com', + region: 'us-west-2', + ), + fileStorage: mockFileStorage, + awsHttpClient: mockAWSHttpClient, + ); + + await provider.ready; + + expect( + provider.loggingConstraint!.toJson(), + equals(json.decode(sampleJson)), + ); + }); + + test('uses local storage if endpoint fails', () async { + when(() => mockFileStorage.load(any())) + .thenAnswer((_) async => Future.value(sampleJson)); + when(() => mockFileStorage.save(any(), any())).thenAnswer((_) async {}); + mockAWSHttpClient = MockAWSHttpClient((request, _) { + return AWSHttpResponse( + statusCode: 400, + body: utf8.encode('NO RESPONSE'), + ); + }); + provider = BaseRemoteLoggingConstraintProvider.forTesting( + config: const DefaultRemoteConfiguration( + refreshInterval: Duration(seconds: 10), + endpoint: 'https://example.com', + region: 'us-west-2', + ), + fileStorage: mockFileStorage, + awsHttpClient: mockAWSHttpClient, + ); + + await provider.ready; + + expect( + provider.loggingConstraint!.toJson(), + equals(json.decode(sampleJson)), + ); + }); + + test('updates constraints when endpoint returns updated constraints', + () async { + const updatedJson = ''' + { + "defaultLogLevel": "debug", + "categoryLogLevel": { + "API": "debug", + "AUTH": "error" + }, + "userLogLevel": { + "cognito-sub-xyz-123": { + "defaultLogLevel": "verbose", + "categoryLogLevel": { + "API": "error", + "AUTH": "debug" + } + } + } + } + '''; + // Mocking the endpoint to return updated constraints on the second call + var callCount = 0; + var callCount2 = 0; + when(() => mockFileStorage.load(any())).thenAnswer((_) async { + callCount2++; + if (callCount2 == 1) { + return Future.value(sampleJson); + } else { + return Future.value(updatedJson); + } + }); + when(() => mockFileStorage.save(any(), any())).thenAnswer((_) async {}); + mockAWSHttpClient = MockAWSHttpClient((request, _) { + callCount++; + if (callCount == 1) { + return AWSHttpResponse( + statusCode: 200, + body: utf8.encode(sampleJson), + ); + } else { + return AWSHttpResponse( + statusCode: 200, + body: utf8.encode(updatedJson), + ); + } + }); + provider = BaseRemoteLoggingConstraintProvider.forTesting( + config: const DefaultRemoteConfiguration( + refreshInterval: Duration(seconds: 1), + endpoint: 'https://example.com', + region: 'us-west-2', + ), + fileStorage: mockFileStorage, + awsHttpClient: mockAWSHttpClient, + ); + + // Wait for the provider to refresh the constraints and make the second call to the endpoint + await Future.delayed(const Duration(seconds: 2)); + + await provider.ready; + + expect( + provider.loggingConstraint!.toJson(), + equals(json.decode(updatedJson)), + ); + }); + + test( + 'fetches loggingConstraint from local storage and returns null if there are no constraints in local storage', + () async { + when(() => mockFileStorage.load(any())) + .thenAnswer((_) async => Future.value(null)); + when(() => mockFileStorage.save(any(), any())).thenAnswer((_) async {}); + mockAWSHttpClient = MockAWSHttpClient((request, _) { + return AWSHttpResponse( + statusCode: 400, + body: utf8.encode('NO RESPONSE'), + ); + }); + provider = BaseRemoteLoggingConstraintProvider.forTesting( + config: const DefaultRemoteConfiguration( + refreshInterval: Duration(seconds: 10), + endpoint: 'https://example.com', + region: 'us-west-2', + ), + fileStorage: mockFileStorage, + awsHttpClient: mockAWSHttpClient, + ); + + await provider.ready; + + expect(provider.loggingConstraint, equals(null)); + }); + }); +} From b959124256c46b624156527597dbb8d288a227de Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 22 Sep 2023 14:36:39 -0700 Subject: [PATCH 18/43] fix(logging): fix logging infra stack (#3788) fix(logging): fix logging infra stack duplicate imports and set s3bucket autoDeleteObject to true --- infra/lib/logging/stack.ts | 21 +- infra/lib/stack.ts | 548 +++++++++++++++++++------------------ 2 files changed, 294 insertions(+), 275 deletions(-) diff --git a/infra/lib/logging/stack.ts b/infra/lib/logging/stack.ts index 1836f55eba..c5f6a6cdf9 100644 --- a/infra/lib/logging/stack.ts +++ b/infra/lib/logging/stack.ts @@ -1,19 +1,19 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { Construct } from "constructs"; -import { IntegrationTestStackEnvironment, IntegrationTestStackEnvironmentProps, AmplifyCategory, IntegrationTestStack, randomBucketName } from "../common"; -import * as cdk from "aws-cdk-lib" -import * as logs from "aws-cdk-lib/aws-logs" -import * as path from "path" -import * as iam from "aws-cdk-lib/aws-iam" import * as cognito_identity from "@aws-cdk/aws-cognito-identitypool-alpha"; +import * as cdk from "aws-cdk-lib"; +import * as iam from "aws-cdk-lib/aws-iam"; +import * as logs from "aws-cdk-lib/aws-logs"; import { BucketDeployment, Source } from "aws-cdk-lib/aws-s3-deployment"; +import { Construct } from "constructs"; +import * as path from "path"; +import { AmplifyCategory, IntegrationTestStack, IntegrationTestStackEnvironment, IntegrationTestStackEnvironmentProps, randomBucketName } from "../common"; -import * as s3 from "aws-cdk-lib/aws-s3" -import * as lambda from "aws-cdk-lib/aws-lambda" -import * as lambda_node from "aws-cdk-lib/aws-lambda-nodejs" -import * as api_gateway from "aws-cdk-lib/aws-apigateway" +import * as api_gateway from "aws-cdk-lib/aws-apigateway"; +import * as lambda from "aws-cdk-lib/aws-lambda"; +import * as lambda_node from "aws-cdk-lib/aws-lambda-nodejs"; +import * as s3 from "aws-cdk-lib/aws-s3"; export class LoggingIntegrationTestStack extends IntegrationTestStack { constructor( @@ -86,6 +86,7 @@ export class LoggingIntegrationTestStackEnvironment extends IntegrationTestStack publicReadAccess: false, versioned: true, removalPolicy: cdk.RemovalPolicy.DESTROY, + autoDeleteObjects: true, enforceSSL: true, blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, }); diff --git a/infra/lib/stack.ts b/infra/lib/stack.ts index a947468c83..7a5556ad76 100644 --- a/infra/lib/stack.ts +++ b/infra/lib/stack.ts @@ -7,22 +7,32 @@ import { Construct } from "constructs"; import { AnalyticsIntegrationTestStack } from "./analytics/stack"; import { AuthIntegrationTestStack, - AuthIntegrationTestStackEnvironmentProps + AuthIntegrationTestStackEnvironmentProps, } from "./auth/stack"; import { env } from "./common"; import { GitHubStack } from "./github/github"; -import { StorageAccessLevel, StorageIntegrationTestStack } from "./storage/stack"; +import { + StorageAccessLevel, + StorageIntegrationTestStack, +} from "./storage/stack"; export class AmplifyFlutterIntegStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // The Analytics stack - const analytics = new AnalyticsIntegrationTestStack(this, [ - { environmentName: "main" }, - { environmentName: "no-unauth-access", allowUnauthAccess: false }, - { environmentName: "no-unauth-identities", allowUnauthIdentites: false } - ], { env }); + const analytics = new AnalyticsIntegrationTestStack( + this, + [ + { environmentName: "main" }, + { environmentName: "no-unauth-access", allowUnauthAccess: false }, + { + environmentName: "no-unauth-identities", + allowUnauthIdentites: false, + }, + ], + { env } + ); // The Auth stack let customDomainEnv: AuthIntegrationTestStackEnvironmentProps[] = []; @@ -47,247 +57,251 @@ export class AmplifyFlutterIntegStack extends cdk.Stack { // Always track deviceOnlyRememberedOnUserPrompt: false, }; - const auth = new AuthIntegrationTestStack(this, [ - { type: "FULL", environmentName: "main" }, - { - type: "FULL", - environmentName: "device-tracking-always", - deviceTracking: deviceTrackingAlways, - }, - { - type: "FULL", - environmentName: "device-tracking-opt-in", - deviceTracking: deviceTrackingOptIn, - }, - { - type: "FULL", - environmentName: "device-tracking-email-alias", - deviceTracking: deviceTrackingAlways, - signInAliases: { - email: true, + const auth = new AuthIntegrationTestStack( + this, + [ + { type: "FULL", environmentName: "main" }, + { + type: "FULL", + environmentName: "device-tracking-always", + deviceTracking: deviceTrackingAlways, }, - }, - { - type: "FULL", - environmentName: "sign-in-with-username", - signInAliases: { - username: true, - }, - standardAttributes: { - email: { - mutable: true, - required: true, + { + type: "FULL", + environmentName: "device-tracking-opt-in", + deviceTracking: deviceTrackingOptIn, + }, + { + type: "FULL", + environmentName: "device-tracking-email-alias", + deviceTracking: deviceTrackingAlways, + signInAliases: { + email: true, }, }, - }, - { - type: "FULL", - environmentName: "sign-in-with-phone", - signInAliases: { - phone: true, - }, - standardAttributes: { - phoneNumber: { - mutable: true, - required: true, + { + type: "FULL", + environmentName: "sign-in-with-username", + signInAliases: { + username: true, + }, + standardAttributes: { + email: { + mutable: true, + required: true, + }, }, }, - }, - { - type: "FULL", - environmentName: "sign-in-with-email", - signInAliases: { - email: true, - }, - standardAttributes: { - email: { - mutable: true, - required: true, + { + type: "FULL", + environmentName: "sign-in-with-phone", + signInAliases: { + phone: true, + }, + standardAttributes: { + phoneNumber: { + mutable: true, + required: true, + }, }, }, - }, - { - type: "FULL", - environmentName: "sign-in-with-email-or-phone", - signInAliases: { - phone: true, - email: true, + { + type: "FULL", + environmentName: "sign-in-with-email", + signInAliases: { + email: true, + }, + standardAttributes: { + email: { + mutable: true, + required: true, + }, + }, }, - }, - { - type: "FULL", - environmentName: "sign-in-with-email-lambda-trigger", - signInAliases: { - email: true, - }, - autoConfirm: true, - standardAttributes: { - email: { - mutable: true, - required: true, + { + type: "FULL", + environmentName: "sign-in-with-email-or-phone", + signInAliases: { + phone: true, + email: true, }, }, - }, - { - type: "FULL", - environmentName: "keep-original-attributes", - autoConfirm: true, - standardAttributes: { - email: { - mutable: true, - required: true, + { + type: "FULL", + environmentName: "sign-in-with-email-lambda-trigger", + signInAliases: { + email: true, }, - phoneNumber: { - mutable: true, - required: true, - } - }, - keepOriginal: { - email: true, - phone: true, - } - }, - { - type: "FULL", - environmentName: "hosted-ui", - enableHostedUI: true, - }, - { - type: "FULL", - environmentName: "user-pool-only", - includeIdentityPool: false, - deviceTracking: deviceTrackingOptIn, - }, - { - type: "FULL", - environmentName: "identity-pool-only", - includeUserPool: false, - }, - { - type: "FULL", - environmentName: "authenticated-users-only", - allowUnauthenticatedIdentities: false, - }, - { - type: "FULL", - environmentName: "custom-auth-with-srp", - customAuth: "WITH_SRP", - }, - { - type: "FULL", - environmentName: "custom-auth-without-srp", - customAuth: "WITHOUT_SRP", - }, - { - type: "FULL", - environmentName: "custom-auth-device-with-srp", - customAuth: "WITH_SRP", - deviceTracking: deviceTrackingAlways, - }, - { - type: "FULL", - environmentName: "custom-auth-device-without-srp", - customAuth: "WITHOUT_SRP", - deviceTracking: deviceTrackingAlways, - }, - { - type: "FULL", - environmentName: "with-client-secret", - withClientSecret: true, - deviceTracking: deviceTrackingOptIn, - }, - { - type: "FULL", - environmentName: "asf-audit", - advancedSecurityMode: cognito.AdvancedSecurityMode.AUDIT, - }, - { - type: "FULL", - environmentName: "mfa-optional-sms", - mfaConfiguration: { - SMSMfaSettings: { - Enabled: true - } - }, - standardAttributes: {}, - }, - { - type: "FULL", - environmentName: "mfa-required-sms", - mfaConfiguration: { - signIn: cognito.Mfa.REQUIRED, - SMSMfaSettings: { - Enabled: true - } - }, - standardAttributes: {}, - }, - { - type: "FULL", - environmentName: "mfa-optional-totp", - mfaConfiguration: { - SoftwareTokenMfaSettings: { - Enabled: true, - } - }, - standardAttributes: {}, - }, - { - type: "FULL", - environmentName: "mfa-required-totp", - mfaConfiguration: { - signIn: cognito.Mfa.REQUIRED, - SoftwareTokenMfaSettings: { - Enabled: true, - } - }, - standardAttributes: {}, - }, - { - type: "FULL", - environmentName: "mfa-optional-sms-totp", - mfaConfiguration: { - SMSMfaSettings: { - Enabled: true, + autoConfirm: true, + standardAttributes: { + email: { + mutable: true, + required: true, + }, }, - SoftwareTokenMfaSettings: { - Enabled: true, - } }, - standardAttributes: {}, - }, - { - type: "FULL", - environmentName: "mfa-required-sms-totp", - mfaConfiguration: { - signIn: cognito.Mfa.REQUIRED, - SMSMfaSettings: { - Enabled: true, + { + type: "FULL", + environmentName: "keep-original-attributes", + autoConfirm: true, + standardAttributes: { + email: { + mutable: true, + required: true, + }, + phoneNumber: { + mutable: true, + required: true, + }, + }, + keepOriginal: { + email: true, + phone: true, }, - SoftwareTokenMfaSettings: { - Enabled: true, - } }, - standardAttributes: {}, - }, - { - type: "CUSTOM_AUTHORIZER_USER_POOLS", - environmentName: "custom-authorizer-user-pools", - }, + { + type: "FULL", + environmentName: "hosted-ui", + enableHostedUI: true, + }, + { + type: "FULL", + environmentName: "user-pool-only", + includeIdentityPool: false, + deviceTracking: deviceTrackingOptIn, + }, + { + type: "FULL", + environmentName: "identity-pool-only", + includeUserPool: false, + }, + { + type: "FULL", + environmentName: "authenticated-users-only", + allowUnauthenticatedIdentities: false, + }, + { + type: "FULL", + environmentName: "custom-auth-with-srp", + customAuth: "WITH_SRP", + }, + { + type: "FULL", + environmentName: "custom-auth-without-srp", + customAuth: "WITHOUT_SRP", + }, + { + type: "FULL", + environmentName: "custom-auth-device-with-srp", + customAuth: "WITH_SRP", + deviceTracking: deviceTrackingAlways, + }, + { + type: "FULL", + environmentName: "custom-auth-device-without-srp", + customAuth: "WITHOUT_SRP", + deviceTracking: deviceTrackingAlways, + }, + { + type: "FULL", + environmentName: "with-client-secret", + withClientSecret: true, + deviceTracking: deviceTrackingOptIn, + }, + { + type: "FULL", + environmentName: "asf-audit", + advancedSecurityMode: cognito.AdvancedSecurityMode.AUDIT, + }, + { + type: "FULL", + environmentName: "mfa-optional-sms", + mfaConfiguration: { + SMSMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "FULL", + environmentName: "mfa-required-sms", + mfaConfiguration: { + signIn: cognito.Mfa.REQUIRED, + SMSMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "FULL", + environmentName: "mfa-optional-totp", + mfaConfiguration: { + SoftwareTokenMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "FULL", + environmentName: "mfa-required-totp", + mfaConfiguration: { + signIn: cognito.Mfa.REQUIRED, + SoftwareTokenMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "FULL", + environmentName: "mfa-optional-sms-totp", + mfaConfiguration: { + SMSMfaSettings: { + Enabled: true, + }, + SoftwareTokenMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "FULL", + environmentName: "mfa-required-sms-totp", + mfaConfiguration: { + signIn: cognito.Mfa.REQUIRED, + SMSMfaSettings: { + Enabled: true, + }, + SoftwareTokenMfaSettings: { + Enabled: true, + }, + }, + standardAttributes: {}, + }, + { + type: "CUSTOM_AUTHORIZER_USER_POOLS", + environmentName: "custom-authorizer-user-pools", + }, + { + type: "CUSTOM_AUTHORIZER_IAM", + environmentName: "custom-authorizer-iam", + }, + ...customDomainEnv, + ], { - type: "CUSTOM_AUTHORIZER_IAM", - environmentName: "custom-authorizer-iam", - }, - ...customDomainEnv, - ], { - env, - // TODO(dnys1): Remove after eventual consistency experiment is complete - // env: { - // account: process.env.CDK_DEFAULT_ACCOUNT, - // region: 'eu-south-1', - // }, - // crossRegionReferences: true, - }); + env, + // TODO(dnys1): Remove after eventual consistency experiment is complete + // env: { + // account: process.env.CDK_DEFAULT_ACCOUNT, + // region: 'eu-south-1', + // }, + // crossRegionReferences: true, + } + ); // The Logging stack const logging = new LoggingIntegrationTestStack(this, [ @@ -296,38 +310,42 @@ export class AmplifyFlutterIntegStack extends cdk.Stack { ]); // The Storage stack - const storage = new StorageIntegrationTestStack(this, [ - { - environmentName: "main", - enableTransferAcceleration: true, - }, - { - environmentName: "custom-prefix", - enableTransferAcceleration: true, - prefixResolver(accessLevel, identityId) { - switch (accessLevel) { - case StorageAccessLevel.public: - return `everyone`; - case StorageAccessLevel.protected: - return `shared/${identityId}`; - case StorageAccessLevel.private: - return `private/${identityId}`; - } - }, - prefixOverrides: { - [StorageAccessLevel.public]: "everyone", - [StorageAccessLevel.protected]: "shared", - [StorageAccessLevel.private]: "private", - }, - }, - { - environmentName: "dots-in-name", - enableTransferAcceleration: false, - bucketNamePrefix: "amplify.integ-test.stack", - }, - ], { env }); + const storage = new StorageIntegrationTestStack( + this, + [ + { + environmentName: "main", + enableTransferAcceleration: true, + }, + { + environmentName: "custom-prefix", + enableTransferAcceleration: true, + prefixResolver(accessLevel, identityId) { + switch (accessLevel) { + case StorageAccessLevel.public: + return `everyone`; + case StorageAccessLevel.protected: + return `shared/${identityId}`; + case StorageAccessLevel.private: + return `private/${identityId}`; + } + }, + prefixOverrides: { + [StorageAccessLevel.public]: "everyone", + [StorageAccessLevel.protected]: "shared", + [StorageAccessLevel.private]: "private", + }, + }, + { + environmentName: "dots-in-name", + enableTransferAcceleration: false, + bucketNamePrefix: "amplify.integ-test.stack", + }, + ], + { env } + ); - new cdk.CfnOutput(this, 'Categories', { + new cdk.CfnOutput(this, "Categories", { value: JSON.stringify({ analytics: { region: analytics.region, @@ -341,10 +359,10 @@ export class AmplifyFlutterIntegStack extends cdk.Stack { region: storage.region, bucketName: storage.bucket.bucketName, }, - }) + }), }); - new GitHubStack(this, 'GitHub', { + new GitHubStack(this, "GitHub", { analytics: analytics.bucket, auth: auth.bucket, storage: storage.bucket, From cf19b018bca455b096c3227b24224a07e99d5a74 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Mon, 25 Sep 2023 12:07:18 -0700 Subject: [PATCH 19/43] feat(logging): add LoggingConfig to AmplifyConfig (#3770) * feat(logging): add LoggingConfig to AmplifyConfig * chore(logging): cloudwatch logger plugin to use amplify_core logging config --- packages/amplify_core/lib/amplify_core.dart | 1 + .../lib/src/config/amplify_config.dart | 7 + .../lib/src/config/amplify_config.g.dart | 4 + .../src/config/amplify_plugin_registry.dart | 4 + .../logging/cloudwatch_logging_config.dart | 171 ++++++++++++++++++ .../logging/cloudwatch_logging_config.g.dart | 116 ++++++++++++ .../src/config/logging/logging_config.dart | 33 ++++ .../src/config/logging/logging_config.g.dart | 19 ++ .../aws_common/lib/src/logging/log_level.dart | 8 + .../dart_queued_item_store.stub.dart | 3 +- .../dart_queued_item_store.vm.dart | 3 +- .../dart_queued_item_store.web.dart | 5 +- .../drift/drift_queued_item_store.dart | 3 +- .../index_db/indexed_db_adapter.dart | 5 +- .../lib/aws_logging_cloudwatch.dart | 3 - .../lib/src/cloudwatch_logger_plugin.dart | 17 +- .../lib/src/plugin_config.dart | 107 ----------- .../lib/src/plugin_config.g.dart | 76 -------- .../lib/src/remote_constraint_provider.dart | 57 ++---- .../test/cloudwatch_logger_plugin_test.dart | 9 +- .../aws_logging_cloudwatch/test/mocks.dart | 4 +- .../test/remote_constraint_provider_test.dart | 34 ++-- 22 files changed, 428 insertions(+), 261 deletions(-) create mode 100644 packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart create mode 100644 packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart create mode 100644 packages/amplify_core/lib/src/config/logging/logging_config.dart create mode 100644 packages/amplify_core/lib/src/config/logging/logging_config.g.dart delete mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart delete mode 100644 packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart diff --git a/packages/amplify_core/lib/amplify_core.dart b/packages/amplify_core/lib/amplify_core.dart index 4add5a25ab..f3dba4d61a 100644 --- a/packages/amplify_core/lib/amplify_core.dart +++ b/packages/amplify_core/lib/amplify_core.dart @@ -24,6 +24,7 @@ export 'src/config/analytics/analytics_config.dart'; export 'src/config/api/api_config.dart'; export 'src/config/auth/auth_config.dart'; export 'src/config/config_map.dart'; +export 'src/config/logging/logging_config.dart'; export 'src/config/notifications/notifications_config.dart'; export 'src/config/storage/storage_config.dart'; diff --git a/packages/amplify_core/lib/src/config/amplify_config.dart b/packages/amplify_core/lib/src/config/amplify_config.dart index 29ddb0dea1..eca3bdb007 100644 --- a/packages/amplify_core/lib/src/config/amplify_config.dart +++ b/packages/amplify_core/lib/src/config/amplify_config.dart @@ -18,6 +18,7 @@ class AmplifyConfig with AWSEquatable, AWSSerializable { this.api, this.analytics, this.auth, + this.logging, this.notifications, this.storage, }); @@ -39,6 +40,9 @@ class AmplifyConfig with AWSEquatable, AWSSerializable { /// The Auth category configuration, if available. final AuthConfig? auth; + /// The Logging configuration, if available. + final LoggingConfig? logging; + /// The Notifications category configuration, if available. final NotificationsConfig? notifications; @@ -52,6 +56,7 @@ class AmplifyConfig with AWSEquatable, AWSSerializable { api, analytics, auth, + logging, notifications, storage, ]; @@ -60,6 +65,7 @@ class AmplifyConfig with AWSEquatable, AWSSerializable { ApiConfig? api, AnalyticsConfig? analytics, AuthConfig? auth, + LoggingConfig? logging, NotificationsConfig? notifications, StorageConfig? storage, }) { @@ -69,6 +75,7 @@ class AmplifyConfig with AWSEquatable, AWSSerializable { api: api ?? this.api, analytics: analytics ?? this.analytics, auth: auth ?? this.auth, + logging: logging ?? this.logging, notifications: notifications ?? this.notifications, storage: storage ?? this.storage, ); diff --git a/packages/amplify_core/lib/src/config/amplify_config.g.dart b/packages/amplify_core/lib/src/config/amplify_config.g.dart index c94be213cc..27d692250f 100644 --- a/packages/amplify_core/lib/src/config/amplify_config.g.dart +++ b/packages/amplify_core/lib/src/config/amplify_config.g.dart @@ -21,6 +21,9 @@ AmplifyConfig _$AmplifyConfigFromJson(Map json) => auth: json['auth'] == null ? null : AuthConfig.fromJson(json['auth'] as Map), + logging: json['logging'] == null + ? null + : LoggingConfig.fromJson(json['logging'] as Map), notifications: json['notifications'] == null ? null : NotificationsConfig.fromJson( @@ -45,6 +48,7 @@ Map _$AmplifyConfigToJson(AmplifyConfig instance) { writeNotNull('api', instance.api?.toJson()); writeNotNull('analytics', instance.analytics?.toJson()); writeNotNull('auth', instance.auth?.toJson()); + writeNotNull('logging', instance.logging?.toJson()); writeNotNull('notifications', instance.notifications?.toJson()); writeNotNull('storage', instance.storage?.toJson()); return val; diff --git a/packages/amplify_core/lib/src/config/amplify_plugin_registry.dart b/packages/amplify_core/lib/src/config/amplify_plugin_registry.dart index 10e8c6127e..84553afd77 100644 --- a/packages/amplify_core/lib/src/config/amplify_plugin_registry.dart +++ b/packages/amplify_core/lib/src/config/amplify_plugin_registry.dart @@ -5,6 +5,7 @@ import 'package:amplify_core/src/config/amplify_plugin_config.dart'; import 'package:amplify_core/src/config/analytics/pinpoint_config.dart'; import 'package:amplify_core/src/config/api/aws_api_config.dart'; import 'package:amplify_core/src/config/auth/cognito_config.dart'; +import 'package:amplify_core/src/config/logging/cloudwatch_logging_config.dart'; import 'package:amplify_core/src/config/notifications/notifications_pinpoint_config.dart'; import 'package:amplify_core/src/config/storage/s3_config.dart'; @@ -25,6 +26,9 @@ const _defaultPlugins = [ // Storage S3PluginConfigFactory(), + + // Logging + CloudWatchPluginConfigFactory(), ]; /// {@template amplify_core.amplify_plugin_config_factory} diff --git a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart new file mode 100644 index 0000000000..3012fc94a2 --- /dev/null +++ b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart @@ -0,0 +1,171 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_core/amplify_core.dart'; +import 'package:meta/meta.dart'; + +part 'cloudwatch_logging_config.g.dart'; + +/// {@template amplify_core.cloudwatch_plugin_config_factory} +/// Configuration factory for [CloudWatchPluginConfig]. +/// {@endtemplate} +@internal +class CloudWatchPluginConfigFactory + extends AmplifyPluginConfigFactory { + /// {@macro amplify_core.cloudwatch_plugin_config_factory} + const CloudWatchPluginConfigFactory(); + + @override + CloudWatchPluginConfig build(Map json) { + return CloudWatchPluginConfig.fromJson(json); + } + + @override + String get name => CloudWatchPluginConfig.pluginKey; +} + +/// {@template amplify_core.cloudwatch_plugin_config} +/// The AWS CloudWatch plugin configuration. +/// {@endtemplate} +@zAmplifySerializable +class CloudWatchPluginConfig + with AWSEquatable, AWSSerializable + implements AmplifyPluginConfig { + /// {@macro amplify_core.cloudwatch_plugin_config} + const CloudWatchPluginConfig({ + this.enable = true, + required this.logGroupName, + required this.region, + this.localStoreMaxSizeInMB = 5, + this.flushIntervalInSeconds = 60, + this.defaultRemoteConfiguration, + this.loggingConstraints = const LoggingConstraints(), + }); + + factory CloudWatchPluginConfig.fromJson(Map json) => + _$CloudWatchPluginConfigFromJson(json); + + /// The plugin's configuration key. + static const pluginKey = 'cloudWatchLoggerPluginConfiguration'; + + final bool enable; + final String logGroupName; + final String region; + final int localStoreMaxSizeInMB; + final int flushIntervalInSeconds; + final DefaultRemoteConfiguration? defaultRemoteConfiguration; + final LoggingConstraints loggingConstraints; + + @override + String get name => pluginKey; + + @override + List get props => [ + enable, + logGroupName, + region, + localStoreMaxSizeInMB, + flushIntervalInSeconds, + defaultRemoteConfiguration, + loggingConstraints, + ]; + + CloudWatchPluginConfig copyWith({ + bool? enable, + String? logGroupName, + String? region, + int? localStoreMaxSizeInMB, + int? flushIntervalInSeconds, + DefaultRemoteConfiguration? defaultRemoteConfiguration, + LoggingConstraints? loggingConstraints, + }) { + return CloudWatchPluginConfig( + enable: enable ?? this.enable, + logGroupName: logGroupName ?? this.logGroupName, + region: region ?? this.region, + localStoreMaxSizeInMB: + localStoreMaxSizeInMB ?? this.localStoreMaxSizeInMB, + flushIntervalInSeconds: + flushIntervalInSeconds ?? this.flushIntervalInSeconds, + defaultRemoteConfiguration: + defaultRemoteConfiguration ?? this.defaultRemoteConfiguration, + loggingConstraints: loggingConstraints ?? this.loggingConstraints, + ); + } + + @override + Map toJson() => _$CloudWatchPluginConfigToJson(this); +} + +@zAmplifySerializable +class DefaultRemoteConfiguration + with + AWSEquatable, + AWSSerializable> { + const DefaultRemoteConfiguration({ + required this.endpoint, + this.refreshIntervalInSeconds = 1200, + }); + + factory DefaultRemoteConfiguration.fromJson(Map json) => + _$DefaultRemoteConfigurationFromJson(json); + + final String endpoint; + final int refreshIntervalInSeconds; + + @override + List get props => [endpoint, refreshIntervalInSeconds]; + + @override + Map toJson() => _$DefaultRemoteConfigurationToJson(this); +} + +@zAmplifySerializable +class LoggingConstraints + with + AWSEquatable, + AWSSerializable> { + const LoggingConstraints({ + this.defaultLogLevel = LogLevel.error, + this.categoryLogLevel = const {}, + this.userLogLevel = const {}, + }); + + factory LoggingConstraints.fromJson(Map json) => + _$LoggingConstraintsFromJson(json); + + final LogLevel defaultLogLevel; + final Map categoryLogLevel; + final Map userLogLevel; + + @override + List get props => [ + defaultLogLevel, + categoryLogLevel, + userLogLevel, + ]; + + @override + Map toJson() => _$LoggingConstraintsToJson(this); +} + +@zAmplifySerializable +class UserLogLevel + with AWSEquatable, AWSSerializable> { + const UserLogLevel({ + this.defaultLogLevel = LogLevel.error, + this.categoryLogLevel = const {}, + }); + + factory UserLogLevel.fromJson(Map json) => + _$UserLogLevelFromJson(json); + + final LogLevel defaultLogLevel; + final Map categoryLogLevel; + + @override + List get props => [defaultLogLevel, categoryLogLevel]; + + @override + Map toJson() => _$UserLogLevelToJson(this); +} diff --git a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart new file mode 100644 index 0000000000..72ab29ce57 --- /dev/null +++ b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart @@ -0,0 +1,116 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ignore_for_file: deprecated_member_use_from_same_package + +part of 'cloudwatch_logging_config.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +CloudWatchPluginConfig _$CloudWatchPluginConfigFromJson( + Map json) => + CloudWatchPluginConfig( + enable: json['enable'] as bool? ?? true, + logGroupName: json['logGroupName'] as String, + region: json['region'] as String, + localStoreMaxSizeInMB: json['localStoreMaxSizeInMB'] as int? ?? 5, + flushIntervalInSeconds: json['flushIntervalInSeconds'] as int? ?? 60, + defaultRemoteConfiguration: json['defaultRemoteConfiguration'] == null + ? null + : DefaultRemoteConfiguration.fromJson( + json['defaultRemoteConfiguration'] as Map), + loggingConstraints: json['loggingConstraints'] == null + ? const LoggingConstraints() + : LoggingConstraints.fromJson( + json['loggingConstraints'] as Map), + ); + +Map _$CloudWatchPluginConfigToJson( + CloudWatchPluginConfig instance) { + final val = { + 'enable': instance.enable, + 'logGroupName': instance.logGroupName, + 'region': instance.region, + 'localStoreMaxSizeInMB': instance.localStoreMaxSizeInMB, + 'flushIntervalInSeconds': instance.flushIntervalInSeconds, + }; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('defaultRemoteConfiguration', + instance.defaultRemoteConfiguration?.toJson()); + val['loggingConstraints'] = instance.loggingConstraints.toJson(); + return val; +} + +DefaultRemoteConfiguration _$DefaultRemoteConfigurationFromJson( + Map json) => + DefaultRemoteConfiguration( + endpoint: json['endpoint'] as String, + refreshIntervalInSeconds: + json['refreshIntervalInSeconds'] as int? ?? 1200, + ); + +Map _$DefaultRemoteConfigurationToJson( + DefaultRemoteConfiguration instance) => + { + 'endpoint': instance.endpoint, + 'refreshIntervalInSeconds': instance.refreshIntervalInSeconds, + }; + +LoggingConstraints _$LoggingConstraintsFromJson(Map json) => + LoggingConstraints( + defaultLogLevel: + $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']) ?? + LogLevel.error, + categoryLogLevel: + (json['categoryLogLevel'] as Map?)?.map( + (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), + ) ?? + const {}, + userLogLevel: (json['userLogLevel'] as Map?)?.map( + (k, e) => + MapEntry(k, UserLogLevel.fromJson(e as Map)), + ) ?? + const {}, + ); + +Map _$LoggingConstraintsToJson(LoggingConstraints instance) => + { + 'defaultLogLevel': _$LogLevelEnumMap[instance.defaultLogLevel]!, + 'categoryLogLevel': instance.categoryLogLevel + .map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!)), + 'userLogLevel': + instance.userLogLevel.map((k, e) => MapEntry(k, e.toJson())), + }; + +const _$LogLevelEnumMap = { + LogLevel.verbose: 'VERBOSE', + LogLevel.debug: 'DEBUG', + LogLevel.info: 'INFO', + LogLevel.warn: 'WARN', + LogLevel.error: 'ERROR', + LogLevel.none: 'NONE', +}; + +UserLogLevel _$UserLogLevelFromJson(Map json) => UserLogLevel( + defaultLogLevel: + $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']) ?? + LogLevel.error, + categoryLogLevel: + (json['categoryLogLevel'] as Map?)?.map( + (k, e) => MapEntry(k, e as String), + ) ?? + const {}, + ); + +Map _$UserLogLevelToJson(UserLogLevel instance) => + { + 'defaultLogLevel': _$LogLevelEnumMap[instance.defaultLogLevel]!, + 'categoryLogLevel': instance.categoryLogLevel, + }; diff --git a/packages/amplify_core/lib/src/config/logging/logging_config.dart b/packages/amplify_core/lib/src/config/logging/logging_config.dart new file mode 100644 index 0000000000..eb5e296135 --- /dev/null +++ b/packages/amplify_core/lib/src/config/logging/logging_config.dart @@ -0,0 +1,33 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'package:amplify_core/amplify_core.dart'; + +export 'cloudwatch_logging_config.dart' hide CloudWatchPluginConfigFactory; + +part 'logging_config.g.dart'; + +/// {@template amplify_core.logging_config} +/// The Logging configuration. +/// {@endtemplate} +@zAmplifySerializable +class LoggingConfig extends AmplifyPluginConfigMap { + /// {@macro amplify_core.logging_config} + const LoggingConfig({ + required Map plugins, + }) : super(plugins); + + factory LoggingConfig.fromJson(Map json) => + _$LoggingConfigFromJson(json); + + /// The AWS CloudWatch plugin configuration, if available. + @override + CloudWatchPluginConfig? get awsPlugin => + plugins[CloudWatchPluginConfig.pluginKey] as CloudWatchPluginConfig?; + + @override + LoggingConfig copy() => LoggingConfig(plugins: Map.of(plugins)); + + @override + Map toJson() => _$LoggingConfigToJson(this); +} diff --git a/packages/amplify_core/lib/src/config/logging/logging_config.g.dart b/packages/amplify_core/lib/src/config/logging/logging_config.g.dart new file mode 100644 index 0000000000..2c88483fa8 --- /dev/null +++ b/packages/amplify_core/lib/src/config/logging/logging_config.g.dart @@ -0,0 +1,19 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ignore_for_file: deprecated_member_use_from_same_package + +part of 'logging_config.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +LoggingConfig _$LoggingConfigFromJson(Map json) => + LoggingConfig( + plugins: AmplifyPluginRegistry.pluginConfigsFromJson(json['plugins']), + ); + +Map _$LoggingConfigToJson(LoggingConfig instance) => + { + 'plugins': instance.plugins.map((k, e) => MapEntry(k, e.toJson())), + }; diff --git a/packages/aws_common/lib/src/logging/log_level.dart b/packages/aws_common/lib/src/logging/log_level.dart index 6f12173aa9..90d1c02469 100644 --- a/packages/aws_common/lib/src/logging/log_level.dart +++ b/packages/aws_common/lib/src/logging/log_level.dart @@ -3,30 +3,38 @@ // ignore_for_file: public_member_api_docs +import 'package:json_annotation/json_annotation.dart'; + /// The different levels of logging. enum LogLevel implements Comparable { /// Logs for showing behavior of particular components/flows. /// /// **Note**: May contain information inappropriate for emission into /// production environments. + @JsonValue('VERBOSE') verbose, /// Logs for understanding system behavior. /// /// **Note**: May contain information inappropriate for emission into /// production environments. + @JsonValue('DEBUG') debug, /// Logs providing terse info about general operation and flow of software. + @JsonValue('INFO') info, /// Logs indicating potential issues. + @JsonValue('WARN') warn, /// Logs when system is not operating as expected. + @JsonValue('ERROR') error, /// Prevents any logs from being emitted. + @JsonValue('NONE') none; @override diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart index 9e9fd28c3f..fd2bd1fee4 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.stub.dart @@ -4,7 +4,8 @@ import 'dart:async'; import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +// ignore: implementation_imports +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:meta/meta.dart'; /// {@template amplify_logging_cloudwatch.dart_queued_item_store} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart index 7acc8ee13c..c4cb9ef090 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.vm.dart @@ -5,7 +5,8 @@ import 'dart:async'; import 'package:amplify_logging_cloudwatch/src/queued_item_store/drift/drift_queued_item_store.dart'; import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +// ignore: implementation_imports +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:meta/meta.dart'; import 'package:path_provider/path_provider.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart index c20db8c60b..656556950b 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -1,9 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +// ignore_for_file: implementation_imports + import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:meta/meta.dart'; /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart index d29f32777c..653d36350c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/drift/drift_queued_item_store.dart @@ -4,7 +4,8 @@ import 'dart:async'; import 'package:amplify_db_common_dart/amplify_db_common_dart.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +// ignore: implementation_imports +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:drift/drift.dart'; part 'drift_queued_item_store.g.dart'; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart index c4e4c13763..050e1ef1eb 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -1,13 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +// ignore_for_file: implementation_imports + import 'dart:async'; import 'dart:js_util'; import 'package:amplify_core/amplify_core.dart'; -// ignore: implementation_imports import 'package:aws_common/src/js/indexed_db.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:collection/collection.dart'; // TODO(kylechen): Consider merging/refactoring with existing 'amplify_secure_storage_web - _IndexedDBStorage' class diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart index 5af0cf6bcf..0f4f3d075b 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -6,7 +6,4 @@ library aws_logging_cloudwatch; export 'src/cloudwatch_logger_plugin.dart'; export 'src/log_stream_provider.dart'; -export 'src/plugin_config.dart'; -export 'src/queued_item_store/in_memory_queued_item_store.dart'; -export 'src/queued_item_store/queued_item_store.dart'; export 'src/remote_constraint_provider.dart'; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index b3eecf74bb..835a2e2328 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -6,6 +6,8 @@ import 'dart:math'; import 'package:amplify_core/amplify_core.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:aws_logging_cloudwatch/src/stoppable_timer.dart'; import 'package:fixnum/fixnum.dart'; @@ -47,7 +49,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} CloudWatchLoggerPlugin({ required AWSCredentialsProvider credentialsProvider, - required CloudWatchLoggerPluginConfiguration pluginConfig, + required CloudWatchPluginConfig pluginConfig, RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, CloudWatchLogStreamProvider? logStreamProvider, // TODO(nikahsn): remove after moving queued item store implementation from @@ -60,6 +62,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin ? DefaultRemoteLoggingConstraintProvider( config: pluginConfig.defaultRemoteConfiguration!, credentialsProvider: credentialsProvider, + region: pluginConfig.region, ) : null), _client = CloudWatchLogsClient( @@ -76,9 +79,9 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin region: pluginConfig.region, credentialsProvider: credentialsProvider, ) { - _timer = pluginConfig.flushInterval > Duration.zero + _timer = pluginConfig.flushIntervalInSeconds > 0 ? StoppableTimer( - duration: pluginConfig.flushInterval, + duration: Duration(seconds: pluginConfig.flushIntervalInSeconds), callback: _startSyncingIfNotInProgress, onError: _onTimerError, ) @@ -93,7 +96,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin @visibleForTesting CloudWatchLoggerPlugin.testPlugin({ required CloudWatchLogsClient client, - required CloudWatchLoggerPluginConfiguration pluginConfig, + required CloudWatchPluginConfig pluginConfig, required CloudWatchLogStreamProvider logStreamProvider, required QueuedItemStore logStore, RemoteLoggingConstraintProvider? remoteLoggingConstraintProvider, @@ -104,7 +107,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin _logStreamProvider = logStreamProvider, _client = client; - final CloudWatchLoggerPluginConfiguration _pluginConfig; + final CloudWatchPluginConfig _pluginConfig; final CloudWatchLogsClient _client; final CloudWatchLogStreamProvider _logStreamProvider; final QueuedItemStore _logStore; @@ -216,9 +219,9 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin logger.error('Failed to sync logs to CloudWatch.', e); } - LoggingConstraint _getLoggingConstraint() { + LoggingConstraints _getLoggingConstraint() { final result = _remoteLoggingConstraintProvider?.loggingConstraint; - return result ?? _pluginConfig.localLoggingConstraint; + return result ?? _pluginConfig.loggingConstraints; } Future _sendToCloudWatch( diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart deleted file mode 100644 index 3367eb505c..0000000000 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.dart +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import 'package:amplify_core/amplify_core.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; - -part 'plugin_config.g.dart'; - -/// {@template aws_logging_cloudwatch.cloudwatch_logger_plugin_configuration} -/// The configuration for `CloudWatchLoggerPlugin`. -/// {@endtemplate} -class CloudWatchLoggerPluginConfiguration with AWSDebuggable { - /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin_configuration} - const CloudWatchLoggerPluginConfiguration({ - required this.logGroupName, - required this.region, - required this.localLoggingConstraint, - this.enable = true, - this.localStoreMaxSizeInMB = 5, - this.flushInterval = const Duration(seconds: 60), - this.defaultRemoteConfiguration, - }); - - /// Whether the plugin is enabled. - final bool enable; - - /// The log group name to use for sending logs to CloudWatch. - final String logGroupName; - - /// The region to use for sending logs to CloudWatch. - final String region; - - /// The max size of the local store in MB to be used for storing logs locally. - final int localStoreMaxSizeInMB; - - /// The duration for sending locally stored logs to CloudWatch. - final Duration flushInterval; - - /// {@macro aws_logging_cloudwatch.logging_constraint} - final LoggingConstraint localLoggingConstraint; - - /// {@macro aws_logging_cloudwatch.default_remote_configuration} - final DefaultRemoteConfiguration? defaultRemoteConfiguration; - - @override - String get runtimeTypeName => 'CloudWatchLoggerPluginConfiguration'; -} - -/// {@template aws_logging_cloudwatch.logging_constraint} -/// The logging constraint for sending logs to CloudWatch. -/// {@endtemplate} -@zAmplifySerializable -class LoggingConstraint with AWSDebuggable, AWSSerializable { - /// {@macro aws_logging_cloudwatch.logging_constraint} - const LoggingConstraint({ - this.defaultLogLevel = LogLevel.error, - this.categoryLogLevel, - this.userLogLevel, - }); - - /// Converts a [Map] to an [LoggingConstraint] instance. - factory LoggingConstraint.fromJson(Map json) => - _$LoggingConstraintFromJson(json); - - /// Converts an [LoggingConstraint] instance to a [Map]. - @override - Map toJson() => _$LoggingConstraintToJson(this); - - /// The default [LogLevel] for sending logs to CloudWatch. - final LogLevel defaultLogLevel; - - /// The [LogLevel] for different categories. - final Map? categoryLogLevel; - - /// The [LogLevel] for different users. - final Map? userLogLevel; - - @override - String get runtimeTypeName => 'LoggingConstraint'; -} - -/// The logging constraint for user specific log level. -@zAmplifySerializable -class UserLogLevel with AWSDebuggable, AWSSerializable { - /// The logging constraint for user specific log level. - const UserLogLevel({ - this.defaultLogLevel, - this.categoryLogLevel, - }); - - ///Converts a [Map] to a [UserLogLevel] instance. - factory UserLogLevel.fromJson(Map json) => - _$UserLogLevelFromJson(json); - - /// Converts a [UserLogLevel] instance to a [Map]. - @override - Map toJson() => _$UserLogLevelToJson(this); - - /// The default [LogLevel] for sending logs to CloudWatch. - final LogLevel? defaultLogLevel; - - /// The [LogLevel] for different categories. - final Map? categoryLogLevel; - - @override - String get runtimeTypeName => 'UserLogLevel'; -} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart deleted file mode 100644 index 64733e29d2..0000000000 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/plugin_config.g.dart +++ /dev/null @@ -1,76 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'plugin_config.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -LoggingConstraint _$LoggingConstraintFromJson(Map json) => - LoggingConstraint( - defaultLogLevel: - $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']) ?? - LogLevel.error, - categoryLogLevel: - (json['categoryLogLevel'] as Map?)?.map( - (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), - ), - userLogLevel: (json['userLogLevel'] as Map?)?.map( - (k, e) => MapEntry(k, UserLogLevel.fromJson(e as Map)), - ), - ); - -Map _$LoggingConstraintToJson(LoggingConstraint instance) { - final val = { - 'defaultLogLevel': _$LogLevelEnumMap[instance.defaultLogLevel]!, - }; - - void writeNotNull(String key, dynamic value) { - if (value != null) { - val[key] = value; - } - } - - writeNotNull( - 'categoryLogLevel', - instance.categoryLogLevel - ?.map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!))); - writeNotNull('userLogLevel', - instance.userLogLevel?.map((k, e) => MapEntry(k, e.toJson()))); - return val; -} - -const _$LogLevelEnumMap = { - LogLevel.verbose: 'verbose', - LogLevel.debug: 'debug', - LogLevel.info: 'info', - LogLevel.warn: 'warn', - LogLevel.error: 'error', - LogLevel.none: 'none', -}; - -UserLogLevel _$UserLogLevelFromJson(Map json) => UserLogLevel( - defaultLogLevel: - $enumDecodeNullable(_$LogLevelEnumMap, json['defaultLogLevel']), - categoryLogLevel: - (json['categoryLogLevel'] as Map?)?.map( - (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), - ), - ); - -Map _$UserLogLevelToJson(UserLogLevel instance) { - final val = {}; - - void writeNotNull(String key, dynamic value) { - if (value != null) { - val[key] = value; - } - } - - writeNotNull('defaultLogLevel', _$LogLevelEnumMap[instance.defaultLogLevel]); - writeNotNull( - 'categoryLogLevel', - instance.categoryLogLevel - ?.map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!))); - return val; -} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart index ff6e0b31a1..9d35b09820 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart @@ -5,8 +5,6 @@ import 'dart:async'; import 'dart:convert'; import 'package:amplify_core/amplify_core.dart'; -import 'package:aws_common/aws_common.dart'; -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; import 'package:aws_signature_v4/aws_signature_v4.dart'; import 'package:meta/meta.dart'; @@ -14,16 +12,16 @@ import 'package:meta/meta.dart'; /// {@template aws_logging_cloudwatch.remote_logging_constraint_provider} /// An Interface to provide custom implementation for /// [RemoteLoggingConstraintProvider] -/// It gets the [LoggingConstraint] from a remote location and cache it. +/// It gets the [LoggingConstraints] from a remote location and cache it. /// {@endtemplate} abstract class RemoteLoggingConstraintProvider { /// Returns logging constraint from cache or `null` if cache is missing. - LoggingConstraint? get loggingConstraint; + LoggingConstraints? get loggingConstraint; } /// {@template aws_logging_cloudwatch.base_remote_constraints_provider} /// Base class for [RemoteLoggingConstraintProvider] to provide -/// [LoggingConstraint] from a remote location and cache it. +/// [LoggingConstraints] from a remote location and cache it. /// {@endtemplate} base class BaseRemoteLoggingConstraintProvider with AWSDebuggable, AWSLoggerMixin @@ -55,7 +53,7 @@ base class BaseRemoteLoggingConstraintProvider final DefaultRemoteConfiguration _config; - LoggingConstraint? _loggingConstraint; + LoggingConstraints? _loggingConstraint; final AWSHttpClient _awsHttpClient; @@ -108,7 +106,7 @@ base class BaseRemoteLoggingConstraintProvider .error('Failed to fetch constraints', (response.statusCode, body)); return; } - final fetchedConstraint = LoggingConstraint.fromJson( + final fetchedConstraint = LoggingConstraints.fromJson( jsonDecode(body) as Map, ); _loggingConstraint = fetchedConstraint; @@ -126,15 +124,15 @@ base class BaseRemoteLoggingConstraintProvider } } - /// Returns [LoggingConstraint] from the cache or `null` if the cache is missing + /// Returns [LoggingConstraints] from the cache or `null` if the cache is missing /// or if the constraints could not be retrieved from the remote server. @override - LoggingConstraint? get loggingConstraint => _loggingConstraint; + LoggingConstraints? get loggingConstraint => _loggingConstraint; Future _loadConstraintFromLocalStorage() async { final localConstraint = await _fileStorage?.load(_cacheFileName); if (localConstraint != null) { - _loggingConstraint = LoggingConstraint.fromJson( + _loggingConstraint = LoggingConstraints.fromJson( jsonDecode(localConstraint) as Map, ); } @@ -144,7 +142,7 @@ base class BaseRemoteLoggingConstraintProvider Future _refreshConstraintPeriodically() async { await _loadConstraintFromLocalStorage(); _timer = Timer.periodic( - _config.refreshInterval, + Duration(seconds: _config.refreshIntervalInSeconds), (_) => _fetchAndCacheConstraintFromEndpoint(), ); await _fetchAndCacheConstraintFromEndpoint(); @@ -159,30 +157,34 @@ base class BaseRemoteLoggingConstraintProvider /// {@template aws_logging_cloudwatch.default_remote_logging_constraint_provider} /// Default implementation of [RemoteLoggingConstraintProvider] to fetch -/// [LoggingConstraint] from an http endpoint periodically. +/// [LoggingConstraints] from an http endpoint periodically. /// {@endtemplate} final class DefaultRemoteLoggingConstraintProvider extends BaseRemoteLoggingConstraintProvider { /// {@macro aws_logging_cloudwatch.default_remote_logging_constraint_provider} DefaultRemoteLoggingConstraintProvider({ required super.config, - required this.credentialsProvider, + required String region, + required AWSCredentialsProvider credentialsProvider, super.fileStorage, - }); + }) : _region = region, + _credentialsProvider = credentialsProvider; /// The credentials provider to use for signing the request. - final AWSCredentialsProvider credentialsProvider; + final AWSCredentialsProvider _credentialsProvider; + + final String _region; /// The signer to use for signing the request. late final AWSSigV4Signer _signer = AWSSigV4Signer( - credentialsProvider: credentialsProvider, + credentialsProvider: _credentialsProvider, ); @override Future createRequest() async { final baseRequest = await super.createRequest(); final scope = AWSCredentialScope( - region: _config.region, + region: _region, service: AWSService.apiGatewayManagementApi, ); @@ -194,24 +196,3 @@ final class DefaultRemoteLoggingConstraintProvider return signedRequest; } } - -/// {@template aws_logging_cloudwatch.default_remote_configuration} -/// The configuration for [BaseRemoteLoggingConstraintProvider] -/// {@endtemplate} -class DefaultRemoteConfiguration { - /// {@macro aws_logging_cloudwatch.default_remote_configuration} - const DefaultRemoteConfiguration({ - required this.endpoint, - this.refreshInterval = const Duration(seconds: 1200), - required this.region, - }); - - /// The endpoint to fetch the `loggingConstraint`. - final String endpoint; - - /// The referesh interval to fetch the `loggingConstraint`. - final Duration refreshInterval; - - /// The region of the endpoint. - final String region; -} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index 4e4f57f39e..346831e42e 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -3,8 +3,9 @@ import 'dart:async'; -import 'package:aws_common/aws_common.dart'; +import 'package:amplify_core/amplify_core.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; @@ -18,11 +19,11 @@ void main() { late CloudWatchLoggerPlugin plugin; late MockSmithyOperation mockPutLogEventsOperation; - const loggingConstraint = LoggingConstraint(); - const pluginConfig = CloudWatchLoggerPluginConfiguration( + const loggingConstraint = LoggingConstraints(); + const pluginConfig = CloudWatchPluginConfig( logGroupName: 'logGroupName', region: 'region', - localLoggingConstraint: loggingConstraint, + loggingConstraints: loggingConstraint, enable: false, ); final errorLog = LogEntry( diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart index 9a88dca02b..49238ea567 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart @@ -1,4 +1,6 @@ -import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart' + show CloudWatchLogStreamProvider, RemoteLoggingConstraintProvider; +import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/sdk/cloud_watch_logs.dart'; import 'package:mocktail/mocktail.dart'; import 'package:smithy/smithy.dart'; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart index cd1e4ba6ce..4cee7c64c0 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart @@ -12,17 +12,17 @@ import 'package:test/test.dart'; const sampleJson = ''' { - "defaultLogLevel": "error", + "defaultLogLevel": "ERROR", "categoryLogLevel": { - "API": "debug", - "AUTH": "debug" + "API": "DEBUG", + "AUTH": "DEBUG" }, "userLogLevel": { "cognito-sub-xyz-123": { - "defaultLogLevel": "verbose", + "defaultLogLevel": "VERBOSE", "categoryLogLevel": { - "API": "verbose", - "AUTH": "verbose" + "API": "VERBOSE", + "AUTH": "VERBOSE" } } } @@ -59,7 +59,7 @@ void main() { late MockAWSHttpClient mockAWSHttpClient; test('LoggingConstraint', () { final sampleJsonMap = jsonDecode(sampleJson) as Map; - final loggingConstraint = LoggingConstraint.fromJson(sampleJsonMap); + final loggingConstraint = LoggingConstraints.fromJson(sampleJsonMap); expect( loggingConstraint.toJson(), sampleJsonMap, @@ -86,9 +86,8 @@ void main() { }); provider = BaseRemoteLoggingConstraintProvider.forTesting( config: const DefaultRemoteConfiguration( - refreshInterval: Duration(seconds: 1200), + refreshIntervalInSeconds: 1200, endpoint: 'https://example.com', - region: 'us-west-2', ), fileStorage: mockFileStorage, awsHttpClient: mockAWSHttpClient, @@ -114,9 +113,8 @@ void main() { }); provider = BaseRemoteLoggingConstraintProvider.forTesting( config: const DefaultRemoteConfiguration( - refreshInterval: Duration(seconds: 10), + refreshIntervalInSeconds: 10, endpoint: 'https://example.com', - region: 'us-west-2', ), fileStorage: mockFileStorage, awsHttpClient: mockAWSHttpClient, @@ -134,14 +132,14 @@ void main() { () async { const updatedJson = ''' { - "defaultLogLevel": "debug", + "defaultLogLevel": "DEBUG", "categoryLogLevel": { - "API": "debug", - "AUTH": "error" + "API": "DEBUG", + "AUTH": "ERROR" }, "userLogLevel": { "cognito-sub-xyz-123": { - "defaultLogLevel": "verbose", + "defaultLogLevel": "VERBOSE", "categoryLogLevel": { "API": "error", "AUTH": "debug" @@ -178,9 +176,8 @@ void main() { }); provider = BaseRemoteLoggingConstraintProvider.forTesting( config: const DefaultRemoteConfiguration( - refreshInterval: Duration(seconds: 1), + refreshIntervalInSeconds: 1, endpoint: 'https://example.com', - region: 'us-west-2', ), fileStorage: mockFileStorage, awsHttpClient: mockAWSHttpClient, @@ -211,9 +208,8 @@ void main() { }); provider = BaseRemoteLoggingConstraintProvider.forTesting( config: const DefaultRemoteConfiguration( - refreshInterval: Duration(seconds: 10), + refreshIntervalInSeconds: 10, endpoint: 'https://example.com', - region: 'us-west-2', ), fileStorage: mockFileStorage, awsHttpClient: mockAWSHttpClient, From a02bc9d43ee8cf80a82c91da7785fd0923f2a78d Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Wed, 27 Sep 2023 09:12:42 -0700 Subject: [PATCH 20/43] feat(logging): Record user agent string (#3776) * chore: add identifyCall to flush logs and batch send methods in cloudwatch_logger_plugin * chore: changed export from amplify_core to import from cloudwatch_logger_plugin.dart directly. Also moved identifyCall method around the _startSyncingIfNotInProgress * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart Co-authored-by: NikaHsn * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart Co-authored-by: NikaHsn * chore: restored comments that were deleted * chore: fixed formatting issues and added more descriptive comment * chore: fixed flushIntervalInSeconds variable name * chore: generated workflows * chore: removed dependabot duplicates * chore: attempt to remove duplicates part 2 * chore: remove duplicates from dependabot * chore: removed dependency --------- Co-authored-by: NikaHsn --- .github/dependabot.yaml | 625 +++--------------- .../workflows/amplify_logging_cloudwatch.yaml | 36 +- .github/workflows/aws_logging_cloudwatch.yaml | 33 +- .../lib/src/amplify_class_impl.dart | 2 + .../lib/src/category/amplify_categories.dart | 4 + .../lib/src/http/amplify_category_method.dart | 13 + .../lib/src/cloudwatch_logger_plugin.dart | 34 +- 7 files changed, 196 insertions(+), 551 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 294e47eb5c..7b524694b7 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -313,40 +313,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" - - package-ecosystem: "pub" - directory: "packages/amplify/amplify_flutter/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_datastore" - - dependency-name: "amplify_datastore_plugin_interface" - - dependency-name: "amplify_storage_s3" - - dependency-name: "amplify_storage_s3_dart" - package-ecosystem: "pub" directory: "packages/amplify_core" schedule: @@ -466,7 +432,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -508,35 +474,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - - package-ecosystem: "pub" - directory: "packages/amplify_datastore/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "amplify_datastore" - - dependency-name: "amplify_datastore_plugin_interface" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore_plugin_interface" schedule: @@ -585,7 +522,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -611,19 +548,6 @@ updates: - dependency-name: "amplify_native_legacy_wrapper" - dependency-name: "amplify_lints" - dependency-name: "aws_common" - - package-ecosystem: "pub" - directory: "packages/amplify_native_legacy_wrapper/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_native_legacy_wrapper" - - dependency-name: "amplify_lints" - - dependency-name: "aws_common" - package-ecosystem: "pub" directory: "packages/analytics/amplify_analytics_pinpoint" schedule: @@ -667,7 +591,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -724,50 +648,6 @@ updates: json_serializable: patterns: - "json_serializable" - - package-ecosystem: "pub" - directory: "packages/analytics/amplify_analytics_pinpoint/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - built_value: - patterns: - - "built_value" - json_annotation: - patterns: - - "json_annotation" - json_serializable: - patterns: - - "json_serializable" - package-ecosystem: "pub" directory: "packages/analytics/amplify_analytics_pinpoint_dart" schedule: @@ -878,42 +758,6 @@ updates: async: patterns: - "async" - - package-ecosystem: "pub" - directory: "packages/api/amplify_api/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_authenticator" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - async: - patterns: - - "async" - package-ecosystem: "pub" directory: "packages/api/amplify_api_dart" schedule: @@ -989,7 +833,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1048,52 +892,6 @@ updates: test: patterns: - "test" - - package-ecosystem: "pub" - directory: "packages/auth/amplify_auth_cognito/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_authenticator" - - dependency-name: "amplify_native_legacy_wrapper" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - async: - patterns: - - "async" - http: - patterns: - - "http" - stack_trace: - patterns: - - "stack_trace" - test: - patterns: - - "test" - package-ecosystem: "pub" directory: "packages/auth/amplify_auth_cognito_dart" schedule: @@ -1199,45 +997,6 @@ updates: test: patterns: - "test" - - package-ecosystem: "pub" - directory: "packages/auth/amplify_auth_cognito_dart/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "smithy_codegen" - - dependency-name: "example_common" - - dependency-name: "amplify_api_dart" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" - mime: - patterns: - - "mime" - test: - patterns: - - "test" - package-ecosystem: "pub" directory: "packages/auth/amplify_auth_cognito_test" schedule: @@ -1359,42 +1118,6 @@ updates: uuid: patterns: - "uuid" - - package-ecosystem: "pub" - directory: "packages/authenticator/amplify_authenticator/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_authenticator" - - dependency-name: "amplify_api" - - dependency-name: "amplify_api_dart" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - uuid: - patterns: - - "uuid" - package-ecosystem: "pub" directory: "packages/authenticator/amplify_authenticator_test" schedule: @@ -1549,27 +1272,6 @@ updates: build_web_compilers: patterns: - "build_web_compilers" - - package-ecosystem: "pub" - directory: "packages/aws_signature_v4/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/common/amplify_db_common" schedule: @@ -1599,7 +1301,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1637,65 +1339,7 @@ updates: patterns: - "build_runner" - package-ecosystem: "pub" - directory: "packages/common/amplify_db_common/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - drift: - patterns: - - "drift" - build_runner: - patterns: - - "build_runner" - - package-ecosystem: "pub" - directory: "packages/common/amplify_db_common_dart" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - async: - patterns: - - "async" - drift: - patterns: - - "drift" - sqlite3: - patterns: - - "sqlite3" - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" - test: - patterns: - - "test" - - package-ecosystem: "pub" - directory: "packages/common/amplify_db_common_dart/example" + directory: "packages/common/amplify_db_common_dart" schedule: interval: "daily" ignore: @@ -1704,23 +1348,30 @@ updates: update-types: - "version-update:semver-patch" # Ignore all repo packages - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" - dependency-name: "aws_signature_v4" - - dependency-name: "example_common" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: + async: + patterns: + - "async" drift: patterns: - "drift" + sqlite3: + patterns: + - "sqlite3" build_runner: patterns: - "build_runner" build_web_compilers: patterns: - "build_web_compilers" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/common/amplify_db_common_dart/example" schedule: @@ -1793,6 +1444,7 @@ updates: - dependency-name: "*" update-types: - "version-update:semver-patch" + # Ignore all repo packages - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" @@ -1801,6 +1453,26 @@ updates: - dependency-name: "aws_logging_cloudwatch" - dependency-name: "smithy" - dependency-name: "smithy_aws" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + device_info_plus: + patterns: + - "device_info_plus" + drift: + patterns: + - "drift" + intl: + patterns: + - "intl" + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" schedule: @@ -1810,7 +1482,16 @@ updates: - dependency-name: "*" update-types: - "version-update:semver-patch" + # Ignore all repo packages - dependency-name: "amplify_lints" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: @@ -1820,12 +1501,39 @@ updates: - dependency-name: "*" update-types: - "version-update:semver-patch" + # Ignore all repo packages - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" - dependency-name: "aws_signature_v4" - dependency-name: "smithy" - dependency-name: "smithy_aws" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + built_value: + patterns: + - "built_value" + intl: + patterns: + - "intl" + json_annotation: + patterns: + - "json_annotation" + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" + built_value_generator: + patterns: + - "built_value_generator" + json_serializable: + patterns: + - "json_serializable" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch/example" schedule: @@ -1835,6 +1543,7 @@ updates: - dependency-name: "*" update-types: - "version-update:semver-patch" + # Ignore all repo packages - dependency-name: "aws_logging_cloudwatch" - dependency-name: "amplify_core" - dependency-name: "aws_common" @@ -1842,6 +1551,14 @@ updates: - dependency-name: "aws_signature_v4" - dependency-name: "smithy" - dependency-name: "smithy_aws" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/notifications/push/amplify_push_notifications" schedule: @@ -1886,7 +1603,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1918,25 +1635,6 @@ updates: - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - package-ecosystem: "pub" - directory: "packages/notifications/push/amplify_push_notifications/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_push_notifications" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - package-ecosystem: "pub" directory: "packages/notifications/push/amplify_push_notifications_pinpoint" schedule: @@ -2007,36 +1705,6 @@ updates: - dependency-name: "amplify_flutter" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - - package-ecosystem: "pub" - directory: "packages/notifications/push/amplify_push_notifications_pinpoint/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_push_notifications_pinpoint" - - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage" schedule: @@ -2072,7 +1740,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -2101,22 +1769,6 @@ updates: - dependency-name: "amplify_lints" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - package-ecosystem: "pub" - directory: "packages/secure_storage/amplify_secure_storage/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage_dart" schedule: @@ -2184,30 +1836,6 @@ updates: build_web_compilers: patterns: - "build_web_compilers" - - package-ecosystem: "pub" - directory: "packages/secure_storage/amplify_secure_storage_dart/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "example_common" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage_test" schedule: @@ -2979,51 +2607,6 @@ updates: test: patterns: - "test" - - package-ecosystem: "pub" - directory: "packages/storage/amplify_storage_s3/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_auth_cognito" - - dependency-name: "amplify_analytics_pinpoint" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "amplify_db_common" - - dependency-name: "amplify_secure_storage" - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_flutter" - - dependency-name: "amplify_authenticator" - - dependency-name: "amplify_storage_s3" - - dependency-name: "amplify_storage_s3_dart" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - drift: - patterns: - - "drift" - http: - patterns: - - "http" - stack_trace: - patterns: - - "stack_trace" - test: - patterns: - - "test" - package-ecosystem: "pub" directory: "packages/storage/amplify_storage_s3_dart" schedule: @@ -3100,39 +2683,6 @@ updates: build_web_compilers: patterns: - "build_web_compilers" - - package-ecosystem: "pub" - directory: "packages/storage/amplify_storage_s3_dart/example" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_auth_cognito_dart" - - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "amplify_secure_storage_dart" - - dependency-name: "worker_bee" - - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - - dependency-name: "smithy_codegen" - - dependency-name: "amplify_storage_s3_dart" - - dependency-name: "example_common" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/test/amplify_auth_integration_test" schedule: @@ -3401,15 +2951,6 @@ updates: test: patterns: - "test" - - package-ecosystem: "pub" - directory: "templates/dart-package/hooks" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - package-ecosystem: "pub" directory: "templates/flutter-package/hooks" schedule: diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml index 10e6f6751d..1eb484b388 100644 --- a/.github/workflows/amplify_logging_cloudwatch.yaml +++ b/.github/workflows/amplify_logging_cloudwatch.yaml @@ -5,6 +5,32 @@ on: branches: - main - stable + paths: + - '.github/composite_actions/setup_firefox/action.yaml' + - '.github/workflows/amplify_logging_cloudwatch.yaml' + - '.github/workflows/dart_dart2js.yaml' + - '.github/workflows/dart_ddc.yaml' + - '.github/workflows/flutter_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/**/*.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/composite_actions/setup_firefox/action.yaml' @@ -33,15 +59,23 @@ on: - 'packages/smithy/smithy_aws/lib/**/*.dart' - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - - cron: "0 0 * * 0" # Every Sunday at 00:00 + - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 defaults: run: shell: bash + permissions: read-all +# Cancels in-progress job when there is another push to same ref. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: uses: ./.github/workflows/flutter_vm.yaml with: package-name: amplify_logging_cloudwatch working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch + has-goldens: false diff --git a/.github/workflows/aws_logging_cloudwatch.yaml b/.github/workflows/aws_logging_cloudwatch.yaml index 901c6c12fd..317d036af0 100644 --- a/.github/workflows/aws_logging_cloudwatch.yaml +++ b/.github/workflows/aws_logging_cloudwatch.yaml @@ -5,6 +5,29 @@ on: branches: - main - stable + paths: + - '.github/composite_actions/setup_firefox/action.yaml' + - '.github/workflows/aws_logging_cloudwatch.yaml' + - '.github/workflows/dart_dart2js.yaml' + - '.github/workflows/dart_ddc.yaml' + - '.github/workflows/dart_native.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/**/*.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/test/**/*' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/composite_actions/setup_firefox/action.yaml' @@ -30,18 +53,26 @@ on: - 'packages/smithy/smithy_aws/lib/**/*.dart' - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - - cron: "0 0 * * 0" # Every Sunday at 00:00 + - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 defaults: run: shell: bash + permissions: read-all +# Cancels in-progress job when there is another push to same ref. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: uses: ./.github/workflows/dart_vm.yaml with: package-name: aws_logging_cloudwatch working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch + has-goldens: false native_test: needs: test uses: ./.github/workflows/dart_native.yaml diff --git a/packages/amplify_core/lib/src/amplify_class_impl.dart b/packages/amplify_core/lib/src/amplify_class_impl.dart index 236e63c07d..4972db6880 100644 --- a/packages/amplify_core/lib/src/amplify_class_impl.dart +++ b/packages/amplify_core/lib/src/amplify_class_impl.dart @@ -44,6 +44,8 @@ class AmplifyClassImpl extends AmplifyClass { ); case Category.hub: throw UnimplementedError(); + case Category.logging: + throw UnimplementedError(); case Category.pushNotifications: return Notifications.Push.addPlugin( plugin.cast(), diff --git a/packages/amplify_core/lib/src/category/amplify_categories.dart b/packages/amplify_core/lib/src/category/amplify_categories.dart index a881b0f0c5..8c78d2bbbb 100644 --- a/packages/amplify_core/lib/src/category/amplify_categories.dart +++ b/packages/amplify_core/lib/src/category/amplify_categories.dart @@ -46,6 +46,9 @@ enum Category { /// Listen for or dispatch Amplify events hub, + /// Logging events and errors to the cloud + logging, + /// Upload and download files from the cloud storage, @@ -58,6 +61,7 @@ enum Category { Category.auth => 'Auth', Category.dataStore => 'DataStore', Category.hub => 'Hub', + Category.logging => 'Logging', Category.storage => 'Storage', Category.pushNotifications => 'PushNotifications', }; diff --git a/packages/amplify_core/lib/src/http/amplify_category_method.dart b/packages/amplify_core/lib/src/http/amplify_category_method.dart index a0c978594b..fff4a5c18b 100644 --- a/packages/amplify_core/lib/src/http/amplify_category_method.dart +++ b/packages/amplify_core/lib/src/http/amplify_category_method.dart @@ -139,6 +139,19 @@ enum PushNotificationsCategoryMethod with AmplifyCategoryMethod { final String method; } +enum LoggingCategoryMethod with AmplifyCategoryMethod { + flush('60'), + batchSend('61'); + + const LoggingCategoryMethod(this.method); + + @override + Category get category => Category.logging; + + @override + final String method; +} + /// Identifies [fn] as originating from a call to [categoryMethod]. R identifyCall( AmplifyCategoryMethod categoryMethod, diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 835a2e2328..47807e0d2c 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -5,6 +5,8 @@ import 'dart:async'; import 'dart:math'; import 'package:amplify_core/amplify_core.dart'; +// ignore: invalid_use_of_internal_member, implementation_imports +import 'package:amplify_core/src/http/amplify_category_method.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; @@ -82,7 +84,10 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin _timer = pluginConfig.flushIntervalInSeconds > 0 ? StoppableTimer( duration: Duration(seconds: pluginConfig.flushIntervalInSeconds), - callback: _startSyncingIfNotInProgress, + callback: identifyCall( + LoggingCategoryMethod.batchSend, + () => _startSyncingIfNotInProgress, + ), onError: _onTimerError, ) : null; @@ -131,11 +136,14 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin Future _startSyncingIfNotInProgress() async { Future startSyncing() async { final batchStream = _getLogBatchesToSync(); + await for (final (logs, events) in batchStream) { _TooNewLogEventException? tooNewException; + while (logs.isNotEmpty && events.isNotEmpty) { final rejectedLogEventsInfo = (await _sendToCloudWatch(events)).rejectedLogEventsInfo; + if (rejectedLogEventsInfo == null) { await _logStore.deleteItems(logs); break; @@ -153,15 +161,19 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin // set events to end before the index. events.removeRange(tooNewStartIndex, events.length); } + if (_isValidIndex(tooOldEndIndex, events.length)) { // remove old logs from log store. - await _logStore.deleteItems(logs.sublist(0, tooOldEndIndex! + 1)); + await _logStore.deleteItems( + logs.sublist(0, tooOldEndIndex! + 1), + ); // set logs to start after the index. logs.removeRange(0, tooOldEndIndex + 1); // set events to start after the index. events.removeRange(0, tooOldEndIndex + 1); } } + // after sending each batch to CloudWatch check if the batch has // `tooNewException` and throw to stop syncing next batches. if (tooNewException != null) { @@ -172,13 +184,15 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin if (!_syncing) { _syncing = true; + DateTime? nextRetry; + try { await startSyncing(); } on _TooNewLogEventException catch (e) { - nextRetry = - DateTime.fromMillisecondsSinceEpoch(e.timeInMillisecondsSinceEpoch) - .add(_minusMaxLogEventTimeInFuture); + nextRetry = DateTime.fromMillisecondsSinceEpoch( + e.timeInMillisecondsSinceEpoch, + ).add(_minusMaxLogEventTimeInFuture); } on Exception catch (e) { logger.error('Failed to sync logs to CloudWatch.', e); } finally { @@ -296,7 +310,10 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin ); if (isLogStoreFull && _shouldSyncOnFullLogStore()) { - await _startSyncingIfNotInProgress(); + await identifyCall( + LoggingCategoryMethod.batchSend, + _startSyncingIfNotInProgress, + ); } } @@ -325,7 +342,10 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin /// Sends logs on-demand to CloudWatch. Future flushLogs() async { - await _startSyncingIfNotInProgress(); + await identifyCall( + LoggingCategoryMethod.flush, + _startSyncingIfNotInProgress, + ); } @override From e014135ad601a4ab99786c2e53e52e4b8e90df48 Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Fri, 29 Sep 2023 13:43:05 -0700 Subject: [PATCH 21/43] chore(logging): run aft generate workflows --- .github/dependabot.yaml | 591 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 580 insertions(+), 11 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 7b524694b7..11768e9149 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -313,6 +313,40 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" + - package-ecosystem: "pub" + directory: "packages/amplify/amplify_flutter/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_datastore" + - dependency-name: "amplify_datastore_plugin_interface" + - dependency-name: "amplify_storage_s3" + - dependency-name: "amplify_storage_s3_dart" - package-ecosystem: "pub" directory: "packages/amplify_core" schedule: @@ -432,7 +466,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -474,6 +508,35 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" + - package-ecosystem: "pub" + directory: "packages/amplify_datastore/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "amplify_datastore" + - dependency-name: "amplify_datastore_plugin_interface" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore_plugin_interface" schedule: @@ -522,7 +585,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -548,6 +611,19 @@ updates: - dependency-name: "amplify_native_legacy_wrapper" - dependency-name: "amplify_lints" - dependency-name: "aws_common" + - package-ecosystem: "pub" + directory: "packages/amplify_native_legacy_wrapper/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_native_legacy_wrapper" + - dependency-name: "amplify_lints" + - dependency-name: "aws_common" - package-ecosystem: "pub" directory: "packages/analytics/amplify_analytics_pinpoint" schedule: @@ -591,7 +667,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -648,6 +724,50 @@ updates: json_serializable: patterns: - "json_serializable" + - package-ecosystem: "pub" + directory: "packages/analytics/amplify_analytics_pinpoint/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + built_value: + patterns: + - "built_value" + json_annotation: + patterns: + - "json_annotation" + json_serializable: + patterns: + - "json_serializable" - package-ecosystem: "pub" directory: "packages/analytics/amplify_analytics_pinpoint_dart" schedule: @@ -758,6 +878,42 @@ updates: async: patterns: - "async" + - package-ecosystem: "pub" + directory: "packages/api/amplify_api/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_authenticator" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + async: + patterns: + - "async" - package-ecosystem: "pub" directory: "packages/api/amplify_api_dart" schedule: @@ -833,7 +989,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -892,6 +1048,52 @@ updates: test: patterns: - "test" + - package-ecosystem: "pub" + directory: "packages/auth/amplify_auth_cognito/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_authenticator" + - dependency-name: "amplify_native_legacy_wrapper" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + async: + patterns: + - "async" + http: + patterns: + - "http" + stack_trace: + patterns: + - "stack_trace" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/auth/amplify_auth_cognito_dart" schedule: @@ -997,6 +1199,45 @@ updates: test: patterns: - "test" + - package-ecosystem: "pub" + directory: "packages/auth/amplify_auth_cognito_dart/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "smithy_codegen" + - dependency-name: "example_common" + - dependency-name: "amplify_api_dart" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" + mime: + patterns: + - "mime" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/auth/amplify_auth_cognito_test" schedule: @@ -1118,6 +1359,42 @@ updates: uuid: patterns: - "uuid" + - package-ecosystem: "pub" + directory: "packages/authenticator/amplify_authenticator/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_authenticator" + - dependency-name: "amplify_api" + - dependency-name: "amplify_api_dart" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + uuid: + patterns: + - "uuid" - package-ecosystem: "pub" directory: "packages/authenticator/amplify_authenticator_test" schedule: @@ -1272,6 +1549,27 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/aws_signature_v4/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/common/amplify_db_common" schedule: @@ -1301,7 +1599,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1309,11 +1607,35 @@ updates: groups: amplify-android: patterns: - - "com.amplifyframework:*" - - "com.amazonaws:*" - mockito: + - "com.amplifyframework:*" + - "com.amazonaws:*" + mockito: + patterns: + - "org.mockito:*" + - package-ecosystem: "pub" + directory: "packages/common/amplify_db_common/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + drift: + patterns: + - "drift" + build_runner: patterns: - - "org.mockito:*" + - "build_runner" - package-ecosystem: "pub" directory: "packages/common/amplify_db_common/example" schedule: @@ -1399,6 +1721,33 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/common/amplify_db_common_dart/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "example_common" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + drift: + patterns: + - "drift" + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/example_common" schedule: @@ -1492,6 +1841,25 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_lints" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: @@ -1559,6 +1927,31 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/logging_cloudwatch/aws_logging_cloudwatch/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/notifications/push/amplify_push_notifications" schedule: @@ -1603,7 +1996,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1635,6 +2028,25 @@ updates: - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" + - package-ecosystem: "pub" + directory: "packages/notifications/push/amplify_push_notifications/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_push_notifications" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" - package-ecosystem: "pub" directory: "packages/notifications/push/amplify_push_notifications_pinpoint" schedule: @@ -1705,6 +2117,36 @@ updates: - dependency-name: "amplify_flutter" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" + - package-ecosystem: "pub" + directory: "packages/notifications/push/amplify_push_notifications_pinpoint/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_push_notifications_pinpoint" + - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage" schedule: @@ -1740,7 +2182,7 @@ updates: # to ensure users can have Kt versions >= Flutter stable. - dependency-name: "kotlin_version" - dependency-name: "org.jetbrains.kotlin:kotlin-gradle-plugin" - + # Ignore patch version bumps - dependency-name: "*" update-types: @@ -1769,6 +2211,22 @@ updates: - dependency-name: "amplify_lints" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" + - package-ecosystem: "pub" + directory: "packages/secure_storage/amplify_secure_storage/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage_dart" schedule: @@ -1836,6 +2294,30 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/secure_storage/amplify_secure_storage_dart/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "example_common" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/secure_storage/amplify_secure_storage_test" schedule: @@ -2607,6 +3089,51 @@ updates: test: patterns: - "test" + - package-ecosystem: "pub" + directory: "packages/storage/amplify_storage_s3/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_authenticator" + - dependency-name: "amplify_storage_s3" + - dependency-name: "amplify_storage_s3_dart" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + drift: + patterns: + - "drift" + http: + patterns: + - "http" + stack_trace: + patterns: + - "stack_trace" + test: + patterns: + - "test" - package-ecosystem: "pub" directory: "packages/storage/amplify_storage_s3_dart" schedule: @@ -2683,6 +3210,39 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + - package-ecosystem: "pub" + directory: "packages/storage/amplify_storage_s3_dart/example" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_signature_v4" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_storage_s3_dart" + - dependency-name: "example_common" + # Group dependencies which have a constraint set in the global "pubspec.yaml" + groups: + build_runner: + patterns: + - "build_runner" + build_web_compilers: + patterns: + - "build_web_compilers" - package-ecosystem: "pub" directory: "packages/test/amplify_auth_integration_test" schedule: @@ -2951,6 +3511,15 @@ updates: test: patterns: - "test" + - package-ecosystem: "pub" + directory: "templates/dart-package/hooks" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" - package-ecosystem: "pub" directory: "templates/flutter-package/hooks" schedule: From 75e979541ef7385d0ffec9546b7d3df11f280504 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 29 Sep 2023 14:19:00 -0700 Subject: [PATCH 22/43] feat(logging): configure cloudwatch logger with Amplify.configure (#3769) feat(logging): configure cloudwatch logger with Amplify.configure() --- .github/dependabot.yaml | 270 +++++++++++++----- .../workflows/amplify_analytics_pinpoint.yaml | 4 + .../amplify_analytics_pinpoint_dart.yaml | 4 + .../amplify_analytics_pinpoint_example.yaml | 8 + .github/workflows/amplify_api.yaml | 20 ++ .github/workflows/amplify_api_dart.yaml | 12 + .github/workflows/amplify_api_example.yaml | 8 + .github/workflows/amplify_auth_cognito.yaml | 8 + .../workflows/amplify_auth_cognito_dart.yaml | 4 + .../amplify_auth_cognito_example.yaml | 8 + .../workflows/amplify_auth_cognito_test.yaml | 4 + .github/workflows/amplify_authenticator.yaml | 8 + .../amplify_authenticator_example.yaml | 8 + .github/workflows/amplify_core.yaml | 12 + .github/workflows/amplify_datastore.yaml | 12 + .../workflows/amplify_datastore_example.yaml | 8 + .../amplify_datastore_plugin_interface.yaml | 12 + .github/workflows/amplify_db_common.yaml | 12 + .github/workflows/amplify_db_common_dart.yaml | 12 + .../workflows/amplify_db_common_example.yaml | 12 + .github/workflows/amplify_flutter.yaml | 20 ++ .../workflows/amplify_flutter_example.yaml | 8 + .../amplify_logging_cloudwatch_example.yaml | 47 +++ .../workflows/amplify_push_notifications.yaml | 12 + .../amplify_push_notifications_example.yaml | 12 + .../amplify_push_notifications_pinpoint.yaml | 8 + ...y_push_notifications_pinpoint_example.yaml | 8 + .github/workflows/amplify_storage_s3.yaml | 4 + .../workflows/amplify_storage_s3_dart.yaml | 4 + .../workflows/amplify_storage_s3_example.yaml | 8 + .../aws_logging_cloudwatch_example.yaml | 71 +++++ .github/workflows/cognito_example.yaml | 4 + .github/workflows/storage_s3_example.yaml | 4 + .../amplify_flutter/lib/src/amplify_impl.dart | 4 + .../lib/src/amplify_logging_cloudwatch.dart | 59 ++++ packages/amplify/amplify_flutter/pubspec.yaml | 6 +- .../amplify_core/lib/src/amplify_class.dart | 7 + .../logger/amplify_logging_cloudwatch.dart | 57 ++++ packages/amplify_core/pubspec.yaml | 1 + .../amplify_logging_cloudwatch_test.dart | 121 ++++++++ 40 files changed, 831 insertions(+), 80 deletions(-) create mode 100644 .github/workflows/amplify_logging_cloudwatch_example.yaml create mode 100644 .github/workflows/aws_logging_cloudwatch_example.yaml create mode 100644 packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart create mode 100644 packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart create mode 100644 packages/amplify_core/test/logger/amplify_logging_cloudwatch_test.dart diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 11768e9149..8c14eafba7 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -170,18 +170,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -203,7 +205,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/aft" schedule: @@ -266,7 +271,12 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -294,18 +304,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -328,18 +340,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -359,7 +373,10 @@ updates: # Ignore all repo packages - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -407,18 +424,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -448,7 +467,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -494,8 +516,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -504,9 +531,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore/example" @@ -523,8 +547,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -533,9 +562,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore_plugin_interface" @@ -550,7 +576,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/amplify_lints" schedule: @@ -638,13 +667,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" # Group dependencies which have a constraint set in the global "pubspec.yaml" @@ -695,18 +725,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -739,18 +771,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -781,13 +815,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: built_value: @@ -828,8 +863,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -857,8 +897,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -866,9 +911,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -893,8 +935,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -902,9 +949,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -927,7 +971,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -960,18 +1007,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1017,8 +1066,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1026,9 +1080,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1063,8 +1114,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1072,9 +1128,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1108,13 +1161,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -1175,13 +1229,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - dependency-name: "example_common" - dependency-name: "amplify_api_dart" @@ -1214,13 +1269,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - dependency-name: "example_common" - dependency-name: "amplify_api_dart" @@ -1252,13 +1308,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" # Group dependencies which have a constraint set in the global "pubspec.yaml" @@ -1297,18 +1354,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1339,18 +1398,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1375,18 +1436,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1412,18 +1475,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/authenticator/amplify_authenticator_test/example" schedule: @@ -1441,18 +1506,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/aws_common" schedule: @@ -1584,7 +1651,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: drift: @@ -1627,7 +1697,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: drift: @@ -1651,7 +1724,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: drift: @@ -1673,7 +1749,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1708,7 +1787,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "example_common" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -1735,7 +1817,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "example_common" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -1797,11 +1882,11 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" - - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "aws_signature_v4" - dependency-name: "smithy" - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common_dart" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: device_info_plus: @@ -1965,7 +2050,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -2023,7 +2111,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -2042,7 +2133,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -2062,19 +2156,21 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -2103,18 +2199,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -2133,18 +2231,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -3038,12 +3138,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_storage_s3_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/storage/amplify_storage_s3/example" schedule: @@ -3060,18 +3161,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3105,18 +3208,20 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3147,10 +3252,11 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" - - dependency-name: "amplify_db_common_dart" - dependency-name: "smithy" - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common_dart" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -3192,13 +3298,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - dependency-name: "amplify_storage_s3_dart" - dependency-name: "example_common" @@ -3225,13 +3332,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" - dependency-name: "amplify_storage_s3_dart" - dependency-name: "example_common" @@ -3258,8 +3366,13 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -3267,9 +3380,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -3296,13 +3406,14 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" - dependency-name: "worker_bee_builder" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - dependency-name: "smithy_codegen" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -3334,7 +3445,10 @@ updates: - dependency-name: "amplify_core" - dependency-name: "aws_common" - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/test/pub_server" schedule: diff --git a/.github/workflows/amplify_analytics_pinpoint.yaml b/.github/workflows/amplify_analytics_pinpoint.yaml index f32941147d..d2c9c45bf4 100644 --- a/.github/workflows/amplify_analytics_pinpoint.yaml +++ b/.github/workflows/amplify_analytics_pinpoint.yaml @@ -26,6 +26,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -60,6 +62,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_analytics_pinpoint_dart.yaml b/.github/workflows/amplify_analytics_pinpoint_dart.yaml index ed15a15a2e..a7c9d3df98 100644 --- a/.github/workflows/amplify_analytics_pinpoint_dart.yaml +++ b/.github/workflows/amplify_analytics_pinpoint_dart.yaml @@ -26,6 +26,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' @@ -58,6 +60,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' diff --git a/.github/workflows/amplify_analytics_pinpoint_example.yaml b/.github/workflows/amplify_analytics_pinpoint_example.yaml index a50caa25e4..ce35852b2e 100644 --- a/.github/workflows/amplify_analytics_pinpoint_example.yaml +++ b/.github/workflows/amplify_analytics_pinpoint_example.yaml @@ -43,6 +43,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -96,6 +100,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_api.yaml b/.github/workflows/amplify_api.yaml index 548a3c6625..1c5c37a25a 100644 --- a/.github/workflows/amplify_api.yaml +++ b/.github/workflows/amplify_api.yaml @@ -24,10 +24,20 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' @@ -52,10 +62,20 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' diff --git a/.github/workflows/amplify_api_dart.yaml b/.github/workflows/amplify_api_dart.yaml index b8bde5ebc3..6961d7a08f 100644 --- a/.github/workflows/amplify_api_dart.yaml +++ b/.github/workflows/amplify_api_dart.yaml @@ -24,6 +24,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/composite_actions/setup_firefox/action.yaml' @@ -44,6 +50,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_api_example.yaml b/.github/workflows/amplify_api_example.yaml index defebf81e4..1ca54502f8 100644 --- a/.github/workflows/amplify_api_example.yaml +++ b/.github/workflows/amplify_api_example.yaml @@ -45,6 +45,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -100,6 +104,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito.yaml b/.github/workflows/amplify_auth_cognito.yaml index f8e5aa2f8b..711e0871de 100644 --- a/.github/workflows/amplify_auth_cognito.yaml +++ b/.github/workflows/amplify_auth_cognito.yaml @@ -32,6 +32,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -74,6 +78,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito_dart.yaml b/.github/workflows/amplify_auth_cognito_dart.yaml index b7ef591a1e..cdac0ac622 100644 --- a/.github/workflows/amplify_auth_cognito_dart.yaml +++ b/.github/workflows/amplify_auth_cognito_dart.yaml @@ -25,6 +25,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' @@ -58,6 +60,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito_example.yaml b/.github/workflows/amplify_auth_cognito_example.yaml index 9dac5006d4..b83cccedb7 100644 --- a/.github/workflows/amplify_auth_cognito_example.yaml +++ b/.github/workflows/amplify_auth_cognito_example.yaml @@ -47,6 +47,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -104,6 +108,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito_test.yaml b/.github/workflows/amplify_auth_cognito_test.yaml index 4ca4a3622e..a8b1a650cb 100644 --- a/.github/workflows/amplify_auth_cognito_test.yaml +++ b/.github/workflows/amplify_auth_cognito_test.yaml @@ -30,6 +30,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' @@ -68,6 +70,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator.yaml b/.github/workflows/amplify_authenticator.yaml index 015ff22b16..98a711dcf6 100644 --- a/.github/workflows/amplify_authenticator.yaml +++ b/.github/workflows/amplify_authenticator.yaml @@ -34,6 +34,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -78,6 +82,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator_example.yaml b/.github/workflows/amplify_authenticator_example.yaml index 08821fff5f..58f59b4d35 100644 --- a/.github/workflows/amplify_authenticator_example.yaml +++ b/.github/workflows/amplify_authenticator_example.yaml @@ -45,6 +45,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -100,6 +104,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_core.yaml b/.github/workflows/amplify_core.yaml index e6155bb673..4e860cb45e 100644 --- a/.github/workflows/amplify_core.yaml +++ b/.github/workflows/amplify_core.yaml @@ -22,6 +22,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/composite_actions/setup_firefox/action.yaml' @@ -40,6 +46,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_datastore.yaml b/.github/workflows/amplify_datastore.yaml index 43302c7ef3..9d6f8f5958 100644 --- a/.github/workflows/amplify_datastore.yaml +++ b/.github/workflows/amplify_datastore.yaml @@ -22,6 +22,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/workflows/amplify_datastore.yaml' @@ -40,6 +46,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_datastore_example.yaml b/.github/workflows/amplify_datastore_example.yaml index cd5a20deb9..a7f3e37282 100644 --- a/.github/workflows/amplify_datastore_example.yaml +++ b/.github/workflows/amplify_datastore_example.yaml @@ -38,6 +38,10 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -86,6 +90,10 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_datastore_plugin_interface.yaml b/.github/workflows/amplify_datastore_plugin_interface.yaml index 5e003a16dc..a6550afd87 100644 --- a/.github/workflows/amplify_datastore_plugin_interface.yaml +++ b/.github/workflows/amplify_datastore_plugin_interface.yaml @@ -20,6 +20,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/workflows/amplify_datastore_plugin_interface.yaml' @@ -36,6 +42,12 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_db_common.yaml b/.github/workflows/amplify_db_common.yaml index 7c28645143..b57676baa1 100644 --- a/.github/workflows/amplify_db_common.yaml +++ b/.github/workflows/amplify_db_common.yaml @@ -22,6 +22,12 @@ on: - 'packages/common/amplify_db_common/test/**/*' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/workflows/amplify_db_common.yaml' @@ -40,6 +46,12 @@ on: - 'packages/common/amplify_db_common/test/**/*' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_db_common_dart.yaml b/.github/workflows/amplify_db_common_dart.yaml index 0a1fb69557..e054bada40 100644 --- a/.github/workflows/amplify_db_common_dart.yaml +++ b/.github/workflows/amplify_db_common_dart.yaml @@ -24,6 +24,12 @@ on: - 'packages/common/amplify_db_common_dart/**/*.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*' - 'packages/common/amplify_db_common_dart/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/composite_actions/setup_firefox/action.yaml' @@ -44,6 +50,12 @@ on: - 'packages/common/amplify_db_common_dart/**/*.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*' - 'packages/common/amplify_db_common_dart/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_db_common_example.yaml b/.github/workflows/amplify_db_common_example.yaml index ba8c8b4c37..a03c095002 100644 --- a/.github/workflows/amplify_db_common_example.yaml +++ b/.github/workflows/amplify_db_common_example.yaml @@ -29,6 +29,12 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' pull_request: paths: - '.github/workflows/amplify_db_common_example.yaml' @@ -54,6 +60,12 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - cron: "0 13 * * *" # Everyday at 06:00 PST defaults: diff --git a/.github/workflows/amplify_flutter.yaml b/.github/workflows/amplify_flutter.yaml index ac3aeb3e8c..3141406530 100644 --- a/.github/workflows/amplify_flutter.yaml +++ b/.github/workflows/amplify_flutter.yaml @@ -20,10 +20,20 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' @@ -44,10 +54,20 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' diff --git a/.github/workflows/amplify_flutter_example.yaml b/.github/workflows/amplify_flutter_example.yaml index 0bc3ae3f17..2b8ad34219 100644 --- a/.github/workflows/amplify_flutter_example.yaml +++ b/.github/workflows/amplify_flutter_example.yaml @@ -42,6 +42,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -98,6 +102,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/amplify_logging_cloudwatch_example.yaml b/.github/workflows/amplify_logging_cloudwatch_example.yaml new file mode 100644 index 0000000000..f29ae7a98e --- /dev/null +++ b/.github/workflows/amplify_logging_cloudwatch_example.yaml @@ -0,0 +1,47 @@ +# Generated with aft. To update, run: `aft generate workflows` +name: amplify_logging_cloudwatch_example +on: + push: + branches: + - main + - stable + paths: + - '.github/workflows/amplify_logging_cloudwatch_example.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/test/**/*' + pull_request: + paths: + - '.github/workflows/amplify_logging_cloudwatch_example.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/test/**/*' + schedule: + - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 +defaults: + run: + shell: bash + +permissions: read-all + +# Cancels in-progress job when there is another push to same ref. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + uses: ./.github/workflows/dart_vm.yaml + with: + package-name: amplify_logging_cloudwatch_example + working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch/example + has-goldens: false diff --git a/.github/workflows/amplify_push_notifications.yaml b/.github/workflows/amplify_push_notifications.yaml index a58278b1a3..93f79bffde 100644 --- a/.github/workflows/amplify_push_notifications.yaml +++ b/.github/workflows/amplify_push_notifications.yaml @@ -19,6 +19,8 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/**/*.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*' @@ -27,6 +29,10 @@ on: - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' @@ -46,6 +52,8 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/**/*.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*' @@ -54,6 +62,10 @@ on: - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_example.yaml b/.github/workflows/amplify_push_notifications_example.yaml index 42a3f90b11..97b9b0ad30 100644 --- a/.github/workflows/amplify_push_notifications_example.yaml +++ b/.github/workflows/amplify_push_notifications_example.yaml @@ -16,6 +16,8 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/example/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/example/**/*.yaml' - 'packages/notifications/push/amplify_push_notifications/example/lib/**/*' @@ -26,6 +28,10 @@ on: - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' @@ -42,6 +48,8 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/example/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/example/**/*.yaml' - 'packages/notifications/push/amplify_push_notifications/example/lib/**/*' @@ -52,6 +60,10 @@ on: - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' - 'packages/worker_bee/worker_bee/lib/**/*.dart' - 'packages/worker_bee/worker_bee/pubspec.yaml' - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_pinpoint.yaml b/.github/workflows/amplify_push_notifications_pinpoint.yaml index ab255edf6b..c032b9718f 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint.yaml @@ -30,6 +30,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications_pinpoint/**/*.dart' @@ -76,6 +80,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications_pinpoint/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml index f212af2c7a..9a62fde252 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml @@ -30,6 +30,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications_pinpoint/example/**/*.dart' @@ -78,6 +82,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' - 'packages/notifications/push/amplify_push_notifications/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications_pinpoint/example/**/*.dart' diff --git a/.github/workflows/amplify_storage_s3.yaml b/.github/workflows/amplify_storage_s3.yaml index dc135a2544..a13869af41 100644 --- a/.github/workflows/amplify_storage_s3.yaml +++ b/.github/workflows/amplify_storage_s3.yaml @@ -20,6 +20,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' - 'packages/smithy/smithy/pubspec.yaml' - 'packages/smithy/smithy_aws/lib/**/*.dart' @@ -46,6 +48,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' - 'packages/smithy/smithy/pubspec.yaml' - 'packages/smithy/smithy_aws/lib/**/*.dart' diff --git a/.github/workflows/amplify_storage_s3_dart.yaml b/.github/workflows/amplify_storage_s3_dart.yaml index 1789a249bb..4050a51663 100644 --- a/.github/workflows/amplify_storage_s3_dart.yaml +++ b/.github/workflows/amplify_storage_s3_dart.yaml @@ -19,6 +19,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' - 'packages/smithy/smithy/pubspec.yaml' - 'packages/smithy/smithy_aws/lib/**/*.dart' @@ -42,6 +44,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' - 'packages/smithy/smithy/pubspec.yaml' - 'packages/smithy/smithy_aws/lib/**/*.dart' diff --git a/.github/workflows/amplify_storage_s3_example.yaml b/.github/workflows/amplify_storage_s3_example.yaml index ac794d86b3..cc688f7e60 100644 --- a/.github/workflows/amplify_storage_s3_example.yaml +++ b/.github/workflows/amplify_storage_s3_example.yaml @@ -37,6 +37,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' @@ -92,6 +96,10 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' diff --git a/.github/workflows/aws_logging_cloudwatch_example.yaml b/.github/workflows/aws_logging_cloudwatch_example.yaml new file mode 100644 index 0000000000..738b9ea69b --- /dev/null +++ b/.github/workflows/aws_logging_cloudwatch_example.yaml @@ -0,0 +1,71 @@ +# Generated with aft. To update, run: `aft generate workflows` +name: aws_logging_cloudwatch_example +on: + push: + branches: + - main + - stable + paths: + - '.github/workflows/aws_logging_cloudwatch_example.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/lib/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + pull_request: + paths: + - '.github/workflows/aws_logging_cloudwatch_example.yaml' + - '.github/workflows/dart_vm.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' + - 'packages/amplify_lints/lib/**/*.yaml' + - 'packages/amplify_lints/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/lib/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/test/**/*' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + schedule: + - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 +defaults: + run: + shell: bash + +permissions: read-all + +# Cancels in-progress job when there is another push to same ref. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + uses: ./.github/workflows/dart_vm.yaml + with: + package-name: aws_logging_cloudwatch_example + working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch/example + has-goldens: false diff --git a/.github/workflows/cognito_example.yaml b/.github/workflows/cognito_example.yaml index 701a6adbe0..176087592b 100644 --- a/.github/workflows/cognito_example.yaml +++ b/.github/workflows/cognito_example.yaml @@ -30,6 +30,8 @@ on: - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/example_common/lib/**/*.dart' - 'packages/example_common/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' @@ -68,6 +70,8 @@ on: - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/example_common/lib/**/*.dart' - 'packages/example_common/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' diff --git a/.github/workflows/storage_s3_example.yaml b/.github/workflows/storage_s3_example.yaml index 8961e6af11..936d8f57ed 100644 --- a/.github/workflows/storage_s3_example.yaml +++ b/.github/workflows/storage_s3_example.yaml @@ -24,6 +24,8 @@ on: - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/example_common/lib/**/*.dart' - 'packages/example_common/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' @@ -62,6 +64,8 @@ on: - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/example_common/lib/**/*.dart' - 'packages/example_common/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' - 'packages/smithy/smithy/lib/**/*.dart' diff --git a/packages/amplify/amplify_flutter/lib/src/amplify_impl.dart b/packages/amplify/amplify_flutter/lib/src/amplify_impl.dart index 10204dba04..0934b96b9a 100644 --- a/packages/amplify/amplify_flutter/lib/src/amplify_impl.dart +++ b/packages/amplify/amplify_flutter/lib/src/amplify_impl.dart @@ -7,6 +7,7 @@ import 'dart:io'; import 'package:amplify_core/amplify_core.dart'; import 'package:amplify_core/src/amplify_class_impl.dart' as core; +import 'package:amplify_flutter/src/amplify_logging_cloudwatch.dart'; import 'package:amplify_flutter/src/hybrid_impl.dart'; import 'package:meta/meta.dart'; @@ -24,4 +25,7 @@ class AmplifyClassImpl extends core.AmplifyClassImpl { /// {@macro amplify_flutter.amplify_class} @protected AmplifyClassImpl.protected(); + + @override + AmplifyFlutterLogging get logging => AmplifyFlutterLogging(); } diff --git a/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart new file mode 100644 index 0000000000..126b813e78 --- /dev/null +++ b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart @@ -0,0 +1,59 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +// ignore_for_file: invalid_use_of_internal_member, implementation_imports + +@internal +library; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:amplify_core/src/logger/amplify_logging_cloudwatch.dart'; +import 'package:amplify_logging_cloudwatch/src/amplify_cloudwatch_logger_plugin.dart'; +import 'package:meta/meta.dart'; + +/// {@macro amplify_core.logger.amplify_logging_cloudwatch} +class AmplifyFlutterLogging extends AmplifyLogging { + static AmplifyCloudWatchLoggerPlugin? _plugin; + static final _logger = AmplifyLogger(); + + @override + void configure( + AmplifyConfig amplifyConfig, + AmplifyAuthProviderRepository authProviderRepository, + ) { + if (_plugin != null) { + return; + } + + final pluginConfig = amplifyConfig.logging?.awsPlugin; + if (pluginConfig == null) { + return; + } + + final credentialsProvider = authProviderRepository + .getAuthProvider(APIAuthorizationType.iam.authProviderToken); + if (credentialsProvider == null) { + throw ConfigurationError( + 'No credential provider found for CloudWatch Logging.', + recoverySuggestion: + "If you haven't already, please add amplify_auth_cognito plugin to your App.", + ); + } + + _plugin = AmplifyCloudWatchLoggerPlugin( + credentialsProvider: credentialsProvider, + pluginConfig: pluginConfig, + ); + _logger.registerPlugin(_plugin!); + } + + @override + @visibleForTesting + Future reset() async { + if (_plugin != null) { + await _plugin!.disable(); + _logger.unregisterPlugin(_plugin!); + _plugin = null; + } + } +} diff --git a/packages/amplify/amplify_flutter/pubspec.yaml b/packages/amplify/amplify_flutter/pubspec.yaml index a1ae81b534..feefd60667 100644 --- a/packages/amplify/amplify_flutter/pubspec.yaml +++ b/packages/amplify/amplify_flutter/pubspec.yaml @@ -19,9 +19,11 @@ platforms: web: dependencies: - amplify_core: ">=1.6.0 <1.7.0" - amplify_secure_storage: ">=0.4.0+6 <0.5.0" + amplify_core: ">=1.3.3 <1.4.0" + amplify_logging_cloudwatch: ^0.1.0 + amplify_secure_storage: ">=0.4.0+5 <0.5.0" aws_common: ">=0.6.0 <0.7.0" + aws_logging_cloudwatch: ^0.1.0 collection: ^1.15.0 flutter: sdk: flutter diff --git a/packages/amplify_core/lib/src/amplify_class.dart b/packages/amplify_core/lib/src/amplify_class.dart index e1f25eedd7..182e646051 100644 --- a/packages/amplify_core/lib/src/amplify_class.dart +++ b/packages/amplify_core/lib/src/amplify_class.dart @@ -6,6 +6,7 @@ import 'dart:convert'; import 'package:amplify_core/amplify_core.dart'; import 'package:amplify_core/src/amplify_class_impl.dart'; +import 'package:amplify_core/src/logger/amplify_logging_cloudwatch.dart'; import 'package:amplify_core/src/version.dart'; import 'package:graphs/graphs.dart'; import 'package:meta/meta.dart'; @@ -52,6 +53,10 @@ abstract class AmplifyClass { /// The Notifications category. final NotificationsCategory Notifications = NotificationsCategory(); + /// The Amplify Logging utility. + @protected + AmplifyLogging get logging => AmplifyLogging(); + /// Shared dependencies for use across categories. @protected @visibleForTesting @@ -126,6 +131,7 @@ abstract class AmplifyClass { ); } await _configurePlugins(amplifyConfig); + logging.configure(amplifyConfig, authProviderRepo); _configCompleter.complete(amplifyConfig); } on ConfigurationError catch (e, st) { // Complete with the configuration error and reset the completer so @@ -197,6 +203,7 @@ abstract class AmplifyClass { DataStore.reset(), Notifications.Push.reset(), Storage.reset(), + logging.reset(), ]); dependencies.close(); } diff --git a/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart b/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart new file mode 100644 index 0000000000..baabe31806 --- /dev/null +++ b/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart @@ -0,0 +1,57 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +@internal +library; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:meta/meta.dart'; + +/// {@template amplify_core.logger.amplify_logging_cloudwatch} +/// It configures the [CloudWatchLoggerPlugin] from [AmplifyConfig] to sends +/// [AmplifyLogger]'s logs to the CloudWatch. +/// {@endtemplate} +class AmplifyLogging { + static CloudWatchLoggerPlugin? _plugin; + static final _logger = AmplifyLogger(); + + void configure( + AmplifyConfig amplifyConfig, + AmplifyAuthProviderRepository authProviderRepository, + ) { + if (_plugin != null) { + return; + } + + final pluginConfig = amplifyConfig.logging?.awsPlugin; + if (pluginConfig == null) { + return; + } + + final credentialsProvider = authProviderRepository + .getAuthProvider(APIAuthorizationType.iam.authProviderToken); + if (credentialsProvider == null) { + throw ConfigurationError( + 'No credential provider found for CloudWatch Logging.', + recoverySuggestion: + "If you haven't already, please add amplify_auth_cognito plugin to your App.", + ); + } + + _plugin = CloudWatchLoggerPlugin( + credentialsProvider: credentialsProvider, + pluginConfig: pluginConfig, + ); + _logger.registerPlugin(_plugin!); + } + + @visibleForTesting + Future reset() async { + if (_plugin != null) { + await _plugin!.disable(); + _logger.unregisterPlugin(_plugin!); + _plugin = null; + } + } +} diff --git a/packages/amplify_core/pubspec.yaml b/packages/amplify_core/pubspec.yaml index 6f35d01040..04e76dca23 100644 --- a/packages/amplify_core/pubspec.yaml +++ b/packages/amplify_core/pubspec.yaml @@ -11,6 +11,7 @@ environment: dependencies: async: ^2.10.0 aws_common: ">=0.6.0 <0.7.0" + aws_logging_cloudwatch: ^0.1.0 aws_signature_v4: ">=0.5.0 <0.6.0" collection: ^1.15.0 graphs: ^2.1.0 diff --git a/packages/amplify_core/test/logger/amplify_logging_cloudwatch_test.dart b/packages/amplify_core/test/logger/amplify_logging_cloudwatch_test.dart new file mode 100644 index 0000000000..21b9318502 --- /dev/null +++ b/packages/amplify_core/test/logger/amplify_logging_cloudwatch_test.dart @@ -0,0 +1,121 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:convert'; + +import 'package:amplify_core/amplify_core.dart'; +import 'package:amplify_core/src/logger/amplify_logging_cloudwatch.dart'; +import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; +import 'package:test/fake.dart'; +import 'package:test/test.dart'; + +void main() { + const jsonConfig1 = '''{ + "plugins": { + "cloudWatchLoggerPluginConfiguration": { + "enable": true, + "logGroupName": "TestLogGroupName", + "region": "us-east-1", + "localStoreMaxSizeInMB": 5, + "flushIntervalInSeconds": 60, + "defaultRemoteConfiguration": { + "endpoint": "URL", + "refreshIntervalInSeconds": 1200 + }, + "loggingConstraints": { + "defaultLogLevel": "ERROR", + "categoryLogLevel": { + "AUTH": "WARN", + "API": "WARN" + }, + "userLogLevel": { + "cognitoSub1": { + "defaultLogLevel": "WARN", + "categoryLogLevel": { + "AUTH": "INFO", + "API": "ERROR" + } + } + } + } + } + } +}'''; + + const jsonConfig2 = '''{ + "plugins": { + "cloudWatchLoggerPluginConfiguration": { + "enable": true, + "logGroupName": "logGroupName", + "region": "region", + "localStoreMaxSizeInMB": 5, + "flushIntervalInSeconds": 60 + } + } +}'''; + + final loggingConfig1 = LoggingConfig.fromJson( + jsonDecode(jsonConfig1) as Map, + ); + final amplifyConfig1 = AmplifyConfig( + logging: loggingConfig1, + ); + + final loggingConfig2 = LoggingConfig.fromJson( + jsonDecode(jsonConfig2) as Map, + ); + final amplifyConfig2 = AmplifyConfig( + logging: loggingConfig2, + ); + + group('configure', () { + setUp(() => AmplifyLogging().reset()); + test('It configures the plugin if it is not configured', () { + AmplifyLogging() + .configure(amplifyConfig1, FakeAmplifyAuthProviderRepository()); + final plugin = AmplifyLogger().getPlugin(); + expect(plugin, isNotNull); + }); + + test('It does not configures the plugin if is already configured', + () async { + AmplifyLogging() + .configure(amplifyConfig1, FakeAmplifyAuthProviderRepository()); + final plugin1 = AmplifyLogger().getPlugin(); + AmplifyLogging() + .configure(amplifyConfig2, FakeAmplifyAuthProviderRepository()); + final plugin2 = AmplifyLogger().getPlugin(); + expect(plugin1, plugin2); + }); + + test('It does not configure the plugin if config is not provided', () { + AmplifyLogging().configure( + const AmplifyConfig(), + FakeAmplifyAuthProviderRepository(), + ); + final plugin = AmplifyLogger().getPlugin(); + expect(plugin, isNull); + }); + }); +} + +class FakeAmplifyAuthProviderRepository extends Fake + implements AmplifyAuthProviderRepository { + final Map _authProviders = { + APIAuthorizationType.iam.authProviderToken: FakeIamAuthProvider(), + }; + + @override + T? getAuthProvider( + AmplifyAuthProviderToken token, + ) { + return _authProviders[token] as T?; + } +} + +class FakeIamAuthProvider extends Fake implements AWSIamAmplifyAuthProvider { + @override + AWSCredentials retrieve() { + return const AWSCredentials('', ''); + } +} From bb538af1e157ea43e17fd7007595bf79e0a7c3f7 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 29 Sep 2023 14:48:27 -0700 Subject: [PATCH 23/43] test(logging): add example app (#3872) --- .../lib/src/amplify_logging_cloudwatch.dart | 2 +- .../example/.gitignore | 66 +- .../example/.metadata | 45 ++ .../example/README.md | 15 + .../example/android/.gitignore | 13 + .../example/android/app/build.gradle | 72 ++ .../android/app/src/debug/AndroidManifest.xml | 8 + .../android/app/src/main/AndroidManifest.xml | 34 + .../MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 8 + .../example/android/build.gradle | 31 + .../example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../example/android/settings.gradle | 11 + .../example/bin/main.dart | 3 - .../example/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../example/ios/Flutter/Debug.xcconfig | 2 + .../example/ios/Flutter/Release.xcconfig | 2 + .../example/ios/Podfile | 41 ++ .../ios/Runner.xcodeproj/project.pbxproj | 552 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../example/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + .../example/ios/Runner/Info.plist | 51 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../lib/amplifyconfiguration_logging.dart | 31 + .../example/lib/homepage.dart | 484 +++++++++++++ .../example/lib/main.dart | 94 +++ .../example/linux/.gitignore | 1 + .../example/linux/CMakeLists.txt | 138 ++++ .../example/linux/flutter/CMakeLists.txt | 88 +++ .../flutter/generated_plugin_registrant.cc | 19 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 25 + .../example/linux/main.cc | 6 + .../example/linux/my_application.cc | 104 +++ .../example/linux/my_application.h | 18 + .../example/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 2 + .../macos/Flutter/Flutter-Release.xcconfig | 2 + .../Flutter/GeneratedPluginRegistrant.swift | 22 + .../example/macos/Podfile | 40 ++ .../macos/Runner.xcodeproj/project.pbxproj | 641 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../example/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 ++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 ++++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 18 + .../example/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../example/macos/Runner/Release.entitlements | 16 + .../example/pubspec.yaml | 17 +- .../example/web/favicon-180x180.png | Bin 11072 -> 0 bytes .../example/web/favicon.png | Bin 7900 -> 917 bytes .../example/web/icons/Icon-192.png | Bin 0 -> 5292 bytes .../example/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes .../example/web/index.html | 64 +- .../example/web/main.dart | 5 - .../example/web/manifest.json | 35 + .../example/web/styles.css | 14 - .../example/windows/.gitignore | 17 + .../example/windows/CMakeLists.txt | 101 +++ .../example/windows/flutter/CMakeLists.txt | 104 +++ .../flutter/generated_plugin_registrant.cc | 17 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 25 + .../example/windows/runner/CMakeLists.txt | 40 ++ .../example/windows/runner/Runner.rc | 121 ++++ .../example/windows/runner/flutter_window.cpp | 66 ++ .../example/windows/runner/flutter_window.h | 33 + .../example/windows/runner/main.cpp | 43 ++ .../example/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + .../example/windows/runner/utils.cpp | 64 ++ .../example/windows/runner/utils.h | 19 + .../example/windows/runner/win32_window.cpp | 288 ++++++++ .../example/windows/runner/win32_window.h | 102 +++ .../lib/amplify_logging_cloudwatch.dart | 2 + 133 files changed, 5021 insertions(+), 42 deletions(-) create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.metadata create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/build.gradle create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/debug/AndroidManifest.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/AndroidManifest.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/kotlin/com/amazonaws/amplify/amplify_logging_cloudwatch_example/MainActivity.kt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable/launch_background.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values-night/styles.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values/styles.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/profile/AndroidManifest.xml create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/build.gradle create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle.properties create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/settings.gradle delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/AppFrameworkInfo.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Debug.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Release.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Podfile create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.pbxproj create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/AppDelegate.swift create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/Main.storyboard create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Info.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Runner-Bridging-Header.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/CMakeLists.txt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/CMakeLists.txt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.cc create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugins.cmake create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/main.cc create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.cc create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Release.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Podfile create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/AppDelegate.swift create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Debug.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Release.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Warnings.xcconfig create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/DebugProfile.entitlements create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Info.plist create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/MainFlutterWindow.swift create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Release.entitlements delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-192.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-512.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-192.png create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-512.png delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/manifest.json delete mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/.gitignore create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/CMakeLists.txt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/CMakeLists.txt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.cc create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugins.cmake create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/CMakeLists.txt create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/Runner.rc create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.cpp create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/main.cpp create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resource.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resources/app_icon.ico create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/runner.exe.manifest create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.cpp create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.h create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.cpp create mode 100644 packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.h diff --git a/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart index 126b813e78..b6397190ce 100644 --- a/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart +++ b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart @@ -8,7 +8,7 @@ library; import 'package:amplify_core/amplify_core.dart'; import 'package:amplify_core/src/logger/amplify_logging_cloudwatch.dart'; -import 'package:amplify_logging_cloudwatch/src/amplify_cloudwatch_logger_plugin.dart'; +import 'package:amplify_logging_cloudwatch/amplify_logging_cloudwatch.dart'; import 'package:meta/meta.dart'; /// {@macro amplify_core.logger.amplify_logging_cloudwatch} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore index f1d87ba3fd..7f89119975 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.gitignore @@ -1,9 +1,69 @@ -# Files and directories created by pub. +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.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 .dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies .packages +.pub-cache/ +.pub/ +/build/ -# Conventional directory for build output. -build/ +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release # Amplify amplifyconfiguration.dart + +#amplify-do-not-edit-begin +amplify/\#current-cloud-backend +amplify/.config/local-* +amplify/logs +amplify/mock-data +amplify/mock-api-resources +amplify/backend/amplify-meta.json +amplify/backend/.temp +build/ +dist/ +node_modules/ +aws-exports.js +awsconfiguration.json +amplifyconfiguration.json +amplifyconfiguration.dart +amplify-build-config.json +amplify-gradle-config.json +amplifytools.xcconfig +.secret-* +**.sample +#amplify-do-not-edit-end diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.metadata b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.metadata new file mode 100644 index 0000000000..083a42e9bd --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: android + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: ios + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: linux + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: macos + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: web + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + - platform: windows + create_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + base_revision: b06b8b2710955028a6b562f5aa6fe62941d6febf + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md index a79b5136a7..df235b8782 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/README.md @@ -1 +1,16 @@ # amplify_logging_cloudwatch_example + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +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. diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/.gitignore new file mode 100644 index 0000000000..6f568019d3 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/build.gradle b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/build.gradle new file mode 100644 index 0000000000..a97058d71d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/build.gradle @@ -0,0 +1,72 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + // TODO(dnys1): Replace with `flutter.compileSdkVersion` when bumping min Flutter version + compileSdkVersion 33 + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.amazonaws.amplify.amplify_logging_cloudwatch_example" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. + minSdkVersion 24 + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/debug/AndroidManifest.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000000..fc909c9543 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/AndroidManifest.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..fc1d3b3e27 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/kotlin/com/amazonaws/amplify/amplify_logging_cloudwatch_example/MainActivity.kt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/kotlin/com/amazonaws/amplify/amplify_logging_cloudwatch_example/MainActivity.kt new file mode 100644 index 0000000000..494147f17a --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/kotlin/com/amazonaws/amplify/amplify_logging_cloudwatch_example/MainActivity.kt @@ -0,0 +1,6 @@ +package com.amazonaws.amplify.amplify_logging_cloudwatch_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000000..f74085f3f6 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable/launch_background.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000000..304732f884 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values-night/styles.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000000..06952be745 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values/styles.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000000..cb1ef88056 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/profile/AndroidManifest.xml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000000..fc909c9543 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/build.gradle b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/build.gradle new file mode 100644 index 0000000000..ce647a433b --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.7.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.4.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle.properties b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle.properties new file mode 100644 index 0000000000..94adc3a3f9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..ceccc3a854 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/settings.gradle b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/settings.gradle new file mode 100644 index 0000000000..44e62bcf06 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart deleted file mode 100644 index a796abe2fd..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/bin/main.dart +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -void main() {} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/.gitignore new file mode 100644 index 0000000000..7a7f9873ad --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/AppFrameworkInfo.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000000..9625e105df --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Debug.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000000..ec97fc6f30 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Release.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000000..c4855bfe20 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Podfile b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Podfile new file mode 100644 index 0000000000..10f3c9b470 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +platform :ios, '13.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.pbxproj b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..68da77cd34 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,552 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 8AC7830BAC3039A1A4A0D673 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F03C596DBF161294CCED3EA /* Pods_Runner.framework */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1521036AEFD272D5AD600560 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 1F03C596DBF161294CCED3EA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A263ECB83398DE67AA69A552 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + B182AC391E50C85AB845CDDE /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8AC7830BAC3039A1A4A0D673 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3F3560C20BCD94FC49518846 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1F03C596DBF161294CCED3EA /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + D3C99395B19D07A7B27E3C41 /* Pods */, + 3F3560C20BCD94FC49518846 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + D3C99395B19D07A7B27E3C41 /* Pods */ = { + isa = PBXGroup; + children = ( + 1521036AEFD272D5AD600560 /* Pods-Runner.debug.xcconfig */, + B182AC391E50C85AB845CDDE /* Pods-Runner.release.xcconfig */, + A263ECB83398DE67AA69A552 /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 904EA2452D4050DABD86BDF7 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + C784FB11F463879C91CE482C /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1430; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 904EA2452D4050DABD86BDF7 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; + C784FB11F463879C91CE482C /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.amazonaws.amplify.amplify_logging_cloudwatch_example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.amazonaws.amplify.amplify_logging_cloudwatch_example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.amazonaws.amplify.amplify_logging_cloudwatch_example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..919434a625 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000000..f9b0d7c5ea --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000000..a6b826db27 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..21a3cc14c7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000000..f9b0d7c5ea --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/AppDelegate.swift b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000000..70693e4a8c --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..d36b1fab2d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000000..0bedcf2fd4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000000..89c2725b70 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000000..f2e259c7c9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/Main.storyboard b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000000..f3c28516fb --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Info.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Info.plist new file mode 100644 index 0000000000..9e2084f180 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Amplify Logging Cloudwatch Example + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + amplify_logging_cloudwatch_example + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Runner-Bridging-Header.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000000..308a2a560b --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart new file mode 100644 index 0000000000..ae6438a913 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart @@ -0,0 +1,31 @@ +const loggingconfig = '''{ + "plugins": { + "cloudWatchLoggerPluginConfiguration": { + "enable": true, + "logGroupName": "", + "region": "", + "localStoreMaxSizeInMB": 5, + "flushIntervalInSeconds": 60, + "defaultRemoteConfiguration": { + "endpoint": "https://.execute-api..amazonaws.com/prod/loggingconstraints", + "refreshIntervalInSeconds": 1200 + }, + "loggingConstraints": { + "defaultLogLevel": "ERROR", + "categoryLogLevel": { + "AUTH": "WARN", + "API": "WARN" + }, + "userLogLevel": { + "cognitoSub1": { + "defaultLogLevel": "WARN", + "categoryLogLevel": { + "AUTH": "INFO", + "API": "ERROR" + } + } + } + } + } + } +}'''; diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart new file mode 100644 index 0000000000..eeee75f1f5 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart @@ -0,0 +1,484 @@ +import 'package:amplify_flutter/amplify_flutter.dart'; +import 'package:amplify_logging_cloudwatch/amplify_logging_cloudwatch.dart'; +import 'package:flutter/material.dart'; + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key, required this.title}); + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + final _plugin = AmplifyLogger().getPlugin()!; + + final _authLogger = AmplifyLogger.category(Category.auth); + LogLevel? _authLogLevel; + final TextEditingController _authLogMsgController = TextEditingController(); + + final _analyticsLogger = AmplifyLogger.category(Category.analytics); + LogLevel? _analyticsLogLevel; + final TextEditingController _analyticsLogMsgController = + TextEditingController(); + + final _apiLogger = AmplifyLogger.category(Category.api); + LogLevel? _apiLogLevel; + final TextEditingController _apiLogMsgController = TextEditingController(); + + final _dataStoreLogger = AmplifyLogger.category(Category.dataStore); + LogLevel? _dataStoreLogLevel; + final TextEditingController _dataStoreLogMsgController = + TextEditingController(); + + final _hubLogger = AmplifyLogger.category(Category.hub); + LogLevel? _hubLogLevel; + final TextEditingController _hubLogMsgController = TextEditingController(); + + final _pnLogger = AmplifyLogger.category(Category.pushNotifications); + LogLevel? _pnLogLevel; + final TextEditingController _pnLogMsgController = TextEditingController(); + + final _storageLogger = AmplifyLogger.category(Category.storage); + LogLevel? _storageLogLevel; + final TextEditingController _storageLogMsgController = + TextEditingController(); + + LogLevel? _customLogLevel; + final TextEditingController _customLogMsgController = TextEditingController(); + final TextEditingController _customLoggerNameController = + TextEditingController(); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(widget.title), + ), + body: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ...loggerList(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Padding( + padding: const EdgeInsets.all(4), + child: ElevatedButton( + onPressed: _submitLogs, + child: const Text('Submit Logs'), + ), + ), + Padding( + padding: const EdgeInsets.all(4), + child: ElevatedButton( + onPressed: _enableLogging, + child: const Text('Enable Logging'), + ), + ), + Padding( + padding: const EdgeInsets.all(4), + child: ElevatedButton( + onPressed: _disableLogging, + child: const Text('Disable Logging'), + ), + ), + Padding( + padding: const EdgeInsets.all(4), + child: ElevatedButton( + onPressed: _flushLogs, + child: const Text('Flush Logs'), + ), + ), + ], + ), + ], + ), + ), + ); + } + + void _enableLogging() { + _plugin.enable(); + } + + void _disableLogging() { + _plugin.disable(); + } + + void _flushLogs() { + _plugin.flushLogs(); + } + + void _submitLogs() { + if (_authLogLevel != null && _authLogMsgController.text != '') { + _authLogger.log(_authLogLevel!, _authLogMsgController.text); + } + if (_analyticsLogLevel != null && _analyticsLogMsgController.text != '') { + _analyticsLogger.log( + _analyticsLogLevel!, + _analyticsLogMsgController.text, + ); + } + if (_apiLogLevel != null && _apiLogMsgController.text != '') { + _apiLogger.log( + _apiLogLevel!, + _apiLogMsgController.text, + ); + } + if (_dataStoreLogLevel != null && _dataStoreLogMsgController.text != '') { + _dataStoreLogger.log( + _dataStoreLogLevel!, + _dataStoreLogMsgController.text, + ); + } + if (_hubLogLevel != null && _hubLogMsgController.text != '') { + _hubLogger.log(_hubLogLevel!, _hubLogMsgController.text); + } + if (_pnLogLevel != null && _pnLogMsgController.text != '') { + _pnLogger.log(_pnLogLevel!, _pnLogMsgController.text); + } + if (_storageLogLevel != null && _storageLogMsgController.text != '') { + _storageLogger.log(_storageLogLevel!, _storageLogMsgController.text); + } + if (_customLoggerNameController.text != '' && + _customLogLevel != null && + _customLogMsgController.text != '') { + AmplifyLogger(_customLoggerNameController.text) + .log(_customLogLevel!, _customLogMsgController.text); + } + setState(() { + _authLogLevel = _analyticsLogLevel = _apiLogLevel = _dataStoreLogLevel = + _hubLogLevel = + _pnLogLevel = _storageLogLevel = _customLogLevel = null; + + _authLogMsgController.text = _analyticsLogMsgController.text = + _apiLogMsgController.text = _dataStoreLogMsgController.text = + _hubLogMsgController.text = _pnLogMsgController.text = + _storageLogMsgController.text = _customLogMsgController.text = + _customLoggerNameController.text = ''; + }); + } + + List loggerList() { + return [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text('Analytics Category:'), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _analyticsLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _analyticsLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _analyticsLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text('API Category:'), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _apiLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _apiLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _apiLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text('Auth Category:'), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _authLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _authLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _authLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text( + 'DataStore Category:', + ), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _dataStoreLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _dataStoreLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _dataStoreLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text('Hub Category:'), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _hubLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _hubLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _hubLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox( + width: 150, + child: Text('PushNotification Category:'), + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _pnLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _pnLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _pnLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + const SizedBox(width: 150, child: Text('Storage Category:')), + DropdownButton( + hint: const Text('Select Log Level'), + value: _storageLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _storageLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _storageLogMsgController, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 150), + hintText: 'Enter logger name', + ), + controller: _customLoggerNameController, + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _customLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _customLogLevel = newValue; + }); + }, + ), + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 400), + hintText: 'Enter log message', + ), + controller: _customLogMsgController, + ), + ], + ), + ), + ]; + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart new file mode 100644 index 0000000000..6402704263 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -0,0 +1,94 @@ +import 'dart:convert'; + +import 'package:amplify_auth_cognito/amplify_auth_cognito.dart'; +import 'package:amplify_authenticator/amplify_authenticator.dart'; +import 'package:amplify_flutter/amplify_flutter.dart'; +import 'package:amplify_logging_cloudwatch_example/amplifyconfiguration.dart'; +import 'package:amplify_logging_cloudwatch_example/amplifyconfiguration_logging.dart'; +import 'package:amplify_logging_cloudwatch_example/homepage.dart'; +import 'package:flutter/material.dart'; + +Future main() async { + WidgetsFlutterBinding.ensureInitialized(); + final authPlugin = AmplifyAuthCognito(); + + final amplifyConfigWithLogging = AmplifyConfig.fromJson( + jsonDecode(amplifyconfig) as Map, + ).copyWith( + logging: LoggingConfig.fromJson( + jsonDecode(loggingconfig) as Map, + ), + ); + + final amplifyConfig = + const JsonEncoder().convert(amplifyConfigWithLogging.toJson()); + + await Amplify.addPlugin(authPlugin); + await Amplify.configure(amplifyConfig); + AmplifyLogger().logLevel = LogLevel.verbose; + + runApp( + const MyApp(), + ); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + @override + Widget build(BuildContext context) { + return Authenticator( + child: MaterialApp( + initialRoute: '/', + routes: { + '/': (BuildContext context) { + return const InitPage( + title: 'Amplify Logging Cloudwatch Example', + ); + }, + '/home': (BuildContext context) { + return const MyHomePage( + title: 'Amplify Logging Cloudwatch Example', + ); + }, + '/login': (BuildContext context) { + return const AuthenticatedView( + child: MyHomePage(title: 'Amplify Logging Cloudwatch Example'), + ); + }, + }, + ), + ); + } +} + +class InitPage extends StatelessWidget { + const InitPage({super.key, required this.title}); + final String title; + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar(title: Text(title)), + body: Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ElevatedButton( + onPressed: () { + Amplify.Auth.signOut(); + Navigator.pushNamed(context, '/login'); + }, + child: const Text('Go to Login Page'), + ), + ElevatedButton( + onPressed: () { + Amplify.Auth.signOut(); + Navigator.pushNamed(context, '/home'); + }, + child: const Text('Go to Home Page'), + ), + ], + ), + ), + ); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/.gitignore new file mode 100644 index 0000000000..d3896c9844 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/CMakeLists.txt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/CMakeLists.txt new file mode 100644 index 0000000000..c7c29a7278 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/CMakeLists.txt @@ -0,0 +1,138 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "amplify_logging_cloudwatch_example") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.amazonaws.amplify.amplify_logging_cloudwatch_example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/CMakeLists.txt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000000..d5bd01648a --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.cc b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000000..a66c59350a --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,19 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include +#include + +void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) amplify_db_common_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "AmplifyDbCommonPlugin"); + amplify_db_common_plugin_register_with_registrar(amplify_db_common_registrar); + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000000..e0f0a47bc0 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugins.cmake b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000000..a7fd6afb7c --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,25 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + amplify_db_common + url_launcher_linux +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/main.cc b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/main.cc new file mode 100644 index 0000000000..e7c5c54370 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.cc b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.cc new file mode 100644 index 0000000000..a307cf1908 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.cc @@ -0,0 +1,104 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "Amplify Logging Cloudwatch Example"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "Amplify Logging Cloudwatch Example"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.h new file mode 100644 index 0000000000..72271d5e41 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/.gitignore new file mode 100644 index 0000000000..746adbb6b9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000000..4b81f9b2d2 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Release.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000000..5caa9d1579 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000000..32a9505309 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,22 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import amplify_auth_cognito +import amplify_secure_storage +import device_info_plus +import package_info_plus +import path_provider_foundation +import url_launcher_macos + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + AmplifyAuthCognitoPlugin.register(with: registry.registrar(forPlugin: "AmplifyAuthCognitoPlugin")) + AmplifySecureStoragePlugin.register(with: registry.registrar(forPlugin: "AmplifySecureStoragePlugin")) + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Podfile b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Podfile new file mode 100644 index 0000000000..9ec46f8cd5 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Podfile @@ -0,0 +1,40 @@ +platform :osx, '10.15' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7e7bd1041f --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,641 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 8708006CD595A55167183036 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE1D7188A899829D0E21E13A /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* Amplify Logging Cloudwatch Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Amplify Logging Cloudwatch Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 909BAC00FAB1E4140909E1F4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + B1BB6F9DA046F9E8D0406110 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + D1032C405676EB3B638D31E3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + EE1D7188A899829D0E21E13A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8708006CD595A55167183036 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 263B03276DC9068E67697D1F /* Pods */ = { + isa = PBXGroup; + children = ( + D1032C405676EB3B638D31E3 /* Pods-Runner.debug.xcconfig */, + 909BAC00FAB1E4140909E1F4 /* Pods-Runner.release.xcconfig */, + B1BB6F9DA046F9E8D0406110 /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 263B03276DC9068E67697D1F /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* Amplify Logging Cloudwatch Example.app */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + EE1D7188A899829D0E21E13A /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + F670AED7D88AE55106CCDAD1 /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + B38C2A0600640990B3EF399E /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* Amplify Logging Cloudwatch Example.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1430; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; + B38C2A0600640990B3EF399E /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F670AED7D88AE55106CCDAD1 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 6M3LR39NQ8; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 6M3LR39NQ8; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 6M3LR39NQ8; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000000..c7a7106dc7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..21a3cc14c7 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/AppDelegate.swift b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000000..d53ef64377 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..a2ec33f19f --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/AppInfo.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000000..456695fae8 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = Amplify Logging Cloudwatch Example + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.amazonaws.amplify.AmplifyLoggingCloudwatchExample + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 AWS Amplify. All rights reserved. diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Debug.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000000..36b0fd9464 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Release.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000000..dff4f49561 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Warnings.xcconfig b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000000..42bcbf4780 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/DebugProfile.entitlements b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000000..65101634fd --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,18 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.client + + com.apple.security.network.server + + keychain-access-groups + + $(AppIdentifierPrefix)com.amazonaws.amplify.AmplifyLoggingCloudwatchExample + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Info.plist b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Info.plist new file mode 100644 index 0000000000..4789daa6a4 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/MainFlutterWindow.swift b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000000..2722837ec9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Release.entitlements b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Release.entitlements new file mode 100644 index 0000000000..ea7f9f3cb6 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner/Release.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + com.apple.security.network.server + + keychain-access-groups + + $(AppIdentifierPrefix)com.amazonaws.amplify.AmplifyLoggingCloudwatchExample + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml index 99323c4dd0..a5e4a8010d 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/pubspec.yaml @@ -3,11 +3,22 @@ description: An example app showcasing the amplify_logging_cloudwatch package. version: 1.0.0 publish_to: none environment: - sdk: "^3.0.0" + sdk: '^3.0.0' + flutter: '>=3.10.0' dependencies: + amplify_auth_cognito: '>=1.3.0 <1.4.0' + amplify_authenticator: ^1.0.0 + amplify_flutter: '>=1.3.0 <1.4.0' + amplify_logging_cloudwatch: + path: ../ + flutter: + sdk: flutter dev_dependencies: amplify_lints: ^2.0.0 - build_runner: ^2.4.0 - build_web_compilers: ^4.0.0 + flutter_test: + sdk: flutter + +flutter: + uses-material-design: true diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/favicon-180x180.png deleted file mode 100644 index abeda3c2d1c2b2bf5c63b2095d00f13578c1c8d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11072 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 literal 7900 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-512.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-192.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-512.png b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html index 246bf3dc40..399336467c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/index.html @@ -1,21 +1,59 @@ - - - - - - Amplify Logging Cloudwatch Example - - - - - + + -
+ + + + + + + + + + + + + Amplify Logging Cloudwatch Example + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart deleted file mode 100644 index 87a3d61bde..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/main.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'dart:html'; - -void main() { - querySelector('#output')?.text = 'Your Amplify app is running.'; -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/manifest.json b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/manifest.json new file mode 100644 index 0000000000..2e84c7f13f --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "Amplify Logging Cloudwatch Example", + "short_name": "Amplify Logging Cloudwatch Example", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css deleted file mode 100644 index cc035c95c9..0000000000 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/web/styles.css +++ /dev/null @@ -1,14 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Roboto); - -html, body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-family: 'Roboto', sans-serif; -} - -#output { - padding: 20px; - text-align: center; -} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/.gitignore new file mode 100644 index 0000000000..d492d0d98c --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/CMakeLists.txt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/CMakeLists.txt new file mode 100644 index 0000000000..b2dedb2199 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/CMakeLists.txt @@ -0,0 +1,101 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(amplify_logging_cloudwatch_example LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "amplify_logging_cloudwatch_example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/CMakeLists.txt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000000..930d2071a3 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/CMakeLists.txt @@ -0,0 +1,104 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.cc b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000000..e24dd12e40 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,17 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + AmplifyDbCommonPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("AmplifyDbCommonPlugin")); + UrlLauncherWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UrlLauncherWindows")); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000000..dc139d85a9 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugins.cmake b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000000..92239a91a8 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/flutter/generated_plugins.cmake @@ -0,0 +1,25 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + amplify_db_common + url_launcher_windows +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/CMakeLists.txt b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/CMakeLists.txt new file mode 100644 index 0000000000..394917c053 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/Runner.rc b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/Runner.rc new file mode 100644 index 0000000000..18d2676cb0 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.amazonaws.amplify" "\0" + VALUE "FileDescription", "amplify_logging_cloudwatch_example" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "amplify_logging_cloudwatch_example" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.amazonaws.amplify. All rights reserved." "\0" + VALUE "OriginalFilename", "amplify_logging_cloudwatch_example.exe" "\0" + VALUE "ProductName", "amplify_logging_cloudwatch_example" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.cpp b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.cpp new file mode 100644 index 0000000000..b25e363efa --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.cpp @@ -0,0 +1,66 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.h new file mode 100644 index 0000000000..6da0652f05 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/main.cpp b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/main.cpp new file mode 100644 index 0000000000..d1348559b0 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"Amplify Logging Cloudwatch Example", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resource.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resource.h new file mode 100644 index 0000000000..d7b448fc54 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resource.h @@ -0,0 +1,16 @@ +// +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resources/app_icon.ico b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/runner.exe.manifest b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/runner.exe.manifest new file mode 100644 index 0000000000..a42ea7687c --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.cpp b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.cpp new file mode 100644 index 0000000000..f5bf9fa0f5 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), + target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.h new file mode 100644 index 0000000000..3879d54755 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.cpp b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.cpp new file mode 100644 index 0000000000..041a385547 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.h b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.h new file mode 100644 index 0000000000..c86632d8a6 --- /dev/null +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responsponds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart index c309d9866d..f9b7b8c9fe 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/amplify_logging_cloudwatch.dart @@ -1,2 +1,4 @@ /// amplify_logging_cloudwatch library amplify_logging_cloudwatch; + +export 'src/amplify_cloudwatch_logger_plugin.dart'; From 22b2390833d47e33f68b126d015cceda2972563f Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Wed, 4 Oct 2023 09:12:11 -0700 Subject: [PATCH 24/43] feat(logging): clear logs on user sign out (#3878) feat(logging): clear logs when user sign out --- .../lib/src/cloudwatch_logger_plugin.dart | 21 ++++- .../test/cloudwatch_logger_plugin_test.dart | 89 +++++++++++++++++++ .../aws_logging_cloudwatch/test/mocks.dart | 3 + 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 47807e0d2c..074f69e906 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -94,6 +94,13 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin if (!pluginConfig.enable) { _timer?.stop(); } + Amplify.Hub.listen(HubChannel.Auth, (AuthHubEvent event) async { + if (event.type == AuthHubEventType.signedOut || + event.type == AuthHubEventType.userDeleted || + event.type == AuthHubEventType.sessionExpired) { + await _clearLogs(); + } + }); } /// An [AWSLoggerPlugin] to use only for testing. @@ -110,7 +117,15 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin _logStore = logStore, _remoteLoggingConstraintProvider = remoteLoggingConstraintProvider, _logStreamProvider = logStreamProvider, - _client = client; + _client = client { + Amplify.Hub.listen(HubChannel.Auth, (AuthHubEvent event) async { + if (event.type == AuthHubEventType.signedOut || + event.type == AuthHubEventType.userDeleted || + event.type == AuthHubEventType.sessionExpired) { + await _clearLogs(); + } + }); + } final CloudWatchPluginConfig _pluginConfig; final CloudWatchLogsClient _client; @@ -350,6 +365,10 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin @override String get runtimeTypeName => 'CloudWatchLoggerPlugin'; + + Future _clearLogs() async { + await _logStore.clear(); + } } extension on QueuedItem { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index 346831e42e..699053c57f 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -724,4 +724,93 @@ void main() { ); }); }); + + group('clear logs on Hub events', () { + final hubEventController = StreamController.broadcast(); + final events = [ + AuthHubEvent.sessionExpired, + AuthHubEvent.signedOut, + AuthHubEvent.userDeleted, + ]; + Amplify.Hub.addChannel(HubChannel.Auth, hubEventController.stream); + setUp(() { + mockCloudWatchLogsClient = MockCloudWatchLogsClient(); + mockQueuedItemStore = MockQueuedItemStore(); + mockCloudWatchLogStreamProvider = MockCloudWatchLogStreamProvider(); + plugin = CloudWatchLoggerPlugin.testPlugin( + client: mockCloudWatchLogsClient, + pluginConfig: pluginConfig, + logStore: mockQueuedItemStore, + logStreamProvider: mockCloudWatchLogStreamProvider, + ); + }); + tearDownAll(hubEventController.close); + + test('clear logs on expected auth hub events', () async { + when( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + + plugin.enable(); + for (final event in events) { + await expectLater( + plugin.handleLogEntry(errorLog), + completes, + ); + hubEventController.add(event()); + } + await Future.delayed(Duration.zero); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(events.length); + + verify( + () => mockQueuedItemStore.clear(), + ).called(events.length); + }); + + test('does not clear logs on unexpected hub events', () async { + when( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + + plugin.enable(); + await expectLater( + plugin.handleLogEntry(errorLog), + completes, + ); + hubEventController.add(AuthHubEvent.signedIn(MockAuhtUser())); + await Future.delayed(Duration.zero); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(1); + verifyNever( + () => mockQueuedItemStore.clear(), + ); + }); + }); } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart index 49238ea567..bdf6fba1e7 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart @@ -1,3 +1,4 @@ +import 'package:amplify_core/amplify_core.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart' show CloudWatchLogStreamProvider, RemoteLoggingConstraintProvider; import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; @@ -16,3 +17,5 @@ class MockCloudWatchLogStreamProvider extends Mock class MockRemoteLoggingConstraintProvider extends Mock implements RemoteLoggingConstraintProvider {} + +class MockAuhtUser extends Mock implements AuthUser {} From c15900457e510f2b4855999e4dc80bb88e50f173 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Thu, 5 Oct 2023 11:22:52 -0700 Subject: [PATCH 25/43] fix(logging): amplify cloudwatch logger plugin to use local storage for logs and remote config (#3892) * fix(logging): enable local log store and remote config with file storage for amplify cloudwatch logger plugin --- .github/dependabot.yaml | 56 ++++++++---- .../amplify_logging_cloudwatch_example.yaml | 86 ++++++++++++++++++- .../src/amplify_cloudwatch_logger_plugin.dart | 12 +++ .../lib/aws_logging_cloudwatch.dart | 1 + .../test/remote_constraint_provider_test.dart | 1 - 5 files changed, 136 insertions(+), 20 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 8c14eafba7..d7a178b3fc 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1917,15 +1917,27 @@ updates: update-types: - "version-update:semver-patch" # Ignore all repo packages + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" - dependency-name: "amplify_lints" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_authenticator" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" schedule: @@ -1936,15 +1948,27 @@ updates: update-types: - "version-update:semver-patch" # Ignore all repo packages + - dependency-name: "amplify_auth_cognito" + - dependency-name: "amplify_analytics_pinpoint" + - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_core" + - dependency-name: "aws_common" - dependency-name: "amplify_lints" - # Group dependencies which have a constraint set in the global "pubspec.yaml" - groups: - build_runner: - patterns: - - "build_runner" - build_web_compilers: - patterns: - - "build_web_compilers" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" + - dependency-name: "amplify_db_common_dart" + - dependency-name: "amplify_secure_storage_dart" + - dependency-name: "worker_bee" + - dependency-name: "worker_bee_builder" + - dependency-name: "amplify_db_common" + - dependency-name: "amplify_secure_storage" + - dependency-name: "amplify_auth_cognito_dart" + - dependency-name: "smithy_codegen" + - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_authenticator" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: diff --git a/.github/workflows/amplify_logging_cloudwatch_example.yaml b/.github/workflows/amplify_logging_cloudwatch_example.yaml index f29ae7a98e..3ab6b1503d 100644 --- a/.github/workflows/amplify_logging_cloudwatch_example.yaml +++ b/.github/workflows/amplify_logging_cloudwatch_example.yaml @@ -7,23 +7,103 @@ on: - stable paths: - '.github/workflows/amplify_logging_cloudwatch_example.yaml' - - '.github/workflows/dart_vm.yaml' + - '.github/workflows/flutter_vm.yaml' + - 'packages/amplify/amplify_flutter/lib/**/*.dart' + - 'packages/amplify/amplify_flutter/pubspec.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' - 'packages/amplify_lints/lib/**/*.yaml' - 'packages/amplify_lints/pubspec.yaml' + - 'packages/analytics/amplify_analytics_pinpoint/lib/**/*.dart' + - 'packages/analytics/amplify_analytics_pinpoint/pubspec.yaml' + - 'packages/analytics/amplify_analytics_pinpoint_dart/lib/**/*.dart' + - 'packages/analytics/amplify_analytics_pinpoint_dart/pubspec.yaml' + - 'packages/auth/amplify_auth_cognito/lib/**/*.dart' + - 'packages/auth/amplify_auth_cognito/pubspec.yaml' + - 'packages/auth/amplify_auth_cognito_dart/lib/**/*.dart' + - 'packages/auth/amplify_auth_cognito_dart/pubspec.yaml' + - 'packages/authenticator/amplify_authenticator/lib/**/*.dart' + - 'packages/authenticator/amplify_authenticator/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common/lib/**/*.dart' + - 'packages/common/amplify_db_common/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.dart' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.yaml' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/**/*' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/test/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' + - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' + - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' + - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + - 'packages/smithy/smithy_codegen/lib/**/*.dart' + - 'packages/smithy/smithy_codegen/pubspec.yaml' + - 'packages/worker_bee/worker_bee/lib/**/*.dart' + - 'packages/worker_bee/worker_bee/pubspec.yaml' + - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' + - 'packages/worker_bee/worker_bee_builder/pubspec.yaml' pull_request: paths: - '.github/workflows/amplify_logging_cloudwatch_example.yaml' - - '.github/workflows/dart_vm.yaml' + - '.github/workflows/flutter_vm.yaml' + - 'packages/amplify/amplify_flutter/lib/**/*.dart' + - 'packages/amplify/amplify_flutter/pubspec.yaml' + - 'packages/amplify_core/lib/**/*.dart' + - 'packages/amplify_core/pubspec.yaml' - 'packages/amplify_lints/lib/**/*.yaml' - 'packages/amplify_lints/pubspec.yaml' + - 'packages/analytics/amplify_analytics_pinpoint/lib/**/*.dart' + - 'packages/analytics/amplify_analytics_pinpoint/pubspec.yaml' + - 'packages/analytics/amplify_analytics_pinpoint_dart/lib/**/*.dart' + - 'packages/analytics/amplify_analytics_pinpoint_dart/pubspec.yaml' + - 'packages/auth/amplify_auth_cognito/lib/**/*.dart' + - 'packages/auth/amplify_auth_cognito/pubspec.yaml' + - 'packages/auth/amplify_auth_cognito_dart/lib/**/*.dart' + - 'packages/auth/amplify_auth_cognito_dart/pubspec.yaml' + - 'packages/authenticator/amplify_authenticator/lib/**/*.dart' + - 'packages/authenticator/amplify_authenticator/pubspec.yaml' + - 'packages/aws_common/lib/**/*.dart' + - 'packages/aws_common/pubspec.yaml' + - 'packages/aws_signature_v4/lib/**/*.dart' + - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common/lib/**/*.dart' + - 'packages/common/amplify_db_common/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.dart' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/**/*.yaml' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/**/*' - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example/test/**/*' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' + - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' + - 'packages/secure_storage/amplify_secure_storage/pubspec.yaml' + - 'packages/secure_storage/amplify_secure_storage_dart/lib/**/*.dart' + - 'packages/secure_storage/amplify_secure_storage_dart/pubspec.yaml' + - 'packages/smithy/smithy/lib/**/*.dart' + - 'packages/smithy/smithy/pubspec.yaml' + - 'packages/smithy/smithy_aws/lib/**/*.dart' + - 'packages/smithy/smithy_aws/pubspec.yaml' + - 'packages/smithy/smithy_codegen/lib/**/*.dart' + - 'packages/smithy/smithy_codegen/pubspec.yaml' + - 'packages/worker_bee/worker_bee/lib/**/*.dart' + - 'packages/worker_bee/worker_bee/pubspec.yaml' + - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' + - 'packages/worker_bee/worker_bee_builder/pubspec.yaml' schedule: - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 defaults: @@ -40,7 +120,7 @@ concurrency: jobs: test: - uses: ./.github/workflows/dart_vm.yaml + uses: ./.github/workflows/flutter_vm.yaml with: package-name: amplify_logging_cloudwatch_example working-directory: packages/logging_cloudwatch/amplify_logging_cloudwatch/example diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart index 929557d778..ac54bd8ac1 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/amplify_cloudwatch_logger_plugin.dart @@ -1,4 +1,6 @@ import 'package:amplify_logging_cloudwatch/src/amplify_log_stream_name_provider.dart'; +import 'package:amplify_logging_cloudwatch/src/path_provider/flutter_path_provider.dart'; +import 'package:amplify_logging_cloudwatch/src/queued_item_store/dart_queued_item_store.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} @@ -15,5 +17,15 @@ class AmplifyCloudWatchLoggerPlugin extends CloudWatchLoggerPlugin { defaultLogStreamNameProvider: AmplifyLogStreamNameProvider().defaultLogStreamName, ), + logStore: DartQueuedItemStore(null), + remoteLoggingConstraintProvider: + pluginConfig.defaultRemoteConfiguration == null + ? null + : DefaultRemoteLoggingConstraintProvider( + config: pluginConfig.defaultRemoteConfiguration!, + region: pluginConfig.region, + credentialsProvider: credentialsProvider, + fileStorage: FileStorage(FlutterPathProvider()), + ), ); } diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart index 0f4f3d075b..c909f23ef7 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/aws_logging_cloudwatch.dart @@ -5,5 +5,6 @@ library aws_logging_cloudwatch; export 'src/cloudwatch_logger_plugin.dart'; +export 'src/file_storage/file_storage.dart'; export 'src/log_stream_provider.dart'; export 'src/remote_constraint_provider.dart'; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart index 4cee7c64c0..38ed51af6d 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart @@ -6,7 +6,6 @@ import 'dart:convert'; import 'package:amplify_core/amplify_core.dart'; import 'package:aws_common/testing.dart'; import 'package:aws_logging_cloudwatch/aws_logging_cloudwatch.dart'; -import 'package:aws_logging_cloudwatch/src/file_storage/file_storage.dart'; import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; From 3a26ae7dc835151c900147dd9ad0520916798187 Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Thu, 5 Oct 2023 14:12:13 -0700 Subject: [PATCH 26/43] chore(logging): update gitignore --- .../logging_cloudwatch/amplify_logging_cloudwatch/.gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore index 65c34dc86e..a453696cbe 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/.gitignore @@ -1,6 +1,8 @@ -# Files and directories created by pub. +# Flutter/Dart/Pub related .dart_tool/ .packages +.flutter-plugins +.flutter-plugins-dependencies # Conventional directory for build outputs. build/ From f588ba1a4ab1babe1e09622209c78754ccd9ce8c Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Thu, 5 Oct 2023 14:51:43 -0700 Subject: [PATCH 27/43] ci(logging): run aft generate workflows --- .../launch_android_emulator/dist/main.cjs.map | 4 +- .../launch_ios_simulator/dist/main.cjs.map | 4 +- .../setup_chromedriver/dist/main.cjs.map | 12 ++-- .github/dependabot.yaml | 34 ++++----- .../aws_logging_cloudwatch_example.yaml | 71 ------------------- 5 files changed, 27 insertions(+), 98 deletions(-) delete mode 100644 .github/workflows/aws_logging_cloudwatch_example.yaml diff --git a/.github/composite_actions/launch_android_emulator/dist/main.cjs.map b/.github/composite_actions/launch_android_emulator/dist/main.cjs.map index 534ba23b56..9cd1806359 100644 --- a/.github/composite_actions/launch_android_emulator/dist/main.cjs.map +++ b/.github/composite_actions/launch_android_emulator/dist/main.cjs.map @@ -3,8 +3,8 @@ "engine": "v2", "file": "main.cjs", "sourceRoot": "", - "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/async/timer.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/io/process.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/actions.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/android/android_tool.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/android/avd_manager.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/android/shell_script.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/android/types.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/child_process.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/util.dart","/Users/dnnoyes/Projects/amplify-flutter/packages/aws_common/lib/src/util/stream.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/bin/launch_android_emulator.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/core.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/tool_cache.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/fs.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/process.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/async/stream_transformers.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/convert/byte_conversion.dart","org-dartlang-sdk:///lib/convert/chunked_conversion.dart","org-dartlang-sdk:///lib/convert/converter.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/convert/line_splitter.dart","org-dartlang-sdk:///lib/convert/string_conversion.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/io/io_sink.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/action_context.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/retry-3.1.2/lib/retry.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/android/sdk_manager.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/process_manager.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/os.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/core/string_buffer.dart"], - "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","staticInteropGlobalContext","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldNI","throwLateFieldADI","_Cell.named","_ensureNativeList","NativeInt8List._create1","NativeUint8List.view","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.delayed","Future.wait","Future.error","_Future.immediateError","Future.any","Completer.sync","_Completer.future","FutureExtensions.ignore","FutureExtensions._ignore","_Future.value","_Future.zoneValue","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","StreamController","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","Timer","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","Timer._createPeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._empty","HashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Base64Encoder.encodeChunk","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","ListIterable.iterator","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","ProcessException","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_noJsifyRequired","jsify","getProperty","callMethod","_callMethodUnchecked0","promiseToFuture","Completer","max","pow","wrapMain","AndroidTool","_BootNotCompleted","ShellScript|run","AndroidAbi.parse","AndroidAbi.forArch","AndroidAbi.allAbis","AndroidApiLevel.parse","AndroidApiLevel.allApiLevels","AndroidSystemImageTarget.parse","AndroidSystemImageTarget.allTags","ChildProcess|execSync","ChildProcess|spawn","NodeReadableStream|get#stream","_StreamController.stream","EventEmitter|once","unreachable","StreamForward.forward","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","_action","Core|getRequiredInput","printString","Core|getTypedInput","Core|getInput","Core|withGroup","Core|setFailed","ToolCache|find","ToolCache|downloadTool","ToolCache|extractZip","ToolCache|cacheDir","FileSystem|withTempDir","Process|get#platform","Process|get#arch","Process|get#env","Process|getEnv","Process|exit","current","join","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.firstWhere","JSArray.elementAt","JSArray.sublist","JSArray.sublist[function-entry$1]","JSArray.getRange","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.round","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","_CastListBase.getRange","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.length","CastMap.forEach.","CastMap_forEach_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","nullFuture.","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.map","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap.addAll","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.","JsLinkedHashMap_values_closure","JsLinkedHashMap.addAll.","JsLinkedHashMap_addAll_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","initHooks.","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","NativeUint8List.sublist","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","Future.delayed.","Future.wait.handleError","Future.wait.","Future_wait_closure","Future.any.onValue","_Completer.isCompleted","Future_any_onValue","Future.any.onError","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_AsyncCompleter._completeError","_SyncCompleter.complete","_SyncCompleter.complete[function-entry$0]","_SyncCompleter._completeError","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future.whenComplete","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._complete","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController.addStream","_AddStreamState","_StreamControllerAddStreamState","_StreamController.isPaused","_StreamController._ensureDoneFuture","_StreamController.add","_StreamController.addError","_StreamController.addError[function-entry$1]","_StreamController.close","_StreamController._add","_StreamController._addError","_StreamController._close","_StreamController._subscribe","_BufferingStreamSubscription","_BufferingStreamSubscription.zoned","_StreamController._recordCancel","_StreamController.onListen","_StreamController.onCancel","_StreamController._subscribe.","_StreamController._recordCancel.complete","_SyncStreamControllerDispatch._sendData","_SyncStreamControllerDispatch._sendError","_SyncStreamControllerDispatch._sendDone","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onCancel","_ControllerSubscription._onPause","_StreamController._recordPause","_ControllerSubscription._onResume","_StreamController._recordResume","_StreamSinkWrapper.add","_StreamSinkWrapper.addError","_StreamSinkWrapper.close","_AddStreamState.cancel","_AddStreamState.cancel.","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription.pause","_PendingEvents.cancelSchedule","_BufferingStreamSubscription.resume","_BufferingStreamSubscription.cancel","_BufferingStreamSubscription._cancel","_BufferingStreamSubscription._add","_BufferingStreamSubscription._addError","_BufferingStreamSubscription._close","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._onCancel","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._sendError","_BufferingStreamSubscription._sendDone","_BufferingStreamSubscription._guardCallback","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_BufferingStreamSubscription._pending","_BufferingStreamSubscription._sendError.sendError","_BufferingStreamSubscription._sendDone.sendDone","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_StreamImpl.listen[function-entry$1$onDone$onError]","_DelayedEvent.next","_DelayedData.perform","_DelayedError.perform","_DelayedDone.perform","_DelayedDone.next","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_EventSinkWrapper.add","_SinkTransformerStreamSubscription._add","_EventSinkWrapper.addError","_SinkTransformerStreamSubscription._addError","_EventSinkWrapper.close","_SinkTransformerStreamSubscription._close","_SinkTransformerStreamSubscription._onPause","_SinkTransformerStreamSubscription._onResume","_SinkTransformerStreamSubscription._onCancel","_SinkTransformerStreamSubscription._handleData","_SinkTransformerStreamSubscription._handleError","_SinkTransformerStreamSubscription._handleDone","_SinkTransformerStreamSubscription._#_SinkTransformerStreamSubscription#_transformerSink#A","_SinkTransformerStreamSubscription._subscription","_BoundSinkStream.listen","_SinkTransformerStreamSubscription","_BoundSinkStream.listen[function-entry$1]","_BoundSinkStream.listen[function-entry$1$onDone$onError]","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.runUnaryGuarded","_CustomZone.runBinaryGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone.createTimer","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runBinaryGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.createTimer","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_IdentityHashMap._computeHashCode","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","ListBase.iterator","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.map","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.sublist","ListBase.sublist[function-entry$1]","ListBase.getRange","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.containsKey","MapBase.length","MapBase.toString","MapBase.mapToString.","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.keys","MapView.toString","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","_JsonDecoderSink.close","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","_UnicodeSubsetEncoder.startChunkedConversion","_UnicodeSubsetEncoderSink.close","_UnicodeSubsetEncoderSink.addSlice","Base64Codec.normalize","Base64Encoder.startChunkedConversion","_Utf8Base64EncoderSink","_AsciiBase64EncoderSink","_Base64Encoder.createBuffer","_Base64Encoder.encode","_BufferCachingBase64Encoder.createBuffer","Uint8List.view","_Base64EncoderSink.add","_Base64EncoderSink.close","_Base64EncoderSink.addSlice","_AsciiBase64EncoderSink._add","_Utf8Base64EncoderSink._add","ByteConversionSink.addSlice","_ByteAdapterSink.add","_ByteAdapterSink.close","_ConverterStreamEventSink.add","_ConverterStreamEventSink.addError","_ConverterStreamEventSink.close","Converter.startChunkedConversion","Converter.bind","Stream.eventTransformed","Converter.bind.","JsonCodec.decode","JsonCodec.decoder","JsonDecoder.startChunkedConversion","_JsonDecoderSink","LineSplitter.bind","LineSplitter.bind.","_LineSplitterEventSink","_LineSplitterSink.addSlice","_LineSplitterSink.close","_LineSplitterSink._addLines","_LineSplitterSink._addCarry","_LineSplitterSink._useCarry","_LineSplitterEventSink.addError","_LineSplitIterable.iterator","_LineSplitIterator.moveNext","_LineSplitIterator.current","StringConversionSink.add","StringConversionSink.asUtf8Sink","_Utf8ConversionSink._","_Utf8ConversionSink","_StringSinkConversionSink.close","_StringSinkConversionSink.addSlice","_StringSinkConversionSink.add","_StringSinkConversionSink.asUtf8Sink","_Utf8StringSinkAdapter","_StringAdapterSink.add","_StringAdapterSink.addSlice","_StringAdapterSink.close","_Utf8StringSinkAdapter.close","_Utf8StringSinkAdapter.add","_Utf8StringSinkAdapter.addSlice","_Utf8ConversionSink.close","StringBuffer.isEmpty","_Utf8ConversionSink.add","_Utf8ConversionSink.addSlice","Utf8Codec.decode","Utf8Encoder.convert","Utf8Encoder.startChunkedConversion","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","_Utf8EncoderSink.close","_Utf8EncoderSink.addSlice","Utf8Decoder.convert","Utf8Decoder.startChunkedConversion","Utf8Decoder.bind","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.flush","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","Duration.==","Duration.hashCode","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.map","Iterable.contains","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.firstWhere","Iterable.firstWhere[function-entry$1]","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","_StreamSinkImpl.add","_StreamSinkImpl.addError","_StreamSinkImpl.close","_StreamSinkImpl._closeTarget","_StreamSinkImpl._completeDoneValue","_StreamSinkImpl._completeDoneError","_StreamSinkImpl._controller","_StreamSinkImpl._controllerInstance","_StreamSinkImpl._controller.","ProcessStartMode.toString","ProcessException.toString","jsify._convert","promiseToFuture.","NullRejectionException.toString","_JSRandom.nextDouble","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","AndroidTool.call","AndroidTool.call[function-entry$1]","AvdManager.launchEmulator","AvdManager._createEmulator","AvdManager._startEmulator","AvdManager._enableKvm","AvdManager._waitForBoot","AvdManager.launchEmulator.","AvdManager._createEmulator.","AvdManager._startEmulator.","AvdManager._enableKvm.","retry","AvdManager._waitForBoot.","AvdManager._waitForBoot..","_BootNotCompleted.toString","SdkManager.ensureSdk","SdkManager._ensureCmdlineTools","SdkManager._ensureBuildTools","SdkManager.ensureSdk.","SdkManager._ensureCmdlineTools.","SdkManager._ensureBuildTools.","ShellScript|run.","AndroidAbi._enumToString","AndroidAbi.toString","AndroidAbi.parse.","AndroidAbi.allAbis.","AndroidApiLevel.toString","AndroidApiLevel._enumToString","AndroidApiLevel.parse.invalidApiLevel","AndroidApiLevel.parse.","AndroidApiLevel.allApiLevels.","AndroidSystemImageTarget._enumToString","AndroidSystemImageTarget.toString","AndroidSystemImageTarget.parse.","AndroidSystemImageTarget.allTags.","ChildProcess|spawn.","NodeReadableStream|get#stream.onData","NodeReadableStream|get#stream.onError","NodeReadableStream|get#stream.onDone","NodeReadableStream|get#stream[function-entry$0].onDone","NodeReadableStream|get#stream.","EventEmitter|once.","EventEmitter|once[function-entry$0].","EventEmitter|once[function-entry$1].","EventEmitter|once[function-entry$2].","processManager.","NodeProcessManager","NodeProcessManager.run","NodeProcess.stdout","NodeProcess.stderr","NodeProcessManager.runSync","NodeProcessManager.start","NodeProcessManager.start[function-entry$1$mode]","NodeProcess","NodeProcessManager.close","NodeProcessManager.run.","NodeProcess._init","_StreamController.sink","NodeProcess.exitCode","NodeProcess.pid","NodeProcess.close","NodeProcess.kill","NodeProcess._stdinSub","NodeProcess._init.","OS._enumToString","Arch._enumToString","StreamForward|forward.","StreamForward_forward_closure","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","RetryOptions.delay","Duration.*","RetryOptions.retry","_wrapAwaitedExpression","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","_action.","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","nullFuture","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","Future._nullFuture","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","androidAvdHome","AvdManager._avdmanager","AvdManager._emulator","AvdManager._adb","androidHome","SdkManager._sdkmanager","SdkManager._cmdlineToolsPath","processManager","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_rand","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","IndexError","","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","ArrayIterator","JSArray","ListIterator","ListBase","Iterable","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","bind","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","markFixedList","forArch","SdkManager","AvdManager","_action_closure","AndroidAbi_parse_closure","bool","_AssertionError","allAbis","filled","growable","fixed","range","markFixed","MappedListIterable","AndroidAbi_allAbis_closure","ListIterable","of","iterableToShortString","checkNotNegative","_of","AndroidSystemImageTarget_parse_closure","allTags","AndroidSystemImageTarget_allTags_closure","AndroidApiLevel_parse_invalidApiLevel","parseInt","AndroidApiLevel_parse_closure","allApiLevels","AndroidApiLevel_allApiLevels_closure","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","ShellScript_run_closure","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","WhereIterator","Iterator","noElement","checkValidRange","ParsedPath","String","_validateArgList_closure","_getPlatformStyle","base","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","StringMatch","makeNative","_AllMatchesIterable","_AllMatchesIterator","_MatchImplementation","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","unmodifiable","_uriDecode","CodeUnits","_hexCharPairToByte","_convertIntercepted","_Utf8Decoder","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","from","markUnmodifiableList","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_makeScheme","_makeUserInfo","_makeHost","_makeQuery","_makeFragment","_makePort","_makePath","_normalizeRelativePath","_removeDotSegments","_internal","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_Uri__makePath_closure","_normalizeOrSubstring","_normalizePath","_normalize","_normalizeEscape","_fail","_escapeChar","_uriEncode","_Utf8Encoder","_defaultPort","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_checkPadding","_create1","any","_SyncCompleter","Future_any_onError","EventEmitter_once_closure","_AsyncCompleter","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","JsLinkedHashMap","Symbol","ConstantMapView","mapToString","MapBase_mapToString_closure","MapBase","LinkedHashMapKeyIterable","Map","Duration","_identityHashCodeProperty","LinkedHashMapCell","processManager_closure","_empty","MappedIterator","wait","StreamConsumer","_StreamSinkImpl","nullFuture_closure","_PendingEvents","named","Future_wait_handleError","Null","_Cell","EfficientLengthMappedIterable","CastList","CastIterator","EfficientLengthIterable","_EfficientLengthCastIterable","_IOSinkImpl","_StreamSinkWrapper","_ControllerStream","NodeProcess__init_closure","StreamForward|forward","Stream","_ControllerSubscription","_StreamController__subscribe_closure","_StreamController__recordCancel_complete","_AddStreamState_cancel_closure","_StreamControllerLifecycle","_EventDispatch","_PendingEvents_schedule_closure","_BufferingStreamSubscription__sendDone_sendDone","_DelayedError","_BufferingStreamSubscription__sendError_sendError","_DelayedData","NodeReadableStream_get_stream_onData","NodeReadableStream_get_stream_closure","NodeReadableStream_get_stream_onDone","NodeReadableStream_get_stream_onError","_SyncStreamController","ChildProcess_spawn_closure","jsify__convert","_IdentityHashMap","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","_KeysOrValues","_KeysOrValuesOrElementsIterator","_newHashTable","_setTableEntry","_UnreachableError","AvdManager_launchEmulator_closure","AvdManager__waitForBoot_closure","RetryOptions","AvdManager__waitForBoot__closure","delayed","Future_Future$delayed_closure","StreamTransformer","NodeProcessManager_run_closure","ProcessResult","FutureExtensions|ignore","_BoundSinkStream","LineSplitter_bind_closure","EventSink","_EventSinkWrapper","_EventSink","_StreamSinkImpl__controller_closure","_StringAdapterSink","Converter_bind_closure","Converter","_ConverterStreamEventSink","Sink","_Base64Encoder","_BufferCachingBase64Encoder","encodeChunk","view","ByteConversionSink","_ByteAdapterSink","_Utf8EncoderSink","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","AvdManager__startEmulator_closure","AvdManager__enableKvm_closure","AvdManager__createEmulator_closure","SdkManager_ensureSdk_closure","SdkManager__ensureBuildTools_closure","_LineSplitIterable","_LineSplitIterator","SdkManager__ensureCmdlineTools_closure","promiseToFuture_closure","NullRejectionException","capture","StackZoneSpecification","Expando","_ZoneSpecification","_Node","_checkType","Trace_toString_closure","int","hash","combine","finish","Instantiation1","_badExpandoKey","Chain","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","WhereIterable","Trace__parseVM_closure","checkValueInInterval","tooFew","EmptyIterable","SkipIterator","checkNotNull","_currentUriBase","_packageNameEnd","Context_split_closure","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_UnicodeSubsetEncoderSink","_validateMimeType","EfficientLengthTakeIterable","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","HashMap_HashMap$from_closure","wrapMain__closure","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","castFrom","CastMap","UnmodifiableMapView","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","_JsonMap","_JsonMapKeyIterable","_StringSinkConversionSink","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSIndexable","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","Instantiation","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","ByteBuffer","NativeByteBuffer","NativeTypedData","ByteData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","Float32List","NativeFloat32List","Float64List","NativeFloat64List","Int16List","NativeInt16List","Int32List","NativeInt32List","Int8List","NativeInt8List","Uint16List","NativeUint16List","Uint32List","NativeUint32List","Uint8ClampedList","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Error","_Completer","StreamTransformerBase","_StreamController","_SyncStreamControllerDispatch","_StreamImpl","_DelayedEvent","_DelayedDone","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_Base64EncoderSink","_FusedCodec","Encoding","JsonCodec","JsonDecoder","LineSplitter","_LineSplitterSink","StringConversionSink","Utf8Codec","Utf8Encoder","Utf8Decoder","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","IOSink","ProcessStartMode","_JSRandom","ActionResult","Process","AndroidAbi","AndroidApiLevel","AndroidSystemImageTarget","OS","Arch","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","__Utf8EncoderSink&_Utf8Encoder&StringConversionSink","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","FutureExtensions|_ignore","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_nullFuture","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","_avdmanager","_emulator","_adb","_sdkmanager","_cmdlineToolsPath","posix","platform","_uriRegExp","_windowsRegExp","disableKey","Record","launch_android_emulator___action$closure","getInterceptor$","getInterceptor$asx","types_AndroidApiLevel_parse$closure","types_AndroidSystemImageTarget_parse$closure","types_AndroidAbi_parse$closure","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","getInterceptor$s","core_Uri_decodeComponent$closure","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async__FutureExtensions__ignore$closure","frame_Frame___parseVM_tearOff$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ax","getInterceptor$n","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","target","_captured_levelInt_0","apiLevel","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_script_0","host","_captured_tables_0","_captured_fullScript_0","_captured_#this_0","_captured_T_2","_captured_completer_0","_captured_sb_1","result","_captured_namedArgumentList_1","arguments","_captured_pos_1","dart:async#_future","_captured_eagerError_2","start","_init","future","_captured_dispatch_1","_captured_controller_0","_captured_onData_1","_captured_onDone_2","_captured_onError_3","_captured__convertedObjects_0","maxAttempts","call","run","_captured_echoOutput_0","stderr","stdout","_addError","_close","_add","_captured_targetTriplet_0","_captured_buildToolsPackage_0","_captured_longest_0","trace","_captured_frame_0","skipWhile","level","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","_captured_K_1","_captured_V_2","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","close","_captured_mainFn_0","_captured_computation_0","_captured_cleanUp_3","immediate","zoneValue","immediateError","_captured_closeWhenDone_0","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","add","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","dart:_rti#_precomputed1","dart:_rti#_as","dart:core#_contents","iterator","moveNext","dart:_rti#_eval","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","ensureSdk","launchEmulator","firstWhere","dart:core#_enumToString","dart:core#_name","abi","dart:_internal#_f","dart:_internal#_source","tag","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","runGuarded","next","storedCallback","dart:core#_duration","dart:_interceptors#_tdivFast","padLeft","dart:_interceptors#_tdivSlow","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","joinAll","style","isRootRelative","rootLength","substring","root","needsSeparator","separators","separator","containsSeparator","parts","dart:_internal#_iterator","last","getRoot","isSeparator","dart:_internal#_startIndex","dart:_internal#_endIndex","dart:_internal#_endOrLength","dart:_internal#_start","package:path/src/context.dart#_current","scheme","path","endsWith","toFilePath","dart:core#_text","dart:core#_#_Uri#_text#FI","dart:core#_host","dart:core#_userInfo","dart:core#_port","dart:core#_query","dart:core#_fragment","dart:core#_#_Uri#hashCode#FI","dart:core#_#_Uri#pathSegments#FI","contains","allMatches","dart:_js_helper#_nativeRegExp","isEmpty","dart:_js_helper#_input","dart:_js_helper#_index","dart:_js_helper#_current","pattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","dart:_js_helper#_nativeAnchoredRegExp","offset","indexOf","matchAsPrefix","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","relativeRootPattern","pathSegments","startsWith","dart:convert#_allowMalformed","decode","dart:_internal#_string","convert","convertGeneral","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_convertRecursive","decodeGeneral","codeUnitAt","hasAbsolutePath","hasAuthority","dart:_interceptors#_shrReceiverPositive","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","dart:convert#_bufferIndex","sublist","dart:convert#_buffer","dart:convert#_carry","dart:convert#_writeSurrogate","uri","replaceRange","dart:core#_uri","dart:core#_pathStart","dart:core#_queryStart","dart:core#_hostStart","dart:core#_portStart","dart:core#_schemeCache","dart:core#_computeScheme","dart:core#_schemeEnd","dart:core#_hashCodeCache","dart:core#_fragmentStart","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","normalize","exitCode","dart:io#_mode","executable","package:actions/src/node/process_manager.dart#_jsProcess","dart:async#_complete","dart:_js_helper#_length","addAll","containsKey","dart:_js_helper#_strings","hashMapCellValue","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","dart:_interceptors#_addAllFromArray","noSuchMethod","argumentCount","names","forEach","dart:_internal#_name","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","first","keys","dart:_js_helper#_map","dart:_js_helper#_modifications","dart:_js_helper#_cell","dart:_js_helper#_first","hashMapCellKey","dart:_js_helper#_next","dart:_js_helper#_keys","dart:_js_helper#_values","dart:_js_helper#_jsIndex","dart:collection#_map","userInfo","port","hasQuery","query","hasFragment","fragment","hasPort","hashCode","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_newLinkedCell","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","package:actions/src/node/process_manager.dart#_activeProcesses","values","package:actions/src/node/process_manager.dart#_stdin","package:actions/src/node/process_manager.dart#_stdout","package:actions/src/node/process_manager.dart#_stderr","package:actions/src/node/process_manager.dart#_stdinSub","cancel","package:actions/src/node/process_manager.dart#_stdinSink","dart:io#_isBound","dart:io#_isClosed","dart:io#_controllerInstance","dart:io#_closeTarget","dart:io#_doneCompleter","dart:io#_target","dart:async#_target","dart:io#_completeDoneValue","dart:io#_completeDoneError","dart:async#_cancel","dart:async#_cancelFuture","dart:async#_pending","dart:async#_onCancel","remaining","dart:_late_helper#_value","dart:_late_helper#_name","dart:_late_helper#_readLocal","dart:async#_ensureDoneFuture","dart:async#_badEventState","dart:async#_sendDone","dart:async#_ensurePendingEvents","lastPendingEvent","firstPendingEvent","dart:async#_varData","varData","dart:async#_doneFuture","package:actions/src/node/process_manager.dart#_init","pid","getRange","stdin","listen","count","dart:async#_controller","dart:async#_subscribe","dart:async#_pendingEvents","addSubscription","resume","dart:async#_setPendingEvents","dart:async#_guardCallback","dart:async#_onDone","dart:async#_onError","dart:async#_onData","dart:async#_recordCancel","onCancel","whenComplete","addStreamFuture","dart:async#_checkState","dart:async#_onPause","dart:async#_onResume","schedule","onResume","pause","onPause","perform","onListen","dart:io#_hasError","dart:io#_controllerCompleter","dart:io#_encoding","addError","dart:async#_addError","dart:async#_sendError","runBinaryGuarded","runUnaryGuarded","dart:async#_add","dart:async#_sendData","dart:async#_subscription","dart:async#_close","dart:async#_addPending","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_get","dart:collection#_getBucket","dart:collection#_findBucketIndex","dart:collection#_computeHashCode","dart:collection#_offset","dart:collection#_current=","map","dart:_js_helper#_elements","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_containsKey","package:actions/src/android/avd_manager.dart#_createEmulator","package:actions/src/android/avd_manager.dart#_enableKvm","package:actions/src/android/avd_manager.dart#_startEmulator","package:actions/src/android/avd_manager.dart#_waitForBoot","maxDelay","randomizationFactor","delayFactor","delay","createTimer","nextDouble","round","failOnNonZeroExit","defaultArgs","defaultStdinCmd","exe","dart:async#_#_SinkTransformerStreamSubscription#_transformerSink#A=","dart:async#_sinkMapper","dart:async#_stream","dart:async#_handleData","dart:async#_handleDone","dart:async#_handleError","dart:async#_sink","dart:io#_controller","addStream","dart:convert#_sink","addSlice","dart:convert#_skipLeadingLF","dart:convert#_addLines","dart:convert#_useCarry","dart:convert#_multiCarry","dart:convert#_eventSink","startChunkedConversion","dart:convert#_chunkedSink","asUtf8Sink","bufferCache","dart:convert#_encoder","dart:convert#_alphabet","dart:convert#_add","encode","createBuffer","toRadixString","dart:convert#_decoder","flush","trim","runSync","package:actions/src/android/sdk_manager.dart#_ensureCmdlineTools","package:actions/src/android/sdk_manager.dart#_ensureBuildTools","split","dart:convert#_source","dart:convert#_end","dart:convert#_start","dart:convert#_current","dart:convert#_lineEnd","dart:convert#_lineStart","dart:_interceptors#_defaultSplit","isUndefined","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","dart:_js_helper#_genericClosure","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","library","prettyUri","pathFromUri","relative","absolute","pathsEqual","removeAt","insertAll","removeLast","removeTrailingSeparators","codeUnitsEqual","toList","setRange","skip","dart:_internal#_skipCount","resolve","resolveUri","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_isPort","removeFragment","replaceFirst","insert","package:path/src/context.dart#_needsNormalization","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_internal#_hasSkipped","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","runTearDowns","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","cast","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","entries","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","dart:convert#_stringSink","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","take","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isFinite","remainder","abs","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","internalSet","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_captured_this_0","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","isCompleted","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_captured_computation_0","dart:async#_captured_result_1","dart:async#_captured_T_2","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","dart:async#_captured_completer_0","dart:async#_captured_T_1","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_ignore","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","transform","dart:async#_captured_future_1","stream","sink","dart:async#_isCanceled","hasListener","dart:async#_isInitialState","isClosed","isPaused","dart:async#_isAddingStream","dart:async#_mayAddEvent","done","dart:async#_closeUnchecked","dart:async#_recordPause","dart:async#_recordResume","dart:async#_createSubscription","dart:async#_isInputPaused","dart:async#_isClosed","dart:async#_waitsForCancel","dart:async#_inCallback","dart:async#_hasPending","dart:async#_isPaused","dart:async#_canFire","dart:async#_mayResumeInput","dart:async#_cancelOnError","dart:async#_decrementPauseCount","dart:async#_onListen","isScheduled","dart:async#_eventScheduled","cancelSchedule","handleNext","dart:async#_captured_dispatch_1","dart:async#_stateData","dart:async#_hasValue","dart:async#_transformerSink","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","encoder","dart:convert#_allowInvalid","dart:convert#_urlSafe","fuse","dart:convert#_captured_this_0","dart:convert#_toEncodable","dart:convert#_addCarry","asStringSink","convertSingle","convertChunked","dart:core#_box_0","dart:core#_captured_sb_1","inSeconds","inMilliseconds","inMicroseconds","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","writeln","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:io#_captured_this_0","dart:io#_encodingMutable","errorCode","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","onExit","package:actions/src/android/avd_manager.dart#_captured_this_0","package:actions/src/android/avd_manager.dart#_captured_maxAttempts_0","package:actions/src/android/sdk_manager.dart#_captured_buildToolsPackage_0","package:actions/src/android/sdk_manager.dart#_captured_targetTriplet_0","package:actions/src/android/shell_script.dart#_captured_fullScript_0","package:actions/src/android/shell_script.dart#_captured_#this_1","package:actions/src/android/types.dart#_captured_value_0","package:actions/src/android/types.dart#_captured_apiLevel_0","package:actions/src/android/types.dart#_captured_levelInt_0","package:actions/src/android/types.dart#_captured_target_0","package:actions/src/node/child_process.dart#_captured_controller_0","package:actions/src/node/child_process.dart#_captured_#this_0","package:actions/src/node/child_process.dart#_captured_onData_1","package:actions/src/node/child_process.dart#_captured_onDone_2","package:actions/src/node/child_process.dart#_captured_onError_3","package:actions/src/node/child_process.dart#_captured_completer_0","package:actions/src/node/child_process.dart#_captured_T_1","package:actions/src/node/process_manager.dart#_captured_echoOutput_0","package:actions/src/node/process_manager.dart#_captured_stdout_1","package:actions/src/node/process_manager.dart#_captured_stderr_1","kill","package:actions/src/node/process_manager.dart#_box_0","package:actions/src/node/process_manager.dart#_captured_this_0","package:aws_common/src/util/stream.dart#_captured_controller_0","package:aws_common/src/util/stream.dart#_captured_T_1","package:aws_common/src/util/stream.dart#_captured_closeWhenDone_0","package:aws_common/src/util/stream.dart#_captured_controller_1","package:aws_common/src/util/stream.dart#_captured_completer_2","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/launch_android_emulator.dart#_captured_script_0","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$add","$index","$indexSet","$mul","$sub","$eq","$mod","$ge","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$lt","$gt","$le","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldNI","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","typeAcceptsNull","sync","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","writeFinalChunk","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","_callMethodUnchecked1","NullableObjectUtilExtension|jsify","_callMethodUnchecked2","FunctionToJSExportedDartFunction|get#toJS","_lineStart","_columnStart","_maps","_chains","JSPromiseToFuture|get#toDart","_callMethodUnchecked4","FileSystem|rmSync","JSObjectUtilExtension|getProperty","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_handleIEtoString","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","_rtiBind","sharedEmptyArray","_mayComplete","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_isAddingStream","_mayAddEvent","_isInputPaused","_isCanceled","_closeUnchecked","_isInitialState","zoned","_registerDataHandler","_registerDoneHandler","_recordPause","_recordResume","_decrementPauseCount","_hasPending","_mayResumeInput","_waitsForCancel","_createSubscription","_isClosed","_transformerSink","_delegate","_hasTableEntry","identityHashCode","_isUpgraded","parseHexByte","eventTransformed","_addCarry","StringBuffer.isNotEmpty","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","jsonDecode","EnumName|get#name","_activeProcesses","_stdin","_stdout","_stderr","_doneCompleter","_StreamSinkImpl._doneCompleter","NodeChildProcess|get#onSpawn","NodeChildProcess|get#onError","NodeChildProcess|get#onClose","NodeChildProcess|get#onExit","Uint8ListToJSUint8Array|get#toJS","fromList","_microseconds","<","_lineStarts","_consumeValue","identifier","_disabled","_createNode","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","_successTearDowns","_errorTearDowns"], + "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/async/timer.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/io/process.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/actions.dart","/Users/kylechen/amplify-flutter/actions/lib/src/android/android_tool.dart","/Users/kylechen/amplify-flutter/actions/lib/src/android/avd_manager.dart","/Users/kylechen/amplify-flutter/actions/lib/src/android/shell_script.dart","/Users/kylechen/amplify-flutter/actions/lib/src/android/types.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/child_process.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/src/util.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/aws_common-0.6.1/lib/src/util/stream.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/kylechen/amplify-flutter/actions/bin/launch_android_emulator.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/core.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/tool_cache.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/fs.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/process.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/async/stream_transformers.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/convert/byte_conversion.dart","org-dartlang-sdk:///lib/convert/chunked_conversion.dart","org-dartlang-sdk:///lib/convert/converter.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/convert/line_splitter.dart","org-dartlang-sdk:///lib/convert/string_conversion.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/io/io_sink.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/kylechen/amplify-flutter/actions/lib/src/action_context.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/retry-3.1.2/lib/retry.dart","/Users/kylechen/amplify-flutter/actions/lib/src/android/sdk_manager.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/process_manager.dart","/Users/kylechen/amplify-flutter/actions/lib/src/os.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/core/string_buffer.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","staticInteropGlobalContext","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldNI","throwLateFieldADI","_Cell.named","_ensureNativeList","NativeInt8List._create1","NativeUint8List.view","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.delayed","Future.wait","Future.error","_Future.immediateError","Future.any","Completer.sync","_Completer.future","FutureExtensions.ignore","FutureExtensions._ignore","_Future.value","_Future.zoneValue","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","StreamController","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","Timer","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","Timer._createPeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._empty","HashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Base64Encoder.encodeChunk","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","ListIterable.iterator","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","ProcessException","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_noJsifyRequired","jsify","getProperty","callMethod","_callMethodUnchecked0","promiseToFuture","Completer","max","pow","wrapMain","AndroidTool","_BootNotCompleted","ShellScript|run","AndroidAbi.parse","AndroidAbi.forArch","AndroidAbi.allAbis","AndroidApiLevel.parse","AndroidApiLevel.allApiLevels","AndroidSystemImageTarget.parse","AndroidSystemImageTarget.allTags","ChildProcess|execSync","ChildProcess|spawn","NodeReadableStream|get#stream","_StreamController.stream","EventEmitter|once","unreachable","StreamForward.forward","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","_action","Core|getRequiredInput","printString","Core|getTypedInput","Core|getInput","Core|withGroup","Core|setFailed","ToolCache|find","ToolCache|downloadTool","ToolCache|extractZip","ToolCache|cacheDir","FileSystem|withTempDir","Process|get#platform","Process|get#arch","Process|get#env","Process|getEnv","Process|exit","current","join","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.firstWhere","JSArray.elementAt","JSArray.sublist","JSArray.sublist[function-entry$1]","JSArray.getRange","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.round","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","_CastListBase.getRange","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.length","CastMap.forEach.","CastMap_forEach_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","nullFuture.","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.map","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap.addAll","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.","JsLinkedHashMap_values_closure","JsLinkedHashMap.addAll.","JsLinkedHashMap_addAll_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","initHooks.","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","NativeUint8List.sublist","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","Future.delayed.","Future.wait.handleError","Future.wait.","Future_wait_closure","Future.any.onValue","_Completer.isCompleted","Future_any_onValue","Future.any.onError","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_AsyncCompleter._completeError","_SyncCompleter.complete","_SyncCompleter.complete[function-entry$0]","_SyncCompleter._completeError","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future.whenComplete","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._complete","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController.addStream","_AddStreamState","_StreamControllerAddStreamState","_StreamController.isPaused","_StreamController._ensureDoneFuture","_StreamController.add","_StreamController.addError","_StreamController.addError[function-entry$1]","_StreamController.close","_StreamController._add","_StreamController._addError","_StreamController._close","_StreamController._subscribe","_BufferingStreamSubscription","_BufferingStreamSubscription.zoned","_StreamController._recordCancel","_StreamController.onListen","_StreamController.onCancel","_StreamController._subscribe.","_StreamController._recordCancel.complete","_SyncStreamControllerDispatch._sendData","_SyncStreamControllerDispatch._sendError","_SyncStreamControllerDispatch._sendDone","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onCancel","_ControllerSubscription._onPause","_StreamController._recordPause","_ControllerSubscription._onResume","_StreamController._recordResume","_StreamSinkWrapper.add","_StreamSinkWrapper.addError","_StreamSinkWrapper.close","_AddStreamState.cancel","_AddStreamState.cancel.","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription.pause","_PendingEvents.cancelSchedule","_BufferingStreamSubscription.resume","_BufferingStreamSubscription.cancel","_BufferingStreamSubscription._cancel","_BufferingStreamSubscription._add","_BufferingStreamSubscription._addError","_BufferingStreamSubscription._close","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._onCancel","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._sendError","_BufferingStreamSubscription._sendDone","_BufferingStreamSubscription._guardCallback","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_BufferingStreamSubscription._pending","_BufferingStreamSubscription._sendError.sendError","_BufferingStreamSubscription._sendDone.sendDone","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_StreamImpl.listen[function-entry$1$onDone$onError]","_DelayedEvent.next","_DelayedData.perform","_DelayedError.perform","_DelayedDone.perform","_DelayedDone.next","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_EventSinkWrapper.add","_SinkTransformerStreamSubscription._add","_EventSinkWrapper.addError","_SinkTransformerStreamSubscription._addError","_EventSinkWrapper.close","_SinkTransformerStreamSubscription._close","_SinkTransformerStreamSubscription._onPause","_SinkTransformerStreamSubscription._onResume","_SinkTransformerStreamSubscription._onCancel","_SinkTransformerStreamSubscription._handleData","_SinkTransformerStreamSubscription._handleError","_SinkTransformerStreamSubscription._handleDone","_SinkTransformerStreamSubscription._#_SinkTransformerStreamSubscription#_transformerSink#A","_SinkTransformerStreamSubscription._subscription","_BoundSinkStream.listen","_SinkTransformerStreamSubscription","_BoundSinkStream.listen[function-entry$1]","_BoundSinkStream.listen[function-entry$1$onDone$onError]","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.runUnaryGuarded","_CustomZone.runBinaryGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone.createTimer","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runBinaryGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.createTimer","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_IdentityHashMap._computeHashCode","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","ListBase.iterator","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.map","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.sublist","ListBase.sublist[function-entry$1]","ListBase.getRange","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.containsKey","MapBase.length","MapBase.toString","MapBase.mapToString.","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.keys","MapView.toString","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","_JsonDecoderSink.close","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","_UnicodeSubsetEncoder.startChunkedConversion","_UnicodeSubsetEncoderSink.close","_UnicodeSubsetEncoderSink.addSlice","Base64Codec.normalize","Base64Encoder.startChunkedConversion","_Utf8Base64EncoderSink","_AsciiBase64EncoderSink","_Base64Encoder.createBuffer","_Base64Encoder.encode","_BufferCachingBase64Encoder.createBuffer","Uint8List.view","_Base64EncoderSink.add","_Base64EncoderSink.close","_Base64EncoderSink.addSlice","_AsciiBase64EncoderSink._add","_Utf8Base64EncoderSink._add","ByteConversionSink.addSlice","_ByteAdapterSink.add","_ByteAdapterSink.close","_ConverterStreamEventSink.add","_ConverterStreamEventSink.addError","_ConverterStreamEventSink.close","Converter.startChunkedConversion","Converter.bind","Stream.eventTransformed","Converter.bind.","JsonCodec.decode","JsonCodec.decoder","JsonDecoder.startChunkedConversion","_JsonDecoderSink","LineSplitter.bind","LineSplitter.bind.","_LineSplitterEventSink","_LineSplitterSink.addSlice","_LineSplitterSink.close","_LineSplitterSink._addLines","_LineSplitterSink._addCarry","_LineSplitterSink._useCarry","_LineSplitterEventSink.addError","_LineSplitIterable.iterator","_LineSplitIterator.moveNext","_LineSplitIterator.current","StringConversionSink.add","StringConversionSink.asUtf8Sink","_Utf8ConversionSink._","_Utf8ConversionSink","_StringSinkConversionSink.close","_StringSinkConversionSink.addSlice","_StringSinkConversionSink.add","_StringSinkConversionSink.asUtf8Sink","_Utf8StringSinkAdapter","_StringAdapterSink.add","_StringAdapterSink.addSlice","_StringAdapterSink.close","_Utf8StringSinkAdapter.close","_Utf8StringSinkAdapter.add","_Utf8StringSinkAdapter.addSlice","_Utf8ConversionSink.close","StringBuffer.isEmpty","_Utf8ConversionSink.add","_Utf8ConversionSink.addSlice","Utf8Codec.decode","Utf8Encoder.convert","Utf8Encoder.startChunkedConversion","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","_Utf8EncoderSink.close","_Utf8EncoderSink.addSlice","Utf8Decoder.convert","Utf8Decoder.startChunkedConversion","Utf8Decoder.bind","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.flush","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","Duration.==","Duration.hashCode","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.map","Iterable.contains","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.firstWhere","Iterable.firstWhere[function-entry$1]","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","_StreamSinkImpl.add","_StreamSinkImpl.addError","_StreamSinkImpl.close","_StreamSinkImpl._closeTarget","_StreamSinkImpl._completeDoneValue","_StreamSinkImpl._completeDoneError","_StreamSinkImpl._controller","_StreamSinkImpl._controllerInstance","_StreamSinkImpl._controller.","ProcessStartMode.toString","ProcessException.toString","jsify._convert","promiseToFuture.","NullRejectionException.toString","_JSRandom.nextDouble","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","AndroidTool.call","AndroidTool.call[function-entry$1]","AvdManager.launchEmulator","AvdManager._createEmulator","AvdManager._startEmulator","AvdManager._enableKvm","AvdManager._waitForBoot","AvdManager.launchEmulator.","AvdManager._createEmulator.","AvdManager._startEmulator.","AvdManager._enableKvm.","retry","AvdManager._waitForBoot.","AvdManager._waitForBoot..","_BootNotCompleted.toString","SdkManager.ensureSdk","SdkManager._ensureCmdlineTools","SdkManager._ensureBuildTools","SdkManager.ensureSdk.","SdkManager._ensureCmdlineTools.","SdkManager._ensureBuildTools.","ShellScript|run.","AndroidAbi._enumToString","AndroidAbi.toString","AndroidAbi.parse.","AndroidAbi.allAbis.","AndroidApiLevel.toString","AndroidApiLevel._enumToString","AndroidApiLevel.parse.invalidApiLevel","AndroidApiLevel.parse.","AndroidApiLevel.allApiLevels.","AndroidSystemImageTarget._enumToString","AndroidSystemImageTarget.toString","AndroidSystemImageTarget.parse.","AndroidSystemImageTarget.allTags.","ChildProcess|spawn.","NodeReadableStream|get#stream.onData","NodeReadableStream|get#stream.onError","NodeReadableStream|get#stream.onDone","NodeReadableStream|get#stream[function-entry$0].onDone","NodeReadableStream|get#stream.","EventEmitter|once.","EventEmitter|once[function-entry$0].","EventEmitter|once[function-entry$1].","EventEmitter|once[function-entry$2].","processManager.","NodeProcessManager","NodeProcessManager.run","NodeProcess.stdout","NodeProcess.stderr","NodeProcessManager.runSync","NodeProcessManager.start","NodeProcessManager.start[function-entry$1$mode]","NodeProcess","NodeProcessManager.close","NodeProcessManager.run.","NodeProcess._init","_StreamController.sink","NodeProcess.exitCode","NodeProcess.pid","NodeProcess.close","NodeProcess.kill","NodeProcess._stdinSub","NodeProcess._init.","OS._enumToString","Arch._enumToString","StreamForward|forward.","StreamForward_forward_closure","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","RetryOptions.delay","Duration.*","RetryOptions.retry","_wrapAwaitedExpression","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","_action.","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","nullFuture","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","Future._nullFuture","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","androidAvdHome","AvdManager._avdmanager","AvdManager._emulator","AvdManager._adb","androidHome","SdkManager._sdkmanager","SdkManager._cmdlineToolsPath","processManager","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_rand","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","IndexError","","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","ArrayIterator","JSArray","ListIterator","ListBase","Iterable","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","bind","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","markFixedList","forArch","SdkManager","AvdManager","_action_closure","AndroidAbi_parse_closure","bool","_AssertionError","allAbis","filled","growable","fixed","range","markFixed","MappedListIterable","AndroidAbi_allAbis_closure","ListIterable","of","iterableToShortString","checkNotNegative","_of","AndroidSystemImageTarget_parse_closure","allTags","AndroidSystemImageTarget_allTags_closure","AndroidApiLevel_parse_invalidApiLevel","parseInt","AndroidApiLevel_parse_closure","allApiLevels","AndroidApiLevel_allApiLevels_closure","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","ShellScript_run_closure","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","WhereIterator","Iterator","noElement","checkValidRange","ParsedPath","String","_validateArgList_closure","_getPlatformStyle","base","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","StringMatch","makeNative","_AllMatchesIterable","_AllMatchesIterator","_MatchImplementation","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","unmodifiable","_uriDecode","CodeUnits","_hexCharPairToByte","_convertIntercepted","_Utf8Decoder","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","from","markUnmodifiableList","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_makeScheme","_makeUserInfo","_makeHost","_makeQuery","_makeFragment","_makePort","_makePath","_normalizeRelativePath","_removeDotSegments","_internal","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_Uri__makePath_closure","_normalizeOrSubstring","_normalizePath","_normalize","_normalizeEscape","_fail","_escapeChar","_uriEncode","_Utf8Encoder","_defaultPort","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_checkPadding","_create1","any","_SyncCompleter","Future_any_onError","EventEmitter_once_closure","_AsyncCompleter","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","JsLinkedHashMap","Symbol","ConstantMapView","mapToString","MapBase_mapToString_closure","MapBase","LinkedHashMapKeyIterable","Map","Duration","_identityHashCodeProperty","LinkedHashMapCell","processManager_closure","_empty","MappedIterator","wait","StreamConsumer","_StreamSinkImpl","nullFuture_closure","_PendingEvents","named","Future_wait_handleError","Null","_Cell","EfficientLengthMappedIterable","CastList","CastIterator","EfficientLengthIterable","_EfficientLengthCastIterable","_IOSinkImpl","_StreamSinkWrapper","_ControllerStream","NodeProcess__init_closure","StreamForward|forward","Stream","_ControllerSubscription","_StreamController__subscribe_closure","_StreamController__recordCancel_complete","_AddStreamState_cancel_closure","_StreamControllerLifecycle","_EventDispatch","_PendingEvents_schedule_closure","_BufferingStreamSubscription__sendDone_sendDone","_DelayedError","_BufferingStreamSubscription__sendError_sendError","_DelayedData","NodeReadableStream_get_stream_onData","NodeReadableStream_get_stream_closure","NodeReadableStream_get_stream_onDone","NodeReadableStream_get_stream_onError","_SyncStreamController","ChildProcess_spawn_closure","jsify__convert","_IdentityHashMap","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","_KeysOrValues","_KeysOrValuesOrElementsIterator","_newHashTable","_setTableEntry","_UnreachableError","AvdManager_launchEmulator_closure","AvdManager__waitForBoot_closure","RetryOptions","AvdManager__waitForBoot__closure","delayed","Future_Future$delayed_closure","StreamTransformer","NodeProcessManager_run_closure","ProcessResult","FutureExtensions|ignore","_BoundSinkStream","LineSplitter_bind_closure","EventSink","_EventSinkWrapper","_EventSink","_StreamSinkImpl__controller_closure","_StringAdapterSink","Converter_bind_closure","Converter","_ConverterStreamEventSink","Sink","_Base64Encoder","_BufferCachingBase64Encoder","encodeChunk","view","ByteConversionSink","_ByteAdapterSink","_Utf8EncoderSink","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","AvdManager__startEmulator_closure","AvdManager__enableKvm_closure","AvdManager__createEmulator_closure","SdkManager_ensureSdk_closure","SdkManager__ensureBuildTools_closure","_LineSplitIterable","_LineSplitIterator","SdkManager__ensureCmdlineTools_closure","promiseToFuture_closure","NullRejectionException","capture","StackZoneSpecification","Expando","_ZoneSpecification","_Node","_checkType","Trace_toString_closure","int","hash","combine","finish","Instantiation1","_badExpandoKey","Chain","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","WhereIterable","Trace__parseVM_closure","checkValueInInterval","tooFew","EmptyIterable","SkipIterator","checkNotNull","_currentUriBase","_packageNameEnd","Context_split_closure","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_UnicodeSubsetEncoderSink","_validateMimeType","EfficientLengthTakeIterable","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","HashMap_HashMap$from_closure","wrapMain__closure","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","castFrom","CastMap","UnmodifiableMapView","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","_JsonMap","_JsonMapKeyIterable","_StringSinkConversionSink","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSIndexable","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","Instantiation","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","ByteBuffer","NativeByteBuffer","NativeTypedData","ByteData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","Float32List","NativeFloat32List","Float64List","NativeFloat64List","Int16List","NativeInt16List","Int32List","NativeInt32List","Int8List","NativeInt8List","Uint16List","NativeUint16List","Uint32List","NativeUint32List","Uint8ClampedList","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Error","_Completer","StreamTransformerBase","_StreamController","_SyncStreamControllerDispatch","_StreamImpl","_DelayedEvent","_DelayedDone","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_Base64EncoderSink","_FusedCodec","Encoding","JsonCodec","JsonDecoder","LineSplitter","_LineSplitterSink","StringConversionSink","Utf8Codec","Utf8Encoder","Utf8Decoder","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","IOSink","ProcessStartMode","_JSRandom","ActionResult","Process","AndroidAbi","AndroidApiLevel","AndroidSystemImageTarget","OS","Arch","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","__Utf8EncoderSink&_Utf8Encoder&StringConversionSink","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","FutureExtensions|_ignore","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_nullFuture","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","_avdmanager","_emulator","_adb","_sdkmanager","_cmdlineToolsPath","posix","platform","_uriRegExp","_windowsRegExp","disableKey","Record","launch_android_emulator___action$closure","getInterceptor$","getInterceptor$asx","types_AndroidApiLevel_parse$closure","types_AndroidSystemImageTarget_parse$closure","types_AndroidAbi_parse$closure","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","getInterceptor$s","core_Uri_decodeComponent$closure","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async__FutureExtensions__ignore$closure","frame_Frame___parseVM_tearOff$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ax","getInterceptor$n","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","target","_captured_levelInt_0","apiLevel","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_script_0","host","_captured_tables_0","_captured_fullScript_0","_captured_#this_0","_captured_T_2","_captured_completer_0","_captured_sb_1","result","_captured_namedArgumentList_1","arguments","_captured_pos_1","dart:async#_future","_captured_eagerError_2","start","_init","future","_captured_dispatch_1","_captured_controller_0","_captured_onData_1","_captured_onDone_2","_captured_onError_3","_captured__convertedObjects_0","maxAttempts","call","run","_captured_echoOutput_0","stderr","stdout","_addError","_close","_add","_captured_targetTriplet_0","_captured_buildToolsPackage_0","_captured_longest_0","trace","_captured_frame_0","skipWhile","level","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","_captured_K_1","_captured_V_2","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","close","_captured_mainFn_0","_captured_computation_0","_captured_cleanUp_3","immediate","zoneValue","immediateError","_captured_closeWhenDone_0","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","add","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","dart:_rti#_precomputed1","dart:_rti#_as","dart:core#_contents","iterator","moveNext","dart:_rti#_eval","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","ensureSdk","launchEmulator","firstWhere","dart:core#_enumToString","dart:core#_name","abi","dart:_internal#_f","dart:_internal#_source","tag","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","runGuarded","next","storedCallback","dart:core#_duration","dart:_interceptors#_tdivFast","padLeft","dart:_interceptors#_tdivSlow","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","joinAll","style","isRootRelative","rootLength","substring","root","needsSeparator","separators","separator","containsSeparator","parts","dart:_internal#_iterator","last","getRoot","isSeparator","dart:_internal#_startIndex","dart:_internal#_endIndex","dart:_internal#_endOrLength","dart:_internal#_start","package:path/src/context.dart#_current","scheme","path","endsWith","toFilePath","dart:core#_text","dart:core#_#_Uri#_text#FI","dart:core#_host","dart:core#_userInfo","dart:core#_port","dart:core#_query","dart:core#_fragment","dart:core#_#_Uri#hashCode#FI","dart:core#_#_Uri#pathSegments#FI","contains","allMatches","dart:_js_helper#_nativeRegExp","isEmpty","dart:_js_helper#_input","dart:_js_helper#_index","dart:_js_helper#_current","pattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","dart:_js_helper#_nativeAnchoredRegExp","offset","indexOf","matchAsPrefix","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","relativeRootPattern","pathSegments","startsWith","dart:convert#_allowMalformed","decode","dart:_internal#_string","convert","convertGeneral","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_convertRecursive","decodeGeneral","codeUnitAt","hasAbsolutePath","hasAuthority","dart:_interceptors#_shrReceiverPositive","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","dart:convert#_bufferIndex","sublist","dart:convert#_buffer","dart:convert#_carry","dart:convert#_writeSurrogate","uri","replaceRange","dart:core#_uri","dart:core#_pathStart","dart:core#_queryStart","dart:core#_hostStart","dart:core#_portStart","dart:core#_schemeCache","dart:core#_computeScheme","dart:core#_schemeEnd","dart:core#_hashCodeCache","dart:core#_fragmentStart","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","normalize","exitCode","dart:io#_mode","executable","package:actions/src/node/process_manager.dart#_jsProcess","dart:async#_complete","dart:_js_helper#_length","addAll","containsKey","dart:_js_helper#_strings","hashMapCellValue","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","dart:_interceptors#_addAllFromArray","noSuchMethod","argumentCount","names","forEach","dart:_internal#_name","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","first","keys","dart:_js_helper#_map","dart:_js_helper#_modifications","dart:_js_helper#_cell","dart:_js_helper#_first","hashMapCellKey","dart:_js_helper#_next","dart:_js_helper#_keys","dart:_js_helper#_values","dart:_js_helper#_jsIndex","dart:collection#_map","userInfo","port","hasQuery","query","hasFragment","fragment","hasPort","hashCode","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_newLinkedCell","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","package:actions/src/node/process_manager.dart#_activeProcesses","values","package:actions/src/node/process_manager.dart#_stdin","package:actions/src/node/process_manager.dart#_stdout","package:actions/src/node/process_manager.dart#_stderr","package:actions/src/node/process_manager.dart#_stdinSub","cancel","package:actions/src/node/process_manager.dart#_stdinSink","dart:io#_isBound","dart:io#_isClosed","dart:io#_controllerInstance","dart:io#_closeTarget","dart:io#_doneCompleter","dart:io#_target","dart:async#_target","dart:io#_completeDoneValue","dart:io#_completeDoneError","dart:async#_cancel","dart:async#_cancelFuture","dart:async#_pending","dart:async#_onCancel","remaining","dart:_late_helper#_value","dart:_late_helper#_name","dart:_late_helper#_readLocal","dart:async#_ensureDoneFuture","dart:async#_badEventState","dart:async#_sendDone","dart:async#_ensurePendingEvents","lastPendingEvent","firstPendingEvent","dart:async#_varData","varData","dart:async#_doneFuture","package:actions/src/node/process_manager.dart#_init","pid","getRange","stdin","listen","count","dart:async#_controller","dart:async#_subscribe","dart:async#_pendingEvents","addSubscription","resume","dart:async#_setPendingEvents","dart:async#_guardCallback","dart:async#_onDone","dart:async#_onError","dart:async#_onData","dart:async#_recordCancel","onCancel","whenComplete","addStreamFuture","dart:async#_checkState","dart:async#_onPause","dart:async#_onResume","schedule","onResume","pause","onPause","perform","onListen","dart:io#_hasError","dart:io#_controllerCompleter","dart:io#_encoding","addError","dart:async#_addError","dart:async#_sendError","runBinaryGuarded","runUnaryGuarded","dart:async#_add","dart:async#_sendData","dart:async#_subscription","dart:async#_close","dart:async#_addPending","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_get","dart:collection#_getBucket","dart:collection#_findBucketIndex","dart:collection#_computeHashCode","dart:collection#_offset","dart:collection#_current=","map","dart:_js_helper#_elements","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_containsKey","package:actions/src/android/avd_manager.dart#_createEmulator","package:actions/src/android/avd_manager.dart#_enableKvm","package:actions/src/android/avd_manager.dart#_startEmulator","package:actions/src/android/avd_manager.dart#_waitForBoot","maxDelay","randomizationFactor","delayFactor","delay","createTimer","nextDouble","round","failOnNonZeroExit","defaultArgs","defaultStdinCmd","exe","dart:async#_#_SinkTransformerStreamSubscription#_transformerSink#A=","dart:async#_sinkMapper","dart:async#_stream","dart:async#_handleData","dart:async#_handleDone","dart:async#_handleError","dart:async#_sink","dart:io#_controller","addStream","dart:convert#_sink","addSlice","dart:convert#_skipLeadingLF","dart:convert#_addLines","dart:convert#_useCarry","dart:convert#_multiCarry","dart:convert#_eventSink","startChunkedConversion","dart:convert#_chunkedSink","asUtf8Sink","bufferCache","dart:convert#_encoder","dart:convert#_alphabet","dart:convert#_add","encode","createBuffer","toRadixString","dart:convert#_decoder","flush","trim","runSync","package:actions/src/android/sdk_manager.dart#_ensureCmdlineTools","package:actions/src/android/sdk_manager.dart#_ensureBuildTools","split","dart:convert#_source","dart:convert#_end","dart:convert#_start","dart:convert#_current","dart:convert#_lineEnd","dart:convert#_lineStart","dart:_interceptors#_defaultSplit","isUndefined","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","dart:_js_helper#_genericClosure","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","library","prettyUri","pathFromUri","relative","absolute","pathsEqual","removeAt","insertAll","removeLast","removeTrailingSeparators","codeUnitsEqual","toList","setRange","skip","dart:_internal#_skipCount","resolve","resolveUri","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_isPort","removeFragment","replaceFirst","insert","package:path/src/context.dart#_needsNormalization","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_internal#_hasSkipped","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","runTearDowns","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","cast","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","entries","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","dart:convert#_stringSink","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","take","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isFinite","remainder","abs","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","internalSet","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_captured_this_0","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","isCompleted","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_captured_computation_0","dart:async#_captured_result_1","dart:async#_captured_T_2","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","dart:async#_captured_completer_0","dart:async#_captured_T_1","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_ignore","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","transform","dart:async#_captured_future_1","stream","sink","dart:async#_isCanceled","hasListener","dart:async#_isInitialState","isClosed","isPaused","dart:async#_isAddingStream","dart:async#_mayAddEvent","done","dart:async#_closeUnchecked","dart:async#_recordPause","dart:async#_recordResume","dart:async#_createSubscription","dart:async#_isInputPaused","dart:async#_isClosed","dart:async#_waitsForCancel","dart:async#_inCallback","dart:async#_hasPending","dart:async#_isPaused","dart:async#_canFire","dart:async#_mayResumeInput","dart:async#_cancelOnError","dart:async#_decrementPauseCount","dart:async#_onListen","isScheduled","dart:async#_eventScheduled","cancelSchedule","handleNext","dart:async#_captured_dispatch_1","dart:async#_stateData","dart:async#_hasValue","dart:async#_transformerSink","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","encoder","dart:convert#_allowInvalid","dart:convert#_urlSafe","fuse","dart:convert#_captured_this_0","dart:convert#_toEncodable","dart:convert#_addCarry","asStringSink","convertSingle","convertChunked","dart:core#_box_0","dart:core#_captured_sb_1","inSeconds","inMilliseconds","inMicroseconds","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","writeln","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:io#_captured_this_0","dart:io#_encodingMutable","errorCode","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","onExit","package:actions/src/android/avd_manager.dart#_captured_this_0","package:actions/src/android/avd_manager.dart#_captured_maxAttempts_0","package:actions/src/android/sdk_manager.dart#_captured_buildToolsPackage_0","package:actions/src/android/sdk_manager.dart#_captured_targetTriplet_0","package:actions/src/android/shell_script.dart#_captured_fullScript_0","package:actions/src/android/shell_script.dart#_captured_#this_1","package:actions/src/android/types.dart#_captured_value_0","package:actions/src/android/types.dart#_captured_apiLevel_0","package:actions/src/android/types.dart#_captured_levelInt_0","package:actions/src/android/types.dart#_captured_target_0","package:actions/src/node/child_process.dart#_captured_controller_0","package:actions/src/node/child_process.dart#_captured_#this_0","package:actions/src/node/child_process.dart#_captured_onData_1","package:actions/src/node/child_process.dart#_captured_onDone_2","package:actions/src/node/child_process.dart#_captured_onError_3","package:actions/src/node/child_process.dart#_captured_completer_0","package:actions/src/node/child_process.dart#_captured_T_1","package:actions/src/node/process_manager.dart#_captured_echoOutput_0","package:actions/src/node/process_manager.dart#_captured_stdout_1","package:actions/src/node/process_manager.dart#_captured_stderr_1","kill","package:actions/src/node/process_manager.dart#_box_0","package:actions/src/node/process_manager.dart#_captured_this_0","package:aws_common/src/util/stream.dart#_captured_controller_0","package:aws_common/src/util/stream.dart#_captured_T_1","package:aws_common/src/util/stream.dart#_captured_closeWhenDone_0","package:aws_common/src/util/stream.dart#_captured_controller_1","package:aws_common/src/util/stream.dart#_captured_completer_2","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/kylechen/amplify-flutter/actions/bin/launch_android_emulator.dart#_captured_script_0","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$add","$index","$indexSet","$mul","$sub","$eq","$mod","$ge","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$lt","$gt","$le","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldNI","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","typeAcceptsNull","sync","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","writeFinalChunk","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","_callMethodUnchecked1","NullableObjectUtilExtension|jsify","_callMethodUnchecked2","FunctionToJSExportedDartFunction|get#toJS","_lineStart","_columnStart","_maps","_chains","JSPromiseToFuture|get#toDart","_callMethodUnchecked4","FileSystem|rmSync","JSObjectUtilExtension|getProperty","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_handleIEtoString","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","_rtiBind","sharedEmptyArray","_mayComplete","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_isAddingStream","_mayAddEvent","_isInputPaused","_isCanceled","_closeUnchecked","_isInitialState","zoned","_registerDataHandler","_registerDoneHandler","_recordPause","_recordResume","_decrementPauseCount","_hasPending","_mayResumeInput","_waitsForCancel","_createSubscription","_isClosed","_transformerSink","_delegate","_hasTableEntry","identityHashCode","_isUpgraded","parseHexByte","eventTransformed","_addCarry","StringBuffer.isNotEmpty","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","jsonDecode","EnumName|get#name","_activeProcesses","_stdin","_stdout","_stderr","_doneCompleter","_StreamSinkImpl._doneCompleter","NodeChildProcess|get#onSpawn","NodeChildProcess|get#onError","NodeChildProcess|get#onClose","NodeChildProcess|get#onExit","Uint8ListToJSUint8Array|get#toJS","fromList","_microseconds","<","_lineStarts","_consumeValue","identifier","_disabled","_createNode","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","_successTearDowns","_errorTearDowns"], "mappings": "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SAGJA;;MADEA,iBACFA;K;kBAiUeC;MASOA;;;oBAIJA,kDAAhBA;QACSA;QACPA;UAAwCA;QACxCA;UACEA;;YAEEA;;UAEFA,sBAAMA;;;MAGVA;QAGEA,sBAAMA;aAERA;QAEEA;QACAA;QAEAA;UACSA;mCAAKA;UAALA;UACPA;YACEA;;iBACKA;YACLA;;QAGJA;UACEA;;UAG4BA;UAGvBA;YACHA,sBAAMA;UAERA;;;MAGJA;MAGgCA;kBAFRA;QAEfA;;QAKSA,wCAAqCA;QAErDA;UACSA;;MAGXA,OAxiBFA,uCAyiBAA;K;2BAKYC;MAINA;;qBACsBA,4BAA1BA;oBACaA;QACXA;QACAA;UACqBA;UAAfA;8CAAcA;8BAAdA;;UADNA;;U1B30GgB7E;;;U0Bg1G6B6E;UAAtBA;qCAAWA;U1Bh1GlB7E,oD0Bg1GO6E;U1Bh1GP7E,oD0Bi1GO6E;;;MAGzBA;QACEA;sBACaA;UACXA;YACEA,sBAAoBA;;IAI5BA,C;iBA6KcC;MAmPPA;;;;MAhMMA;;MAIEA;MAOFA;MAaAA;;MAWJA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;M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", "x_org_dartlang_dart2js": { "minified_names": { diff --git a/.github/composite_actions/launch_ios_simulator/dist/main.cjs.map b/.github/composite_actions/launch_ios_simulator/dist/main.cjs.map index 8bf5d8b17f..1703ee4f8a 100644 --- a/.github/composite_actions/launch_ios_simulator/dist/main.cjs.map +++ b/.github/composite_actions/launch_ios_simulator/dist/main.cjs.map @@ -3,8 +3,8 @@ "engine": "v2", "file": "main.cjs", "sourceRoot": "", - "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/actions.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/exec.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/util.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/bin/launch_ios_simulator.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/core.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/process.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/iterable_extensions.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/action_context.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/fs.dart"], - "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","convertMainArgumentList","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldADI","_Cell.named","_ensureNativeList","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.wait","ListIterable.iterator","Future.error","_Future.immediateError","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._empty","HashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","promiseToFuture","_Completer.future","Completer","wrapMain","Exec|exec","unreachable","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","launch","Core|getInput","getRuntimeId","installXcodes","installRuntime","printString","max","pow","Core|withGroup","Core|setFailed","Process|exit","IterableExtension.firstWhereOrNull","ListBase.iterator","current","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.elementAt","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.length","CastMap.forEach.","CastMap_forEach_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","initHooks.","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","Future.wait.handleError","Future.wait.","Future_wait_closure","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.containsKey","MapBase.length","MapBase.toString","MapBase.mapToString.","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.toString","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","Base64Codec.normalize","JsonCodec.decode","JsonCodec.decoder","Utf8Codec.decode","Utf8Encoder.convert","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","Utf8Decoder.convert","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","Duration.==","Duration.hashCode","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.contains","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","promiseToFuture.","NullRejectionException.toString","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","Exec|exec.","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","launch.","getRuntimeId.","installXcodes.","installRuntime.","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","IndexError","","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","ArrayIterator","JSArray","ListIterator","ListBase","Iterable","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","bind","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","markFixedList","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","launch_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","Exec_exec_closure","MappedListIterable","String","ListIterable","of","ExecResult","iterableToShortString","checkNotNegative","range","filled","growable","fixed","markFixed","_AsyncCompleter","promiseToFuture_closure","NullRejectionException","_of","_convertIntercepted","_Utf8Decoder","checkValidRange","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","JsLinkedHashMap","Symbol","ConstantMapView","mapToString","MapBase_mapToString_closure","MapBase","LinkedHashMapKeyIterable","Map","Duration","_identityHashCodeProperty","LinkedHashMapCell","markUnmodifiableList","getRuntimeId_closure","IterableExtension|firstWhereOrNull","CastIterator","Iterator","EfficientLengthIterable","_EfficientLengthCastIterable","CastList","_AssertionError","StringMatch","_JsonMap","_JsonMapKeyIterable","installRuntime_closure","installXcodes_closure","capture","StackZoneSpecification","Expando","_empty","_ZoneSpecification","_Node","from","_checkType","Trace_toString_closure","int","hash","combine","finish","Instantiation1","_badExpandoKey","Chain","unmodifiable","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","noElement","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","WhereIterable","Trace__parseVM_closure","bool","Context_split_closure","ParsedPath","_uriDecode","CodeUnits","_hexCharPairToByte","checkValueInInterval","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","_MatchImplementation","makeNative","_AllMatchesIterable","_AllMatchesIterator","tooFew","SkipIterator","checkNotNull","EmptyIterable","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","WhereIterator","_validateArgList_closure","base","_currentUriBase","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_makeScheme","_fail","_makeUserInfo","_makeHost","parseInt","_makePort","_makePath","_makeQuery","_makeFragment","_internal","_defaultPort","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_removeDotSegments","_packageNameEnd","_normalizeRelativePath","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_normalizeOrSubstring","_normalize","_normalizeEscape","_escapeChar","_Uri__makePath_closure","_normalizePath","_uriEncode","_Utf8Encoder","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_checkPadding","_getPlatformStyle","MappedIterator","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_validateMimeType","EfficientLengthMappedIterable","EfficientLengthTakeIterable","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","_newHashTable","_setTableEntry","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","HashMap_HashMap$from_closure","wrapMain__closure","_UnreachableError","wait","named","Future_wait_handleError","Null","_Cell","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","castFrom","CastMap","_KeysOrValues","_KeysOrValuesOrElementsIterator","UnmodifiableMapView","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","Instantiation","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","NativeByteBuffer","NativeTypedData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeUint16List","Uint32List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Timer","Error","_Completer","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_FusedCodec","Converter","Encoding","JsonCodec","JsonDecoder","Utf8Codec","Utf8Encoder","Utf8Decoder","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","ActionResult","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","posix","platform","_uriRegExp","_windowsRegExp","disableKey","ByteBuffer","ByteData","Float32List","Float64List","Int16List","Int32List","Int8List","Uint16List","Uint8ClampedList","Record","launch_ios_simulator__launch$closure","getInterceptor$","getInterceptor$asx","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","frame_Frame___parseVM_tearOff$closure","getInterceptor$s","core_Uri_decodeComponent$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ax","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_target_1","value=","_captured_completer_0","_captured_T_7","stderr","_captured_sb_1","result","_captured_namedArgumentList_1","_captured_arguments_2","stdout","_captured_iosVersion_0","_captured_longest_0","trace","host","_captured_tables_0","_captured_frame_0","skipWhile","_captured_level_2","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","start","_captured_K_1","_captured_V_2","call","_captured_pos_1","dart:async#_future","_captured_eagerError_2","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","_captured_mainFn_0","_captured_cleanUp_3","immediate","immediateError","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","add","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","dart:_rti#_precomputed1","dart:_rti#_as","dart:core#_contents","iterator","moveNext","dart:_rti#_eval","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","run","runGuarded","next","storedCallback","padLeft","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","runtimeIdentifier","exitCode","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","join","dart:_internal#_f","dart:_internal#_source","future","isUndefined","decode","convert","dart:convert#_allowMalformed","convertGeneral","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_convertRecursive","offset","substring","dart:_interceptors#_tdivFast","decodeGeneral","dart:_interceptors#_tdivSlow","dart:_js_helper#_length","addAll","containsKey","dart:_js_helper#_strings","hashMapCellValue","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","dart:_interceptors#_addAllFromArray","noSuchMethod","argumentCount","names","forEach","dart:_internal#_name","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","first","keys","dart:_js_helper#_map","dart:_js_helper#_modifications","dart:_js_helper#_cell","dart:_js_helper#_first","dart:_js_helper#_current=","hashMapCellKey","dart:_js_helper#_next","dart:_js_helper#_keys","dart:_js_helper#_values","dart:_js_helper#_jsIndex","dart:collection#_map","hashCode","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_newLinkedCell","cast","startsWith","matchAsPrefix","pattern","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","createTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","dart:_js_helper#_genericClosure","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","dart:_internal#_iterator","contains","endsWith","trim","last","library","uri","scheme","prettyUri","style","pathFromUri","normalize","relative","split","parts","root","insert","separators","getRoot","isRootRelative","isSeparator","rootLength","package:path/src/context.dart#_needsNormalization","insertAll","separator","needsSeparator","removeTrailingSeparators","removeLast","path","replaceFirst","dart:_internal#_string","allMatches","dart:_js_helper#_nativeRegExp","replaceRange","dart:_js_helper#_input","dart:_js_helper#_index","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","indexOf","relativeRootPattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","dart:_js_helper#_nativeAnchoredRegExp","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","toList","setRange","skip","dart:_internal#_skipCount","dart:_internal#_start","dart:_internal#_endOrLength","dart:_internal#_startIndex","dart:_internal#_endIndex","package:path/src/context.dart#_current","absolute","pathsEqual","removeAt","codeUnitsEqual","joinAll","containsSeparator","resolve","toFilePath","dart:core#_host","hasAuthority","dart:core#_userInfo","userInfo","port","dart:core#_query","hasQuery","query","dart:core#_fragment","hasFragment","fragment","dart:core#_fragmentStart","dart:core#_uri","dart:core#_queryStart","hasPort","dart:core#_portStart","dart:core#_pathStart","dart:core#_schemeEnd","dart:core#_hostStart","dart:core#_port","dart:core#_text","dart:core#_#_Uri#_text#FI","pathSegments","dart:core#_#_Uri#pathSegments#FI","codeUnitAt","hasAbsolutePath","resolveUri","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_#_Uri#hashCode#FI","dart:core#_hashCodeCache","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_isPort","dart:core#_schemeCache","removeFragment","dart:core#_computeScheme","dart:_interceptors#_shrReceiverPositive","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","dart:convert#_bufferIndex","dart:convert#_buffer","dart:convert#_writeSurrogate","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","encode","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_interceptors#_defaultSplit","dart:_internal#_hasSkipped","isEmpty","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_computeHashCode","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:collection#_containsKey","dart:collection#_offset","dart:collection#_current=","runTearDowns","dart:core#_enumToString","dart:core#_name","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","values","remaining","dart:_late_helper#_value","dart:_late_helper#_name","dart:_late_helper#_readLocal","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","entries","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","dart:_js_helper#_elements","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","map","take","getRange","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isFinite","remainder","abs","toRadixString","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","internalSet","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","sublist","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_onError","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","dart:async#_subscription","dart:async#_stateData","dart:async#_hasValue","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_T_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","encoder","dart:convert#_allowInvalid","dart:convert#_encoder","dart:convert#_urlSafe","fuse","dart:convert#_toEncodable","dart:convert#_carry","convertSingle","dart:core#_box_0","dart:core#_captured_sb_1","inMilliseconds","inMicroseconds","dart:core#_duration","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","package:actions/src/node/actions/exec.dart#_captured_stdout_0","package:actions/src/node/actions/exec.dart#_captured_stderr_0","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/launch_ios_simulator.dart#_captured_iosVersion_0","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/launch_ios_simulator.dart#_box_0","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$add","$index","$mul","$indexSet","$eq","$sub","$mod","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$lt","$gt","$le","$ge","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","FunctionToJSExportedDartFunction|get#toJS","callMethod","_lineStart","_columnStart","_maps","_chains","_callMethodUnchecked1","getProperty","jsonDecode","_callMethodUnchecked0","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","_rtiBind","sharedEmptyArray","_mayComplete","_completeError","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_delegate","_hasTableEntry","_isUpgraded","parseHexByte","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","_callMethodUnchecked2","StringToJSString|get#toJS","_lineStarts","fromList","_consumeValue","identifier","_disabled","_createNode","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","identityHashCode","_successTearDowns","_errorTearDowns"], + "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/actions.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/exec.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/src/util.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/kylechen/amplify-flutter/actions/bin/launch_ios_simulator.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/core.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/process.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/iterable_extensions.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/kylechen/amplify-flutter/actions/lib/src/action_context.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/fs.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","_invokeClosure","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","convertMainArgumentList","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldADI","_Cell.named","_ensureNativeList","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.wait","ListIterable.iterator","Future.error","_Future.immediateError","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._empty","HashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","promiseToFuture","_Completer.future","Completer","wrapMain","Exec|exec","unreachable","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","launch","Core|getInput","getRuntimeId","installXcodes","installRuntime","printString","max","pow","Core|withGroup","Core|setFailed","Process|exit","IterableExtension.firstWhereOrNull","ListBase.iterator","current","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.elementAt","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.length","CastMap.forEach.","CastMap_forEach_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","initHooks.","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","Future.wait.handleError","Future.wait.","Future_wait_closure","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.containsKey","MapBase.length","MapBase.toString","MapBase.mapToString.","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.toString","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","Base64Codec.normalize","JsonCodec.decode","JsonCodec.decoder","Utf8Codec.decode","Utf8Encoder.convert","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","Utf8Decoder.convert","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","Duration.==","Duration.hashCode","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.contains","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","promiseToFuture.","NullRejectionException.toString","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","Exec|exec.","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","launch.","getRuntimeId.","installXcodes.","installRuntime.","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","IndexError","","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","ArrayIterator","JSArray","ListIterator","ListBase","Iterable","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","bind","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","markFixedList","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","launch_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","Exec_exec_closure","MappedListIterable","String","ListIterable","of","ExecResult","iterableToShortString","checkNotNegative","range","filled","growable","fixed","markFixed","_AsyncCompleter","promiseToFuture_closure","NullRejectionException","_of","_convertIntercepted","_Utf8Decoder","checkValidRange","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","JsLinkedHashMap","Symbol","ConstantMapView","mapToString","MapBase_mapToString_closure","MapBase","LinkedHashMapKeyIterable","Map","Duration","_identityHashCodeProperty","LinkedHashMapCell","markUnmodifiableList","getRuntimeId_closure","IterableExtension|firstWhereOrNull","CastIterator","Iterator","EfficientLengthIterable","_EfficientLengthCastIterable","CastList","_AssertionError","StringMatch","_JsonMap","_JsonMapKeyIterable","installRuntime_closure","installXcodes_closure","capture","StackZoneSpecification","Expando","_empty","_ZoneSpecification","_Node","from","_checkType","Trace_toString_closure","int","hash","combine","finish","Instantiation1","_badExpandoKey","Chain","unmodifiable","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","noElement","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","WhereIterable","Trace__parseVM_closure","bool","Context_split_closure","ParsedPath","_uriDecode","CodeUnits","_hexCharPairToByte","checkValueInInterval","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","_MatchImplementation","makeNative","_AllMatchesIterable","_AllMatchesIterator","tooFew","SkipIterator","checkNotNull","EmptyIterable","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","WhereIterator","_validateArgList_closure","base","_currentUriBase","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_makeScheme","_fail","_makeUserInfo","_makeHost","parseInt","_makePort","_makePath","_makeQuery","_makeFragment","_internal","_defaultPort","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_removeDotSegments","_packageNameEnd","_normalizeRelativePath","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_normalizeOrSubstring","_normalize","_normalizeEscape","_escapeChar","_Uri__makePath_closure","_normalizePath","_uriEncode","_Utf8Encoder","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_checkPadding","_getPlatformStyle","MappedIterator","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_validateMimeType","EfficientLengthMappedIterable","EfficientLengthTakeIterable","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","_newHashTable","_setTableEntry","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","HashMap_HashMap$from_closure","wrapMain__closure","_UnreachableError","wait","named","Future_wait_handleError","Null","_Cell","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","castFrom","CastMap","_KeysOrValues","_KeysOrValuesOrElementsIterator","UnmodifiableMapView","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","Instantiation","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","NativeByteBuffer","NativeTypedData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeUint16List","Uint32List","NativeUint32List","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Timer","Error","_Completer","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_FusedCodec","Converter","Encoding","JsonCodec","JsonDecoder","Utf8Codec","Utf8Encoder","Utf8Decoder","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","ActionResult","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","posix","platform","_uriRegExp","_windowsRegExp","disableKey","ByteBuffer","ByteData","Float32List","Float64List","Int16List","Int32List","Int8List","Uint16List","Uint8ClampedList","Record","launch_ios_simulator__launch$closure","getInterceptor$","getInterceptor$asx","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","frame_Frame___parseVM_tearOff$closure","getInterceptor$s","core_Uri_decodeComponent$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ax","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_target_1","value=","_captured_completer_0","_captured_T_7","stderr","_captured_sb_1","result","_captured_namedArgumentList_1","_captured_arguments_2","stdout","_captured_iosVersion_0","_captured_longest_0","trace","host","_captured_tables_0","_captured_frame_0","skipWhile","_captured_level_2","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","start","_captured_K_1","_captured_V_2","call","_captured_pos_1","dart:async#_future","_captured_eagerError_2","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","_captured_mainFn_0","_captured_cleanUp_3","immediate","immediateError","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","add","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","dart:_rti#_precomputed1","dart:_rti#_as","dart:core#_contents","iterator","moveNext","dart:_rti#_eval","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","run","runGuarded","next","storedCallback","padLeft","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","runtimeIdentifier","exitCode","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","join","dart:_internal#_f","dart:_internal#_source","future","isUndefined","decode","convert","dart:convert#_allowMalformed","convertGeneral","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_convertRecursive","offset","substring","dart:_interceptors#_tdivFast","decodeGeneral","dart:_interceptors#_tdivSlow","dart:_js_helper#_length","addAll","containsKey","dart:_js_helper#_strings","hashMapCellValue","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","dart:_interceptors#_addAllFromArray","noSuchMethod","argumentCount","names","forEach","dart:_internal#_name","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","first","keys","dart:_js_helper#_map","dart:_js_helper#_modifications","dart:_js_helper#_cell","dart:_js_helper#_first","dart:_js_helper#_current=","hashMapCellKey","dart:_js_helper#_next","dart:_js_helper#_keys","dart:_js_helper#_values","dart:_js_helper#_jsIndex","dart:collection#_map","hashCode","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_newLinkedCell","cast","startsWith","matchAsPrefix","pattern","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","createTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","dart:_js_helper#_genericClosure","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","dart:_internal#_iterator","contains","endsWith","trim","last","library","uri","scheme","prettyUri","style","pathFromUri","normalize","relative","split","parts","root","insert","separators","getRoot","isRootRelative","isSeparator","rootLength","package:path/src/context.dart#_needsNormalization","insertAll","separator","needsSeparator","removeTrailingSeparators","removeLast","path","replaceFirst","dart:_internal#_string","allMatches","dart:_js_helper#_nativeRegExp","replaceRange","dart:_js_helper#_input","dart:_js_helper#_index","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","indexOf","relativeRootPattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","dart:_js_helper#_nativeAnchoredRegExp","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","toList","setRange","skip","dart:_internal#_skipCount","dart:_internal#_start","dart:_internal#_endOrLength","dart:_internal#_startIndex","dart:_internal#_endIndex","package:path/src/context.dart#_current","absolute","pathsEqual","removeAt","codeUnitsEqual","joinAll","containsSeparator","resolve","toFilePath","dart:core#_host","hasAuthority","dart:core#_userInfo","userInfo","port","dart:core#_query","hasQuery","query","dart:core#_fragment","hasFragment","fragment","dart:core#_fragmentStart","dart:core#_uri","dart:core#_queryStart","hasPort","dart:core#_portStart","dart:core#_pathStart","dart:core#_schemeEnd","dart:core#_hostStart","dart:core#_port","dart:core#_text","dart:core#_#_Uri#_text#FI","pathSegments","dart:core#_#_Uri#pathSegments#FI","codeUnitAt","hasAbsolutePath","resolveUri","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_#_Uri#hashCode#FI","dart:core#_hashCodeCache","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_isPort","dart:core#_schemeCache","removeFragment","dart:core#_computeScheme","dart:_interceptors#_shrReceiverPositive","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","dart:convert#_bufferIndex","dart:convert#_buffer","dart:convert#_writeSurrogate","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","encode","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_interceptors#_defaultSplit","dart:_internal#_hasSkipped","isEmpty","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_computeHashCode","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:collection#_containsKey","dart:collection#_offset","dart:collection#_current=","runTearDowns","dart:core#_enumToString","dart:core#_name","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","values","remaining","dart:_late_helper#_value","dart:_late_helper#_name","dart:_late_helper#_readLocal","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","entries","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","dart:_js_helper#_elements","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","map","take","getRange","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isFinite","remainder","abs","toRadixString","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","internalSet","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","sublist","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_onError","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","dart:async#_subscription","dart:async#_stateData","dart:async#_hasValue","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_T_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","encoder","dart:convert#_allowInvalid","dart:convert#_encoder","dart:convert#_urlSafe","fuse","dart:convert#_toEncodable","dart:convert#_carry","convertSingle","dart:core#_box_0","dart:core#_captured_sb_1","inMilliseconds","inMicroseconds","dart:core#_duration","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","package:actions/src/node/actions/exec.dart#_captured_stdout_0","package:actions/src/node/actions/exec.dart#_captured_stderr_0","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/kylechen/amplify-flutter/actions/bin/launch_ios_simulator.dart#_captured_iosVersion_0","file:///Users/kylechen/amplify-flutter/actions/bin/launch_ios_simulator.dart#_box_0","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$add","$index","$mul","$indexSet","$eq","$sub","$mod","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$lt","$gt","$le","$ge","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","FunctionToJSExportedDartFunction|get#toJS","callMethod","_lineStart","_columnStart","_maps","_chains","_callMethodUnchecked1","getProperty","jsonDecode","_callMethodUnchecked0","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","_rtiBind","sharedEmptyArray","_mayComplete","_completeError","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_delegate","_hasTableEntry","_isUpgraded","parseHexByte","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","_callMethodUnchecked2","StringToJSString|get#toJS","_lineStarts","fromList","_consumeValue","identifier","_disabled","_createNode","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","identityHashCode","_successTearDowns","_errorTearDowns"], "mappings": "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GO6E;UxBh1GP7E,oDwBi1GO6E;;;MAGzBA;QACEA;sBACaA;UACXA;YACEA,sBAAoBA;;IAI5BA,C;iBA6KcC;MAmPPA;;;;MAhMMA;;MAIEA;MAOFA;MAaAA;;MAWJA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MAKAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MAEAA,aACFA;K;SAWIC;MACWA;;uCAEbA;QACcA;uCAAMA;sBAANA;QAEDA;gCAAIA;QAAJA;0BAGMA;QACTA;QACRA;;MAEFA,YACFA;K;8BAqPaC;MAhN+BA,OAAnBA,wDAAmBA,wBA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", "x_org_dartlang_dart2js": { "minified_names": { diff --git a/.github/composite_actions/setup_chromedriver/dist/main.cjs.map b/.github/composite_actions/setup_chromedriver/dist/main.cjs.map index 527d795913..e420e5c362 100644 --- a/.github/composite_actions/setup_chromedriver/dist/main.cjs.map +++ b/.github/composite_actions/setup_chromedriver/dist/main.cjs.map @@ -3,14 +3,14 @@ "engine": "v2", "file": "main.cjs", "sourceRoot": "", - "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/linked_hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/date_time.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/actions.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/chromedriver/downloads.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/chromedriver/downloads.g.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/child_process.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/util.dart","/Users/dnnoyes/Projects/amplify-flutter/packages/aws_common/lib/src/util/stream.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/bin/setup_chromedriver.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/core.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/http_request.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/actions/tool_cache.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/process.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/algorithms.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/iterable_extensions.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/utils.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/lib/src/enum_helpers.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/async/stream_transformers.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/convert/byte_conversion.dart","org-dartlang-sdk:///lib/convert/chunked_conversion.dart","org-dartlang-sdk:///lib/convert/converter.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/convert/line_splitter.dart","org-dartlang-sdk:///lib/convert/string_conversion.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/io/io_sink.dart","org-dartlang-sdk:///lib/io/process.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/action_context.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/process_manager.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/os.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/dnnoyes/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/core/string_buffer.dart","/Users/dnnoyes/Projects/amplify-flutter/actions/lib/src/node/fs.dart"], - "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.allocateGrowable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","instantiate1","Instantiation1","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.lazyAsJsDate","Primitives.getYear","Primitives.getMonth","Primitives.getDay","Primitives.getHours","Primitives.getMinutes","Primitives.getSeconds","Primitives.getMilliseconds","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","constantHashCode","fillLiteralMap","_invokeClosure","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldNI","throwLateFieldADI","_Cell.named","_InitializedCell.named","_ensureNativeList","NativeInt8List._create1","NativeUint8List.view","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","getRtiForRecord","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","evaluateRtiForRecord","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","_SyncStarIterator._terminatedBody","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.wait","Future.error","_Future.immediateError","Future.any","Completer.sync","_Completer.future","FutureExtensions.ignore","FutureExtensions._ignore","_Future.value","_Future.zoneValue","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","StreamController","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap","LinkedHashMap._empty","HashMap.from","LinkedHashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Base64Encoder.encodeChunk","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","DateTime._fourDigits","DateTime._threeDigits","DateTime._twoDigits","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","ListIterable.iterator","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_noJsifyRequired","jsify","promiseToFuture","Completer","_noDartifyRequired","dartify","wrapMain","ChromePlatform.fromOsArch","_$AllChromeDownloadsFromJson","_$ChromeVersionDownloadsFromJson","_$ChromeDownloadFromJson","ChildProcess|spawn","NodeReadableStream|get#stream","_StreamController.stream","EventEmitter|once","unreachable","StreamForward.forward","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","_installChromedriver","printString","max","pow","Core|withGroup","Core|setFailed","HttpClient|getJson","ToolCache|find","ToolCache|downloadTool","ToolCache|extractZip","ToolCache|cacheDir","Process|get#platform","Process|get#arch","Process|get#env","Process|exit","mergeSortBy","_movingInsertionSort","_mergeSort","_merge","IterableExtension.firstWhereOrNull","IterableExtension.lastOrNull","compareComparable","$enumDecode","current","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.elementAt","JSArray.sublist","JSArray.getRange","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.compareTo","JSNumber.isNegative","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.compareTo","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","_CastListBase.getRange","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.values","CastMap.length","CastMap.isEmpty","CastMap.entries","CastMap.forEach.","CastMap_forEach_closure","CastMap.entries.","CastMap_entries_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","nullFuture.","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.map","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.isEmpty","ConstantMap.toString","ConstantMap.entries","_makeSyncStarIterable","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","ConstantStringMap.values","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","GeneralConstantMap._getMap","GeneralConstantMap.containsKey","GeneralConstantMap.[]","GeneralConstantMap.forEach","GeneralConstantMap.keys","JsLinkedHashMap.keys","GeneralConstantMap.values","GeneralConstantMap.length","Instantiation","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.length","JsLinkedHashMap.isEmpty","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap.addAll","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.","JsLinkedHashMap_values_closure","JsLinkedHashMap.addAll.","JsLinkedHashMap_addAll_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","JsConstantLinkedHashMap.internalComputeHashCode","JsConstantLinkedHashMap.internalFindBucketIndex","initHooks.","_Record.toString","_Record._toString","_Record._fieldKeys","_Record._computeFieldKeys","_Record2._getFieldValues","_Record2.==","_Record2.hashCode","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","_InitializedCell._readFinal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","NativeUint8List.sublist","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","_SyncStarIterator.current","_SyncStarIterator._resumeBody","_SyncStarIterator.moveNext","_SyncStarIterator._yieldStar","_SyncStarIterable.iterator","_SyncStarIterator._current","_SyncStarIterator._nestedIterator","AsyncError.toString","Future.wait.handleError","Future.wait.","Future_wait_closure","Future.any.onValue","_Completer.isCompleted","Future_any_onValue","Future.any.onError","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_AsyncCompleter._completeError","_SyncCompleter.complete","_SyncCompleter.complete[function-entry$0]","_SyncCompleter._completeError","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future.whenComplete","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._complete","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController.addStream","_AddStreamState","_StreamControllerAddStreamState","_StreamController.isPaused","_StreamController._ensureDoneFuture","_StreamController.add","_StreamController.addError","_StreamController.addError[function-entry$1]","_StreamController.close","_StreamController._add","_StreamController._addError","_StreamController._close","_StreamController._subscribe","_BufferingStreamSubscription","_BufferingStreamSubscription.zoned","_StreamController._recordCancel","_StreamController.onListen","_StreamController.onCancel","_StreamController._subscribe.","_StreamController._recordCancel.complete","_SyncStreamControllerDispatch._sendData","_SyncStreamControllerDispatch._sendError","_SyncStreamControllerDispatch._sendDone","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onCancel","_ControllerSubscription._onPause","_StreamController._recordPause","_ControllerSubscription._onResume","_StreamController._recordResume","_StreamSinkWrapper.add","_StreamSinkWrapper.addError","_StreamSinkWrapper.close","_AddStreamState.cancel","_AddStreamState.cancel.","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription.pause","_PendingEvents.cancelSchedule","_BufferingStreamSubscription.resume","_BufferingStreamSubscription.cancel","_BufferingStreamSubscription._cancel","_BufferingStreamSubscription._add","_BufferingStreamSubscription._addError","_BufferingStreamSubscription._close","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._onCancel","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._sendError","_BufferingStreamSubscription._sendDone","_BufferingStreamSubscription._guardCallback","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_BufferingStreamSubscription._pending","_BufferingStreamSubscription._sendError.sendError","_BufferingStreamSubscription._sendDone.sendDone","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_StreamImpl.listen[function-entry$1$onDone$onError]","_DelayedEvent.next","_DelayedData.perform","_DelayedError.perform","_DelayedDone.perform","_DelayedDone.next","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_EventSinkWrapper.add","_SinkTransformerStreamSubscription._add","_EventSinkWrapper.addError","_SinkTransformerStreamSubscription._addError","_EventSinkWrapper.close","_SinkTransformerStreamSubscription._close","_SinkTransformerStreamSubscription._onPause","_SinkTransformerStreamSubscription._onResume","_SinkTransformerStreamSubscription._onCancel","_SinkTransformerStreamSubscription._handleData","_SinkTransformerStreamSubscription._handleError","_SinkTransformerStreamSubscription._handleDone","_SinkTransformerStreamSubscription._#_SinkTransformerStreamSubscription#_transformerSink#A","_SinkTransformerStreamSubscription._subscription","_BoundSinkStream.listen","_SinkTransformerStreamSubscription","_BoundSinkStream.listen[function-entry$1]","_BoundSinkStream.listen[function-entry$1$onDone$onError]","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.runUnaryGuarded","_CustomZone.runBinaryGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runBinaryGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.isEmpty","_HashMap.values","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_HashMap.values.","_HashMap_values_closure","_IdentityHashMap._computeHashCode","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","LinkedHashMap.from.","ListBase.iterator","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.map","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.sublist","ListBase.sublist[function-entry$1]","ListBase.getRange","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.entries","MapBase.containsKey","MapBase.length","MapBase.isEmpty","MapBase.values","MapBase.toString","MapBase.entries.","MapBase_entries_closure","MapBase.mapToString.","_MapBaseValueIterable.length","_MapBaseValueIterable.isEmpty","_MapBaseValueIterable.iterator","_MapBaseValueIterator.moveNext","_MapBaseValueIterator.current","_MapBaseValueIterator._current","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.keys","MapView.toString","MapView.values","MapView.entries","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.isEmpty","_JsonMap.keys","_JsonMap.values","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMap.values.","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","_JsonDecoderSink.close","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","_UnicodeSubsetEncoder.startChunkedConversion","_UnicodeSubsetEncoderSink.close","_UnicodeSubsetEncoderSink.addSlice","Base64Codec.normalize","Base64Encoder.startChunkedConversion","_Utf8Base64EncoderSink","_AsciiBase64EncoderSink","_Base64Encoder.createBuffer","_Base64Encoder.encode","_BufferCachingBase64Encoder.createBuffer","Uint8List.view","_Base64EncoderSink.add","_Base64EncoderSink.close","_Base64EncoderSink.addSlice","_AsciiBase64EncoderSink._add","_Utf8Base64EncoderSink._add","ByteConversionSink.addSlice","_ByteAdapterSink.add","_ByteAdapterSink.close","_ConverterStreamEventSink.add","_ConverterStreamEventSink.addError","_ConverterStreamEventSink.close","Converter.startChunkedConversion","Converter.bind","Stream.eventTransformed","Converter.bind.","JsonCodec.decode","JsonCodec.decoder","JsonDecoder.startChunkedConversion","_JsonDecoderSink","LineSplitter.bind","LineSplitter.bind.","_LineSplitterEventSink","_LineSplitterSink.addSlice","_LineSplitterSink.close","_LineSplitterSink._addLines","_LineSplitterSink._addCarry","_LineSplitterSink._useCarry","_LineSplitterEventSink.addError","StringConversionSink.add","StringConversionSink.asUtf8Sink","_Utf8ConversionSink._","_Utf8ConversionSink","_StringSinkConversionSink.close","_StringSinkConversionSink.addSlice","_StringSinkConversionSink.add","_StringSinkConversionSink.asUtf8Sink","_Utf8StringSinkAdapter","_StringAdapterSink.add","_StringAdapterSink.addSlice","_StringAdapterSink.close","_Utf8StringSinkAdapter.close","_Utf8StringSinkAdapter.add","_Utf8StringSinkAdapter.addSlice","_Utf8ConversionSink.close","StringBuffer.isEmpty","_Utf8ConversionSink.add","_Utf8ConversionSink.addSlice","Utf8Encoder.convert","Utf8Encoder.startChunkedConversion","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","_Utf8EncoderSink.close","_Utf8EncoderSink.addSlice","Utf8Decoder.convert","Utf8Decoder.startChunkedConversion","Utf8Decoder.bind","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.flush","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","DateTime.==","DateTime.compareTo","DateTime.hashCode","DateTime.toString","Duration.==","Duration.hashCode","Duration.compareTo","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.map","Iterable.contains","Iterable.join","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.elementAt","Iterable.toString","MapEntry.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","_StreamSinkImpl.add","_StreamSinkImpl.addError","_StreamSinkImpl.close","_StreamSinkImpl._closeTarget","_StreamSinkImpl._completeDoneValue","_StreamSinkImpl._completeDoneError","_StreamSinkImpl._controller","_StreamSinkImpl._controllerInstance","_StreamSinkImpl._controller.","ProcessStartMode.toString","ProcessException.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValue","_dateToDateTime","NullRejectionException.toString","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","AllChromeDownloads.chromeDriverUrl","AllChromeDownloads.chromeDriverUrl.","ChromeVersion.chromeDriverUrl","ChromeVersion.chromeDriverUrl.","ChromePlatform._enumToString","ChromePlatform.fromOsArch.","_$AllChromeDownloadsFromJson.","ChromeVersion.fromJson","_$ChromeVersionFromJson","_$ChromeVersionDownloadsFromJson.","ChildProcess|spawn.","NodeReadableStream|get#stream.onData","NodeReadableStream|get#stream.onError","NodeReadableStream|get#stream.onDone","NodeReadableStream|get#stream[function-entry$0].onDone","NodeReadableStream|get#stream.","EventEmitter|once.","EventEmitter|once[function-entry$0].","EventEmitter|once[function-entry$1].","EventEmitter|once[function-entry$2].","processManager.","NodeProcessManager","NodeProcessManager.run","NodeProcess.stdout","NodeProcess.stderr","NodeProcessManager.start","NodeProcess","NodeProcessManager.close","NodeProcessManager.run.","NodeProcess._init","_StreamController.sink","NodeProcess.exitCode","NodeProcess.pid","NodeProcess.close","NodeProcess.kill","NodeProcess._stdinSub","NodeProcess._init.","OS._enumToString","Arch._enumToString","StreamForward|forward.","StreamForward_forward_closure","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.compareTo","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.compareTo","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","_installChromedriver.","_installChromedriver..","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","compareComparable[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","nullFuture","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","Future._nullFuture","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","processManager","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","_Record","_computedFieldKeys","","allocateGrowable","unmodifiable","from","markUnmodifiableList","JSArray","markFixedList","ArrayIterator","ListIterator","ListBase","Iterable","IndexError","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","bind","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","_installChromedriver_closure","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","_AsyncCompleter","promiseToFuture_closure","NullRejectionException","fromOsArch","AllChromeDownloads_chromeDriverUrl_closure","IterableExtension|firstWhereOrNull","WhereIterable","bool","of","IterableExtension|get#lastOrNull","Comparable","iterableToShortString","checkNotNegative","range","WhereIterator","_AssertionError","Iterator","noElement","checkValidRange","filled","tooFew","ListIterable","fixed","markFixed","growable","parseInt","_of","StringMatch","ChromeVersion_chromeDriverUrl_closure","_Record_2","ChromePlatform_fromOsArch_closure","named","_InitializedCell","_$AllChromeDownloadsFromJson_closure","AllChromeDownloads","MappedIterator","EfficientLengthMappedIterable","MappedListIterable","ChromeVersion","_$ChromeVersionDownloadsFromJson_closure","ChromeVersionDownloads","ChromeDownload","mapToString","MapBase_mapToString_closure","JsConstantLinkedHashMap","LinkedHashMapKeyIterable","MapBase","_Record2","Duration","hash","combine","finish","_identityHashCodeProperty","Symbol","LinkedHashMapCell","_SyncStarIterable","MapEntry","_SyncStarIterator","_terminatedBody","LinkedHashMap_LinkedHashMap$from_closure","JsLinkedHashMap","_KeysOrValues","_KeysOrValuesOrElementsIterator","castFrom","CastMap","EmptyIterable","SkipIterator","checkNotNull","CastIterator","EfficientLengthIterable","_EfficientLengthCastIterable","Map","dartify_convert","_IdentityHashMap","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","DateTime","_empty","getYear","_fourDigits","getMonth","_twoDigits","getDay","getHours","getMinutes","getSeconds","getMilliseconds","_threeDigits","lazyAsJsDate","_newHashTable","_setTableEntry","jsify__convert","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","_installChromedriver__closure","_ControllerStream","StreamTransformer","Stream","String","NodeProcessManager_run_closure","ProcessResult","FutureExtensions|ignore","_ControllerSubscription","_StreamController__subscribe_closure","nullFuture_closure","_StreamController__recordCancel_complete","_AddStreamState_cancel_closure","_PendingEvents","_StreamControllerLifecycle","_EventDispatch","_PendingEvents_schedule_closure","any","_SyncCompleter","Future_any_onError","EventEmitter_once_closure","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","ConstantMapView","_MapBaseValueIterable","_MapBaseValueIterator","UnmodifiableMapView","_BoundSinkStream","LineSplitter_bind_closure","EventSink","_EventSinkWrapper","_EventSink","_BufferingStreamSubscription__sendDone_sendDone","_DelayedError","_BufferingStreamSubscription__sendError_sendError","_DelayedData","_StringAdapterSink","Converter_bind_closure","Converter","_ConverterStreamEventSink","Sink","_Utf8Decoder","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","CastList","_IOSinkImpl","_StreamSinkWrapper","NodeProcess__init_closure","StreamForward|forward","_StreamSinkImpl","_StreamSinkImpl__controller_closure","StreamConsumer","ProcessException","NodeReadableStream_get_stream_onData","NodeReadableStream_get_stream_closure","NodeReadableStream_get_stream_onDone","NodeReadableStream_get_stream_onError","_SyncStreamController","ChildProcess_spawn_closure","_UnreachableError","processManager_closure","wait","Future_wait_handleError","Null","_Cell","capture","StackZoneSpecification","Expando","_ZoneSpecification","_Node","_checkType","Trace_toString_closure","int","_badExpandoKey","Chain","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","Trace__parseVM_closure","Context_split_closure","ParsedPath","_uriDecode","CodeUnits","_hexCharPairToByte","_convertIntercepted","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","checkValueInInterval","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","_MatchImplementation","makeNative","_AllMatchesIterable","_AllMatchesIterator","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","_validateArgList_closure","base","_currentUriBase","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_makeScheme","_fail","_makeUserInfo","_makeHost","_makePort","_makePath","_makeQuery","_makeFragment","_internal","_defaultPort","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_removeDotSegments","_packageNameEnd","_normalizeRelativePath","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_normalizeOrSubstring","_normalize","_normalizeEscape","_escapeChar","_Uri__makePath_closure","_normalizePath","_uriEncode","ByteConversionSink","_ByteAdapterSink","_Utf8EncoderSink","_Utf8Encoder","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_Base64Encoder","_BufferCachingBase64Encoder","encodeChunk","view","_checkPadding","_create1","_getPlatformStyle","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_UnicodeSubsetEncoderSink","_validateMimeType","EfficientLengthTakeIterable","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","HashMap_HashMap$from_closure","wrapMain__closure","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","_JsonMap","_JsonMap_values_closure","_JsonMapKeyIterable","_StringSinkConversionSink","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSIndexable","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","GeneralConstantMap","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","ByteBuffer","NativeByteBuffer","NativeTypedData","ByteData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","Float32List","NativeFloat32List","Float64List","NativeFloat64List","Int16List","NativeInt16List","Int32List","NativeInt32List","Int8List","NativeInt8List","Uint16List","NativeUint16List","Uint32List","NativeUint32List","Uint8ClampedList","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Timer","Error","_Completer","StreamTransformerBase","_StreamController","_SyncStreamControllerDispatch","_StreamImpl","_DelayedEvent","_DelayedDone","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_Base64EncoderSink","_FusedCodec","Encoding","JsonCodec","JsonDecoder","LineSplitter","_LineSplitterSink","StringConversionSink","Utf8Codec","Utf8Encoder","Utf8Decoder","Enum","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","IOSink","ProcessStartMode","ActionResult","ChromePlatform","OS","Arch","Process","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","__Utf8EncoderSink&_Utf8Encoder&StringConversionSink","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","FutureExtensions|_ignore","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_nullFuture","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","posix","platform","_uriRegExp","_windowsRegExp","disableKey","Record","setup_chromedriver___installChromedriver$closure","getInterceptor$","getInterceptor$asx","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","utils__compareComparable$closure","getInterceptor$ax","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async__FutureExtensions__ignore$closure","frame_Frame___parseVM_tearOff$closure","getInterceptor$s","core_Uri_decodeComponent$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ns","getInterceptor$n","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_target_1","chromeDriverUrl","_captured_chromeVersion_0","_captured_completer_2","_captured_T_2","_captured_patchVersion_0","version","_captured_#0#1_0","_captured_#0#4_0","_captured_#0#0_0","result","entries","_captured_K_1","_captured_V_2","_captured__convertedObjects_0","run","_captured_dispatch_1","future","_captured_sb_1","_captured_namedArgumentList_1","arguments","_captured_echoOutput_0","stderr","stdout","_addError","_close","_add","start","_init","_captured_controller_0","_captured_#this_0","_captured_onData_1","_captured_onDone_2","_captured_onError_3","_captured_pos_1","dart:async#_future","_captured_eagerError_2","_captured_longest_0","trace","host","_captured_tables_0","_captured_frame_0","skipWhile","_captured_level_2","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","call","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","close","_captured_mainFn_0","_captured_cleanUp_3","immediate","zoneValue","immediateError","_withValue","_captured_closeWhenDone_0","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","dart:_js_helper#_toString","dart:_js_helper#_fieldKeys","dart:_js_helper#_getFieldValues","add","dart:_js_helper#_computeFieldKeys","dart:_rti#_precomputed1","dart:_rti#_as","iterator","dart:_rti#_eval","moveNext","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","dart:core#_contents","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","runGuarded","next","storedCallback","padLeft","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","isUndefined","versions","sublist","join","compareTo","isNegative","dart:_internal#_f","dart:_internal#_iterator","dart:core#_enumToString","last","setRange","skip","toList","dart:_internal#_start","dart:_internal#_endOrLength","dart:_internal#_startIndex","dart:_internal#_endIndex","dart:_js_helper#_genericClosure","offset","substring","startsWith","matchAsPrefix","pattern","downloads","chromedriver","dart:_late_helper#_readFinal","dart:core#_name","dart:_late_helper#_initializer","dart:_late_helper#_value","dart:_late_helper#_name","dart:_js_helper#_0","dart:_js_helper#_1","map","dart:_internal#_source","first","forEach","dart:_js_helper#_getMap","dart:_js_helper#_first","dart:_js_helper#_modifications","hashMapCellKey","hashMapCellValue","dart:_js_helper#_next","dart:_js_helper#_jsData","keys","dart:_js_helper#_map","dart:_js_helper#_cell","dart:_js_helper#_current=","dart:_js_helper#_length","dart:_js_helper#_strings","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","hashCode","dart:_internal#_name","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","internalSet","dart:_js_helper#_newLinkedCell","values","key","dart:async#_outerHelper","dart:async#_suspendedBodies","dart:async#_body","dart:async#_nestedIterator=","dart:async#_current=","dart:async#_resumeBody","dart:async#_datum","dart:async#_yieldStar","cast","dart:_js_helper#_values","dart:_js_helper#_elements","dart:_js_helper#_index","dart:_js_helper#_keys","dart:_js_helper#_jsIndex","containsKey","dart:_internal#_skipCount","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_get","dart:collection#_getBucket","dart:collection#_findBucketIndex","dart:collection#_computeHashCode","dart:collection#_map","dart:collection#_offset","dart:collection#_current=","dart:core#_value","isUtc","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_containsKey","addAll","dart:_interceptors#_addAllFromArray","trim","exitCode","pid","package:actions/src/node/process_manager.dart#_stdout","listen","package:actions/src/node/process_manager.dart#_stderr","cancel","dart:convert#_allowMalformed","dart:io#_mode","count","dart:async#_controller","dart:async#_subscribe","dart:async#_pendingEvents","dart:async#_varData","varData","addSubscription","resume","dart:async#_setPendingEvents","dart:async#_guardCallback","dart:async#_cancel","dart:async#_cancelFuture","dart:async#_pending","dart:async#_onCancel","dart:async#_recordCancel","onCancel","whenComplete","dart:async#_doneFuture","addStreamFuture","dart:async#_onDone","dart:async#_onError","dart:async#_onData","dart:async#_checkState","lastPendingEvent","dart:async#_onPause","dart:async#_onResume","schedule","onResume","pause","onPause","firstPendingEvent","perform","onListen","dart:async#_complete","package:actions/src/node/process_manager.dart#_jsProcess","noSuchMethod","argumentCount","names","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","dart:async#_#_SinkTransformerStreamSubscription#_transformerSink#A=","dart:async#_sinkMapper","dart:async#_subscription=","dart:async#_stream","dart:async#_handleData","dart:async#_handleDone","dart:async#_handleError","dart:async#_sink","dart:async#_sendDone","dart:async#_addPending","dart:async#_sendError","runBinaryGuarded","runUnaryGuarded","addError","dart:async#_sendData","dart:convert#_sink","addSlice","dart:convert#_skipLeadingLF","dart:convert#_addLines","dart:convert#_carry","dart:convert#_useCarry","dart:convert#_multiCarry","dart:convert#_eventSink","startChunkedConversion","dart:convert#_chunkedSink","asUtf8Sink","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_buffer","dart:convert#_decoder","convertGeneral","dart:convert#_convertRecursive","dart:_interceptors#_tdivFast","decodeGeneral","dart:_interceptors#_tdivSlow","flush","package:actions/src/node/process_manager.dart#_init","package:actions/src/node/process_manager.dart#_activeProcesses","package:actions/src/node/process_manager.dart#_stdinSink","package:actions/src/node/process_manager.dart#_stdinSub","package:actions/src/node/process_manager.dart#_stdin","executable","getRange","stdin","dart:io#_isBound","dart:io#_isClosed","dart:io#_controllerInstance","dart:io#_closeTarget","dart:io#_doneCompleter","dart:io#_target","dart:async#_target","dart:io#_completeDoneValue","dart:io#_completeDoneError","dart:io#_hasError","dart:io#_controller","dart:async#_badEventState","dart:async#_addError","dart:async#_ensurePendingEvents","dart:io#_controllerCompleter","addStream","dart:async#_add","dart:async#_close","dart:io#_encoding","dart:async#_ensureDoneFuture","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","remaining","dart:_late_helper#_readLocal","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","createTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","contains","endsWith","library","uri","scheme","prettyUri","style","pathFromUri","normalize","relative","split","parts","root","insert","separators","getRoot","isRootRelative","isSeparator","rootLength","package:path/src/context.dart#_needsNormalization","insertAll","separator","needsSeparator","removeTrailingSeparators","removeLast","path","replaceFirst","convert","dart:_internal#_string","allMatches","dart:_js_helper#_nativeRegExp","replaceRange","dart:_js_helper#_input","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","indexOf","relativeRootPattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","dart:_js_helper#_nativeAnchoredRegExp","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","package:path/src/context.dart#_current","absolute","pathsEqual","removeAt","codeUnitsEqual","joinAll","containsSeparator","resolve","toFilePath","dart:core#_host","hasAuthority","dart:core#_userInfo","userInfo","port","dart:core#_query","hasQuery","query","dart:core#_fragment","hasFragment","fragment","dart:core#_fragmentStart","dart:core#_uri","dart:core#_queryStart","hasPort","dart:core#_portStart","dart:core#_pathStart","dart:core#_schemeEnd","dart:core#_hostStart","dart:core#_port","dart:core#_text","dart:core#_#_Uri#_text#FI","pathSegments","dart:core#_#_Uri#pathSegments#FI","codeUnitAt","hasAbsolutePath","resolveUri","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_#_Uri#hashCode#FI","dart:core#_hashCodeCache","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_isPort","dart:core#_schemeCache","removeFragment","dart:core#_computeScheme","dart:_interceptors#_shrReceiverPositive","dart:convert#_bufferIndex","dart:convert#_writeSurrogate","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","bufferCache","dart:convert#_encoder","dart:convert#_alphabet","dart:convert#_add","encode","createBuffer","toRadixString","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_interceptors#_defaultSplit","dart:_internal#_hasSkipped","isEmpty","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","decode","runTearDowns","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","dart:convert#_stringSink","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","take","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isNaN","isFinite","remainder","abs","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","$1","$2","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_captured_this_0","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_shapeTag","dart:_js_helper#_sameShape","dart:_js_helper#_getRti","dart:_js_helper#_equalFields","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","readFinal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","isCompleted","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_modelGeneratedCode","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","dart:async#_captured_completer_0","dart:async#_captured_T_1","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_ignore","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","transform","dart:async#_captured_future_1","stream","sink","dart:async#_isCanceled","hasListener","dart:async#_isInitialState","isClosed","isPaused","dart:async#_isAddingStream","dart:async#_mayAddEvent","done","dart:async#_closeUnchecked","dart:async#_recordPause","dart:async#_recordResume","dart:async#_createSubscription","dart:async#_isInputPaused","dart:async#_isClosed","dart:async#_waitsForCancel","dart:async#_inCallback","dart:async#_hasPending","dart:async#_isPaused","dart:async#_canFire","dart:async#_mayResumeInput","dart:async#_cancelOnError","dart:async#_decrementPauseCount","dart:async#_onListen","isScheduled","dart:async#_eventScheduled","cancelSchedule","handleNext","dart:async#_captured_dispatch_1","dart:async#_stateData","dart:async#_hasValue","dart:async#_transformerSink","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_T_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_this_0","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","dart:convert#_captured_this_0","encoder","dart:convert#_allowInvalid","dart:convert#_urlSafe","fuse","dart:convert#_toEncodable","dart:convert#_addCarry","asStringSink","convertSingle","convertChunked","dart:core#_box_0","dart:core#_captured_sb_1","millisecondsSinceEpoch","year","month","day","hour","minute","second","millisecond","microsecond","inMilliseconds","inMicroseconds","dart:core#_duration","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","writeln","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:io#_captured_this_0","dart:io#_encodingMutable","errorCode","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","onExit","package:actions/src/chromedriver/downloads.dart#_captured_version_0","package:actions/src/chromedriver/downloads.dart#_captured_patchVersion_0","revision","package:actions/src/chromedriver/downloads.dart#_captured_platform_0","chrome","package:actions/src/chromedriver/downloads.dart#_captured_#0#0_0","package:actions/src/chromedriver/downloads.dart#_captured_#0#4_0","package:actions/src/chromedriver/downloads.dart#_captured_#0#1_0","package:actions/src/node/child_process.dart#_captured_controller_0","package:actions/src/node/child_process.dart#_captured_#this_0","package:actions/src/node/child_process.dart#_captured_onData_1","package:actions/src/node/child_process.dart#_captured_onDone_2","package:actions/src/node/child_process.dart#_captured_onError_3","package:actions/src/node/child_process.dart#_captured_completer_0","package:actions/src/node/child_process.dart#_captured_T_1","package:actions/src/node/process_manager.dart#_captured_echoOutput_0","package:actions/src/node/process_manager.dart#_captured_stdout_1","package:actions/src/node/process_manager.dart#_captured_stderr_1","kill","package:actions/src/node/process_manager.dart#_box_0","package:actions/src/node/process_manager.dart#_captured_this_0","package:aws_common/src/util/stream.dart#_captured_controller_0","package:aws_common/src/util/stream.dart#_captured_T_1","package:aws_common/src/util/stream.dart#_captured_closeWhenDone_0","package:aws_common/src/util/stream.dart#_captured_controller_1","package:aws_common/src/util/stream.dart#_captured_completer_2","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_#0#0_0","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeVersion_0","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeDriverUrl_0","file:///Users/dnnoyes/Projects/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeVersion_1","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$indexSet","$index","$add","$mul","$le","$sub","$lt","$eq","$mod","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$gt","$ge","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","identityHashCode","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldNI","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_getRti","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_rtiBind","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","sync","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","writeFinalChunk","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","hash4","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","getProperty","NullableObjectUtilExtension|jsify","callMethod","_callMethodUnchecked2","FunctionToJSExportedDartFunction|get#toJS","_lineStart","_columnStart","_maps","_chains","_callMethodUnchecked1","_callMethodUnchecked0","JSPromiseToFuture|get#toDart","NullableUndefineableJSAnyExtension|dartify","_callMethodUnchecked4","JSObjectUtilExtension|getProperty","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_handleIEtoString","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_equalFields","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","localADI","sharedEmptyArray","_mayComplete","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_isAddingStream","_mayAddEvent","_isInputPaused","_isCanceled","_closeUnchecked","_isInitialState","zoned","_registerDataHandler","_registerDoneHandler","_recordPause","_recordResume","_decrementPauseCount","_hasPending","_mayResumeInput","_waitsForCancel","_createSubscription","_isClosed","_transformerSink","_delegate","_hasTableEntry","_isUpgraded","parseHexByte","eventTransformed","_addCarry","StringBuffer.isNotEmpty","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","fromMillisecondsSinceEpoch","isJavaScriptSimpleObject","jsonDecode","IterableExtension|sortedBy","_activeProcesses","_stdin","_stdout","_stderr","_doneCompleter","_StreamSinkImpl._doneCompleter","NodeChildProcess|get#onSpawn","NodeChildProcess|get#onError","NodeChildProcess|get#onClose","NodeChildProcess|get#onExit","_wrapAwaitedExpression","Uint8ListToJSUint8Array|get#toJS","fromList","_lineStarts","_consumeValue","identifier","_disabled","_createNode","_callConstructorUnchecked0","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","_successTearDowns","_errorTearDowns"], - "mappings": "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CSA;mCAAKA;UAALA;UACPA;YACEA;;iBACKA;YACLA;;QAGJA;UACEA;;UAG4BA;UAGvBA;YACHA,sBAAMA;UAERA;;;MAGJA;MAGgCA;kBAFRA;QAEfA;;QAKSA,wCAAqCA;QAErDA;UACSA;;MAGXA,OAxiBFA,uCAyiBAA;K;2BAKYC;MAINA;;qBACsBA,4BAA1BA;oBACaA;QACXA;QACAA;UACqBA;UAAfA;8CAAcA;8BAAdA;;UADNA;;UhC30GgBjF;;;UgCg1G6BiF;UAAtBA;qCAAWA;UhCh1GlBjF,oDgCg1GOiF;UhCh1GPjF,oDgCi1GOiF;;;MAGzBA;QACEA;sBACaA;UACXA;YACEA,sBAAoBA;;IAI5BA,C;iBA6KcC;MAmDDA;;;;;;;MAIEA;MAOFA;MAaAA;MAWJA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJ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", + "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/instantiation.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/async/stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/collection/hash_map.dart","org-dartlang-sdk:///lib/collection/linked_hash_map.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/core/date_time.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/map.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/actions.dart","/Users/kylechen/amplify-flutter/actions/lib/src/chromedriver/downloads.dart","/Users/kylechen/amplify-flutter/actions/lib/src/chromedriver/downloads.g.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/child_process.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/src/util.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/aws_common-0.6.1/lib/src/util/stream.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/context.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/parsed_path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/path_exception.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/source_map_stack_trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/parser.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/source_map_span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/vlq.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/location.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/stack_zone_specification.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/unparsed_frame.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/trace.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_trace.dart","/Users/kylechen/amplify-flutter/actions/bin/setup_chromedriver.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/math_patch.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/core.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/http_request.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/actions/tool_cache.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/process.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/algorithms.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/iterable_extensions.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/src/utils.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/lib/src/enum_helpers.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/path.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/utils.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/src/utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/async/stream_transformers.dart","org-dartlang-sdk:///lib/convert/ascii.dart","org-dartlang-sdk:///lib/convert/byte_conversion.dart","org-dartlang-sdk:///lib/convert/chunked_conversion.dart","org-dartlang-sdk:///lib/convert/converter.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/convert/line_splitter.dart","org-dartlang-sdk:///lib/convert/string_conversion.dart","org-dartlang-sdk:///lib/core/duration.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/core/weak.dart","org-dartlang-sdk:///lib/io/io_sink.dart","org-dartlang-sdk:///lib/io/process.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","/Users/kylechen/amplify-flutter/actions/lib/src/action_context.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/process_manager.dart","/Users/kylechen/amplify-flutter/actions/lib/src/os.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/internal_style.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/posix.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/url.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/path-1.8.3/lib/src/style/windows.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/file.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/src/span_mixin.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/lazy_chain.dart","/Users/kylechen/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/src/utils.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/core/string_buffer.dart","/Users/kylechen/amplify-flutter/actions/lib/src/node/fs.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.allocateGrowable","JSArray.markFixed","JSArray.markFixedList","JSArray.markUnmodifiableList","JSString._isWhitespace","JSString._skipLeadingWhitespace","JSString._skipTrailingWhitespace","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","SubListIterable","MappedIterable","TakeIterable","SkipIterable","EfficientLengthSkipIterable","IterableElementError.noElement","IterableElementError.tooFew","instantiate1","Instantiation1","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.currentUri","Primitives._fromCharCodeApply","Primitives.stringFromCodePoints","Primitives.stringFromCharCodes","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.lazyAsJsDate","Primitives.getYear","Primitives.getMonth","Primitives.getDay","Primitives.getHours","Primitives.getMinutes","Primitives.getSeconds","Primitives.getMilliseconds","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","constantHashCode","fillLiteralMap","_invokeClosure","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","defineProperty","lookupAndCacheInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","lookupInterceptor","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","escapeReplacement","stringReplaceFirstRE","quoteStringForRegExp","stringReplaceAllUnchecked","stringReplaceAllGeneral","stringReplaceAllUncheckedString","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","stringReplaceFirstUnchecked","stringReplaceRangeUnchecked","throwLateFieldNI","throwLateFieldADI","_Cell.named","_InitializedCell.named","_ensureNativeList","NativeInt8List._create1","NativeUint8List.view","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getFutureFromFutureOr","Rti._getIsSubtypeCache","Rti._isUnionOfFunctionType","Rti._getCanonicalRecipe","findType","instantiatedGenericFunctionType","Rti._getInterfaceTypeArguments","_substitute","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","_isClosure","instanceType","_isDartObject","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","getRuntimeTypeOfClosure","_structuralTypeOf","getRtiForRecord","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","evaluateRtiForRecord","typeLiteral","_installSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","checkTypeBound","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isTopType","Rti._getReturnType","_rtiToString","Rti._getGenericFunctionParameterIndex","_unminifyOrTag","_Universe.findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._lookupStarRti","_Universe._canonicalRecipeOfStar","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._canonicalRecipeOfQuestion","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._canonicalRecipeOfFutureOr","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._canonicalRecipeOfBinding","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._canonicalRecipeOfGenericFunction","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.pushStackFrame","_Parser.handleOptionalGroup","_Parser.collectArray","_Parser.handleNamedGroup","_Parser.collectNamed","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","_isFunctionSubtype","_isInterfaceSubtype","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isStrongTopType","_Utils.objectAssign","_Utils.newArrayOrEmpty","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","Timer._createTimer","_TimerImpl","_TimerImpl.periodic","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","_SyncStarIterator._terminatedBody","AsyncError","AsyncError.defaultStackTrace","Future._#value#tearOff","Future.value","_Future.immediate","Future.wait","Future.error","_Future.immediateError","Future.any","Completer.sync","_Completer.future","FutureExtensions.ignore","FutureExtensions._ignore","_Future.value","_Future.zoneValue","_Future._chainCoreFutureSync","_Future._chainCoreFutureAsync","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","StreamController","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","_rootHandleUncaughtError","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootRegisterCallback","_rootRegisterUnaryCallback","_rootRegisterBinaryCallback","_rootErrorCallback","_rootScheduleMicrotask","_rootCreateTimer","_rootCreatePeriodicTimer","_rootPrint","_rootFork","_CustomZone","runZoned","_runZoned","HashMap","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap","LinkedHashMap._empty","HashMap.from","LinkedHashMap.from","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","Utf8Decoder._convertIntercepted","Utf8Decoder._convertInterceptedUint8List","Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Base64Encoder.encodeChunk","_Utf8Decoder.errorDescription","_Utf8Decoder._makeUint8List","Expando._checkType","Expando._badExpandoKey","int.parse","Error._throw","List.filled","List.from","List.of","List._fixedOf","List._of","List.unmodifiable","String.fromCharCodes","String.fromCharCode","String._stringFromIterable","RegExp","StringBuffer._writeAll","NoSuchMethodError.withInvocation","Uri.base","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","StackTrace.current","DateTime._fourDigits","DateTime._threeDigits","DateTime._twoDigits","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","ArgumentError.checkNotNull","RangeError","RangeError.value","RangeError.range","RangeError.checkValueInInterval","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Map.castFrom","Object.hash","Uri.dataFromString","UriData.fromString","Uri.parse","_Uri.notSimple","Uri.decodeComponent","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri","JSString.isNotEmpty","_Uri._defaultPort","_Uri._fail","_Uri.file","_Uri._checkNonWindowsPathReservedCharacters","_Uri._checkWindowsPathReservedCharacters","ListIterable.iterator","_Uri._checkWindowsDriveLetter","_Uri._makeFileUri","_Uri._makeWindowsFileUrl","JSString.replaceAll","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","JSArray.map","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._packageNameEnd","_Uri._toWindowsFilePath","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._writeUri","UriData._validateMimeType","UriData._parse","UriData._uriEncodeBytes","_createTables","_scan","_SimpleUri._packageNameEnd","_skipPackageNameChars","_caseInsensitiveCompareStart","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_noJsifyRequired","jsify","promiseToFuture","Completer","_noDartifyRequired","dartify","wrapMain","ChromePlatform.fromOsArch","_$AllChromeDownloadsFromJson","_$ChromeVersionDownloadsFromJson","_$ChromeDownloadFromJson","ChildProcess|spawn","NodeReadableStream|get#stream","_StreamController.stream","EventEmitter|once","unreachable","StreamForward.forward","Context","_parseUri","_validateArgList","JSArray.take","ListIterable.map","ParsedPath.parse","PathException","Style._getPlatformStyle","mapStackTrace","Iterable.whereType","_prettifyMember","JSString.replaceAllMapped","parseJson","MultiSectionMapping.fromJson","SingleMapping.fromJson","SourceMapSpan","decodeVlq","SourceLocation","Chain.capture","StackZoneSpecification._chains","StackZoneSpecification.toSpec","Chain.parse","WhereIterable.map","JSArray.where","Frame._#parseVM#tearOff","Frame.parseVM","Frame._#parseV8#tearOff","Frame.parseV8","Frame._parseFirefoxEval","Frame._#parseFirefox#tearOff","Frame.parseFirefox","Frame._#parseFriendly#tearOff","Frame.parseFriendly","Frame._uriOrPathToUri","Frame._catchFormatException","UnparsedFrame","Trace.from","Trace.parse","Trace._#parseVM#tearOff","Trace.parseVM","Trace._parseVM","Trace.parseV8","Trace.parseJSCore","Trace.parseFirefox","Trace._#parseFriendly#tearOff","Trace.parseFriendly","Trace","main","_installChromedriver","printString","max","pow","Core|withGroup","Core|setFailed","HttpClient|getJson","ToolCache|find","ToolCache|downloadTool","ToolCache|extractZip","ToolCache|cacheDir","Process|get#platform","Process|get#arch","Process|get#env","Process|exit","mergeSortBy","_movingInsertionSort","_mergeSort","_merge","IterableExtension.firstWhereOrNull","IterableExtension.lastOrNull","compareComparable","$enumDecode","current","isAlphabetic","isDriveLetter","binarySearch","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.toString","JavaScriptFunction.toString","JavaScriptBigInt.hashCode","JavaScriptBigInt.toString","JavaScriptSymbol.hashCode","JavaScriptSymbol.toString","List.castFrom","JSArray.cast","JSArray.add","JSArray.removeAt","JSArray.insert","JSArray.insertAll","JSArray.removeLast","JSArray.addAll","JSArray._addAllFromArray","JSArray.join","JSArray.join[function-entry$0]","JSArray.skip","JSArray.elementAt","JSArray.sublist","JSArray.getRange","JSArray.first","JSArray.last","JSArray.setRange","JSArray.setRange[function-entry$3]","JSArray.contains","JSArray.isEmpty","JSArray.toString","JSArray.toList","JSArray._toListGrowable","JSArray.toList[function-entry$0]","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.compareTo","JSNumber.isNegative","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber.~/","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shlPositive","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.codeUnitAt","JSString.allMatches","allMatchesInStringUnchecked","JSString.allMatches[function-entry$1]","JSString.matchAsPrefix","JSString.+","JSString.endsWith","JSString.replaceFirst","JSString.split","JSString.replaceRange","JSString._defaultSplit","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.trim","JSString.*","JSString.padLeft","JSString.padRight","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.lastIndexOf","JSString.lastIndexOf[function-entry$1]","JSString.contains","JSString.compareTo","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.isEmpty","_CastIterableBase.skip","_CastIterableBase.elementAt","_CastIterableBase.contains","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","_CastListBase.getRange","CastList.cast","CastMap.cast","CastMap.containsKey","CastMap.[]","CastMap.forEach","CastMap.keys","CastMap.values","CastMap.length","CastMap.isEmpty","CastMap.entries","CastMap.forEach.","CastMap_forEach_closure","CastMap.entries.","CastMap_entries_closure","LateError.toString","CodeUnits.length","CodeUnits.[]","nullFuture.","ListIterable.isEmpty","ListIterable.contains","ListIterable.join","ListIterable.join[function-entry$0]","ListIterable.fold","ListIterable.skip","SubListIterable._endIndex","SubListIterable._startIndex","SubListIterable.length","SubListIterable.elementAt","SubListIterable.skip","SubListIterable.toList","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterable.isEmpty","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterator.moveNext","WhereIterator.current","ExpandIterable.iterator","ExpandIterator","ExpandIterator.current","ExpandIterator.moveNext","ExpandIterator._currentExpansion","ExpandIterator._current","TakeIterable.iterator","EfficientLengthTakeIterable.length","TakeIterator.moveNext","TakeIterator.current","SkipIterable.skip","SkipIterable.iterator","EfficientLengthSkipIterable.length","EfficientLengthSkipIterable.skip","SkipIterator.moveNext","SkipIterator.current","SkipWhileIterable.iterator","SkipWhileIterator.moveNext","SkipWhileIterator.current","EmptyIterable.iterator","EmptyIterable.isEmpty","EmptyIterable.length","EmptyIterable.elementAt","EmptyIterable.contains","EmptyIterable.map","EmptyIterable.skip","EmptyIterator.moveNext","EmptyIterator.current","WhereTypeIterable.iterator","WhereTypeIterator.moveNext","WhereTypeIterator.current","UnmodifiableListMixin.[]=","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.cast","ConstantMap.isEmpty","ConstantMap.toString","ConstantMap.entries","_makeSyncStarIterable","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","ConstantStringMap.values","_KeysOrValues.length","_KeysOrValues.isEmpty","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","GeneralConstantMap._getMap","GeneralConstantMap.containsKey","GeneralConstantMap.[]","GeneralConstantMap.forEach","GeneralConstantMap.keys","JsLinkedHashMap.keys","GeneralConstantMap.values","GeneralConstantMap.length","Instantiation","Instantiation.==","Instantiation.hashCode","Instantiation.toString","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.length","JsLinkedHashMap.isEmpty","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap.addAll","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.","JsLinkedHashMap_values_closure","JsLinkedHashMap.addAll.","JsLinkedHashMap_addAll_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.isEmpty","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterable.contains","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","JsConstantLinkedHashMap.internalComputeHashCode","JsConstantLinkedHashMap.internalFindBucketIndex","initHooks.","_Record.toString","_Record._toString","_Record._fieldKeys","_Record._computeFieldKeys","_Record2._getFieldValues","_Record2.==","_Record2.hashCode","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._nativeAnchoredVersion","JSSyntaxRegExp.firstMatch","JSSyntaxRegExp.allMatches","JSSyntaxRegExp.allMatches[function-entry$1]","JSSyntaxRegExp._execGlobal","JSSyntaxRegExp._execAnchored","JSSyntaxRegExp.matchAsPrefix","_MatchImplementation.start","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","StringMatch.end","StringMatch.[]","_StringAllMatchesIterable.iterator","_StringAllMatchesIterator.moveNext","_StringAllMatchesIterator.current","_Cell._readLocal","_InitializedCell._readFinal","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","NativeUint8List.sublist","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_TimerImpl.periodic.","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","_SyncStarIterator.current","_SyncStarIterator._resumeBody","_SyncStarIterator.moveNext","_SyncStarIterator._yieldStar","_SyncStarIterable.iterator","_SyncStarIterator._current","_SyncStarIterator._nestedIterator","AsyncError.toString","Future.wait.handleError","Future.wait.","Future_wait_closure","Future.any.onValue","_Completer.isCompleted","Future_any_onValue","Future.any.onError","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_AsyncCompleter._completeError","_SyncCompleter.complete","_SyncCompleter.complete[function-entry$0]","_SyncCompleter._completeError","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future.whenComplete","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._complete","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_StreamController._pendingEvents","_StreamController._ensurePendingEvents","_StreamController._subscription","_StreamController._badEventState","_StreamController.addStream","_AddStreamState","_StreamControllerAddStreamState","_StreamController.isPaused","_StreamController._ensureDoneFuture","_StreamController.add","_StreamController.addError","_StreamController.addError[function-entry$1]","_StreamController.close","_StreamController._add","_StreamController._addError","_StreamController._close","_StreamController._subscribe","_BufferingStreamSubscription","_BufferingStreamSubscription.zoned","_StreamController._recordCancel","_StreamController.onListen","_StreamController.onCancel","_StreamController._subscribe.","_StreamController._recordCancel.complete","_SyncStreamControllerDispatch._sendData","_SyncStreamControllerDispatch._sendError","_SyncStreamControllerDispatch._sendDone","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onCancel","_ControllerSubscription._onPause","_StreamController._recordPause","_ControllerSubscription._onResume","_StreamController._recordResume","_StreamSinkWrapper.add","_StreamSinkWrapper.addError","_StreamSinkWrapper.close","_AddStreamState.cancel","_AddStreamState.cancel.","_BufferingStreamSubscription._setPendingEvents","_BufferingStreamSubscription.pause","_PendingEvents.cancelSchedule","_BufferingStreamSubscription.resume","_BufferingStreamSubscription.cancel","_BufferingStreamSubscription._cancel","_BufferingStreamSubscription._add","_BufferingStreamSubscription._addError","_BufferingStreamSubscription._close","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._onCancel","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._sendError","_BufferingStreamSubscription._sendDone","_BufferingStreamSubscription._guardCallback","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_BufferingStreamSubscription._pending","_BufferingStreamSubscription._sendError.sendError","_BufferingStreamSubscription._sendDone.sendDone","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_StreamImpl.listen[function-entry$1$onDone$onError]","_DelayedEvent.next","_DelayedData.perform","_DelayedError.perform","_DelayedDone.perform","_DelayedDone.next","_PendingEvents.schedule","_PendingEvents.add","_PendingEvents.schedule.","_EventSinkWrapper.add","_SinkTransformerStreamSubscription._add","_EventSinkWrapper.addError","_SinkTransformerStreamSubscription._addError","_EventSinkWrapper.close","_SinkTransformerStreamSubscription._close","_SinkTransformerStreamSubscription._onPause","_SinkTransformerStreamSubscription._onResume","_SinkTransformerStreamSubscription._onCancel","_SinkTransformerStreamSubscription._handleData","_SinkTransformerStreamSubscription._handleError","_SinkTransformerStreamSubscription._handleDone","_SinkTransformerStreamSubscription._#_SinkTransformerStreamSubscription#_transformerSink#A","_SinkTransformerStreamSubscription._subscription","_BoundSinkStream.listen","_SinkTransformerStreamSubscription","_BoundSinkStream.listen[function-entry$1]","_BoundSinkStream.listen[function-entry$1$onDone$onError]","_ZoneDelegate.registerCallback","_ZoneDelegate.registerUnaryCallback","_ZoneDelegate.registerBinaryCallback","_ZoneDelegate.errorCallback","_Zone._processUncaughtError","_CustomZone._delegate","_CustomZone._parentDelegate","_CustomZone.errorZone","_CustomZone.runGuarded","_CustomZone.runUnaryGuarded","_CustomZone.runBinaryGuarded","_CustomZone.bindCallback","_CustomZone.bindUnaryCallback","_CustomZone.bindCallbackGuarded","_CustomZone.[]","_CustomZone.handleUncaughtError","_CustomZone.fork","_CustomZone.run","_CustomZone.runUnary","_CustomZone.runBinary","_CustomZone.registerCallback","_CustomZone.registerUnaryCallback","_CustomZone.registerBinaryCallback","_CustomZone.errorCallback","_CustomZone.scheduleMicrotask","_CustomZone._registerCallback","_CustomZone._registerUnaryCallback","_CustomZone._registerBinaryCallback","_CustomZone._errorCallback","_CustomZone._handleUncaughtError","_CustomZone.bindCallback.","_CustomZone_bindCallback_closure","_CustomZone.bindUnaryCallback.","_CustomZone_bindUnaryCallback_closure","_CustomZone.bindCallbackGuarded.","_rootHandleError.","_RootZone._map","_RootZone._run","_RootZone._runUnary","_RootZone._runBinary","_RootZone._registerCallback","_RootZone._registerUnaryCallback","_RootZone._registerBinaryCallback","_RootZone._errorCallback","_RootZone._scheduleMicrotask","_RootZone._createTimer","_RootZone._createPeriodicTimer","_RootZone._print","_RootZone._fork","_RootZone._handleUncaughtError","_RootZone.parent","_RootZone._delegate","_RootZone._parentDelegate","_RootZone.errorZone","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.runBinaryGuarded","_RootZone.bindCallback","_RootZone.bindUnaryCallback","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.handleUncaughtError","_RootZone.fork","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerCallback","_RootZone.registerUnaryCallback","_RootZone.registerBinaryCallback","_RootZone.errorCallback","_RootZone.scheduleMicrotask","_RootZone.bindCallback.","_RootZone_bindCallback_closure","_RootZone.bindUnaryCallback.","_RootZone_bindUnaryCallback_closure","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.isEmpty","_HashMap.values","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_HashMap._set","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._computeHashCode","_HashMap._getBucket","_HashMap._findBucketIndex","_HashMap.values.","_HashMap_values_closure","_IdentityHashMap._computeHashCode","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.isEmpty","_HashMapKeyIterable.iterator","_HashMapKeyIterable.contains","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","HashMap.from.","LinkedHashMap.from.","ListBase.iterator","ListBase.elementAt","ListBase.isEmpty","ListBase.contains","ListBase.map","ListBase.skip","ListBase.toList","ListBase.toList[function-entry$0]","ListBase.cast","ListBase.sublist","ListBase.sublist[function-entry$1]","ListBase.getRange","ListBase.fillRange","ListBase.toString","MapBase.cast","MapBase.forEach","MapBase.entries","MapBase.containsKey","MapBase.length","MapBase.isEmpty","MapBase.values","MapBase.toString","MapBase.entries.","MapBase_entries_closure","MapBase.mapToString.","_MapBaseValueIterable.length","_MapBaseValueIterable.isEmpty","_MapBaseValueIterable.iterator","_MapBaseValueIterator.moveNext","_MapBaseValueIterator.current","_MapBaseValueIterator._current","MapView.cast","MapView.[]","MapView.containsKey","MapView.forEach","MapView.length","MapView.keys","MapView.toString","MapView.values","MapView.entries","UnmodifiableMapView.cast","_JsonMap.[]","_JsonMap.length","_JsonMap.isEmpty","_JsonMap.keys","_JsonMap.values","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._process","_JsonMap.values.","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_JsonMapKeyIterable.contains","_JsonDecoderSink.close","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","AsciiCodec.encode","_UnicodeSubsetEncoder.convert","_UnicodeSubsetEncoder.startChunkedConversion","_UnicodeSubsetEncoderSink.close","_UnicodeSubsetEncoderSink.addSlice","Base64Codec.normalize","Base64Encoder.startChunkedConversion","_Utf8Base64EncoderSink","_AsciiBase64EncoderSink","_Base64Encoder.createBuffer","_Base64Encoder.encode","_BufferCachingBase64Encoder.createBuffer","Uint8List.view","_Base64EncoderSink.add","_Base64EncoderSink.close","_Base64EncoderSink.addSlice","_AsciiBase64EncoderSink._add","_Utf8Base64EncoderSink._add","ByteConversionSink.addSlice","_ByteAdapterSink.add","_ByteAdapterSink.close","_ConverterStreamEventSink.add","_ConverterStreamEventSink.addError","_ConverterStreamEventSink.close","Converter.startChunkedConversion","Converter.bind","Stream.eventTransformed","Converter.bind.","JsonCodec.decode","JsonCodec.decoder","JsonDecoder.startChunkedConversion","_JsonDecoderSink","LineSplitter.bind","LineSplitter.bind.","_LineSplitterEventSink","_LineSplitterSink.addSlice","_LineSplitterSink.close","_LineSplitterSink._addLines","_LineSplitterSink._addCarry","_LineSplitterSink._useCarry","_LineSplitterEventSink.addError","StringConversionSink.add","StringConversionSink.asUtf8Sink","_Utf8ConversionSink._","_Utf8ConversionSink","_StringSinkConversionSink.close","_StringSinkConversionSink.addSlice","_StringSinkConversionSink.add","_StringSinkConversionSink.asUtf8Sink","_Utf8StringSinkAdapter","_StringAdapterSink.add","_StringAdapterSink.addSlice","_StringAdapterSink.close","_Utf8StringSinkAdapter.close","_Utf8StringSinkAdapter.add","_Utf8StringSinkAdapter.addSlice","_Utf8ConversionSink.close","StringBuffer.isEmpty","_Utf8ConversionSink.add","_Utf8ConversionSink.addSlice","Utf8Encoder.convert","Utf8Encoder.startChunkedConversion","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","_Utf8EncoderSink.close","_Utf8EncoderSink.addSlice","Utf8Decoder.convert","Utf8Decoder.startChunkedConversion","Utf8Decoder.bind","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.flush","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","DateTime.==","DateTime.compareTo","DateTime.hashCode","DateTime.toString","Duration.==","Duration.hashCode","Duration.compareTo","Duration.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.map","Iterable.contains","Iterable.join","Iterable.toList","Iterable.toList[function-entry$0]","Iterable.length","Iterable.isEmpty","Iterable.skip","Iterable.skipWhile","Iterable.first","Iterable.last","Iterable.elementAt","Iterable.toString","MapEntry.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.pathSegments","_Uri._computePathSegments","_Uri.hashCode","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.isScheme","_Uri._mergePaths","_Uri.resolve","_Uri.resolveUri","_Uri.hasEmptyPath","_Uri.hasAuthority","_Uri.hasPort","_Uri.hasQuery","_Uri.hasFragment","_Uri.hasAbsolutePath","_Uri.toFilePath","_Uri._toFilePath","_Uri.toString","_Uri.==","_Uri._#_Uri#pathSegments#FI","_Uri._makePath.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAbsolutePath","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.pathSegments","_SimpleUri._isPort","_SimpleUri.removeFragment","_SimpleUri.resolve","_SimpleUri.resolveUri","_SimpleUri._simpleMerge","_SimpleUri.toFilePath","_SimpleUri._toFilePath","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri._toNonSimple","_SimpleUri.toString","Expando.[]=","Expando.toString","_StreamSinkImpl.add","_StreamSinkImpl.addError","_StreamSinkImpl.close","_StreamSinkImpl._closeTarget","_StreamSinkImpl._completeDoneValue","_StreamSinkImpl._completeDoneError","_StreamSinkImpl._controller","_StreamSinkImpl._controllerInstance","_StreamSinkImpl._controller.","ProcessStartMode.toString","ProcessException.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValue","_dateToDateTime","NullRejectionException.toString","wrapMain.","wrapMain..","wrapMain_closure","parse","FileSystem|readFileSync","ActionContext.runTearDowns","ActionResult._enumToString","AllChromeDownloads.chromeDriverUrl","AllChromeDownloads.chromeDriverUrl.","ChromeVersion.chromeDriverUrl","ChromeVersion.chromeDriverUrl.","ChromePlatform._enumToString","ChromePlatform.fromOsArch.","_$AllChromeDownloadsFromJson.","ChromeVersion.fromJson","_$ChromeVersionFromJson","_$ChromeVersionDownloadsFromJson.","ChildProcess|spawn.","NodeReadableStream|get#stream.onData","NodeReadableStream|get#stream.onError","NodeReadableStream|get#stream.onDone","NodeReadableStream|get#stream[function-entry$0].onDone","NodeReadableStream|get#stream.","EventEmitter|once.","EventEmitter|once[function-entry$0].","EventEmitter|once[function-entry$1].","EventEmitter|once[function-entry$2].","processManager.","NodeProcessManager","NodeProcessManager.run","NodeProcess.stdout","NodeProcess.stderr","NodeProcessManager.start","NodeProcess","NodeProcessManager.close","NodeProcessManager.run.","NodeProcess._init","_StreamController.sink","NodeProcess.exitCode","NodeProcess.pid","NodeProcess.close","NodeProcess.kill","NodeProcess._stdinSub","NodeProcess._init.","OS._enumToString","Arch._enumToString","StreamForward|forward.","StreamForward_forward_closure","Context.absolute","Context.absolute[function-entry$1]","Context.join","JSArray.whereType","Context.join[function-entry$2]","Context.joinAll","Context.split","Context.normalize","Context._needsNormalization","Context.relative","Context.isRelative","Context.relative[function-entry$1]","Context._isWithinOrEquals","Context._isWithinOrEqualsFast","Context._pathDirection","Context.toUri","Context.prettyUri","Context.joinAll.","Context.split.","_validateArgList.","_PathDirection.toString","_PathRelation.toString","InternalStyle.getRoot","InternalStyle.relativePathToUri","InternalStyle.codeUnitsEqual","InternalStyle.pathsEqual","ParsedPath.hasTrailingSeparator","ParsedPath.removeTrailingSeparators","ParsedPath.normalize","ParsedPath.toString","ParsedPath.parts","ParsedPath.separators","PathException.toString","Style.toString","PosixStyle.containsSeparator","PosixStyle.isSeparator","PosixStyle.needsSeparator","PosixStyle.rootLength","PosixStyle.rootLength[function-entry$1]","PosixStyle.isRootRelative","PosixStyle.pathFromUri","PosixStyle.absolutePathToUri","UrlStyle.containsSeparator","UrlStyle.isSeparator","UrlStyle.needsSeparator","UrlStyle.rootLength","UrlStyle.rootLength[function-entry$1]","UrlStyle.isRootRelative","UrlStyle.pathFromUri","UrlStyle.relativePathToUri","UrlStyle.absolutePathToUri","WindowsStyle.containsSeparator","WindowsStyle.isSeparator","WindowsStyle.needsSeparator","WindowsStyle.rootLength","WindowsStyle.rootLength[function-entry$1]","WindowsStyle.isRootRelative","WindowsStyle.pathFromUri","WindowsStyle.absolutePathToUri","WindowsStyle.codeUnitsEqual","WindowsStyle.pathsEqual","WindowsStyle.absolutePathToUri.","mapStackTrace.","_prettifyMember.","MultiSectionMapping._indexFor","MultiSectionMapping.spanFor","MultiSectionMapping.spanFor[function-entry$2$uri]","MultiSectionMapping.spanFor[function-entry$2$files]","MultiSectionMapping.toString","SourceFile.decoded","SourceFile.fromString","SingleMapping._segmentError","SingleMapping._findLine","SingleMapping._findColumn","SingleMapping.spanFor","SourceMapSpan.identifier","SingleMapping.spanFor[function-entry$2$uri]","SingleMapping.spanFor[function-entry$2$files]","SingleMapping.toString","SingleMapping.fromJson.","SingleMapping._findLine.","SingleMapping._findColumn.","TargetLineEntry.toString","TargetEntry.toString","_MappingTokenizer.moveNext","_MappingTokenizer.current","_MappingTokenizer.hasTokens","_MappingTokenizer.nextKind","_MappingTokenizer.toString","_digits.","SourceFile.length","SourceLocation.distance","SourceLocation.compareTo","SourceLocation.==","SourceLocation.hashCode","SourceLocation.toString","SourceSpanBase","SourceSpanMixin.sourceUrl","SourceSpanMixin.length","SourceSpanMixin.compareTo","SourceSpanMixin.==","SourceSpanMixin.hashCode","SourceSpanMixin.toString","Chain.toTrace","JSArray.expand","Chain.toString","Chain.capture.","Chain_capture_closure","Chain.parse.","Chain.toTrace.","Chain.toString.","Chain.toString..","Frame.library","Frame.location","Frame.toString","Frame.parseVM.","Frame.parseV8.","Frame.parseV8..parseLocation","Frame._parseFirefoxEval.","Frame.parseFirefox.","Frame.parseFriendly.","fromUri","LazyChain._chain","LazyChain.traces","LazyChain.toTrace","LazyChain.toString","LazyTrace._trace","LazyTrace.frames","LazyTrace.toString","StackZoneSpecification.chainFor","StackZoneSpecification._registerCallback","StackZoneSpecification._disabled","StackZoneSpecification._createNode","StackZoneSpecification._registerCallback[function-entry$4]","StackZoneSpecification._registerUnaryCallback","StackZoneSpecification._registerUnaryCallback[function-entry$4]","StackZoneSpecification._registerBinaryCallback","StackZoneSpecification._registerBinaryCallback[function-entry$4]","StackZoneSpecification._handleUncaughtError","StackZoneSpecification._errorCallback","StackZoneSpecification._run","StackZoneSpecification._currentTrace","StackZoneSpecification._trimVMChain","StackZoneSpecification._currentNode","StackZoneSpecification.chainFor.","StackZoneSpecification._registerCallback.","StackZoneSpecification__registerCallback_closure","StackZoneSpecification._registerUnaryCallback.","StackZoneSpecification__registerUnaryCallback_closure","StackZoneSpecification._registerUnaryCallback..","StackZoneSpecification__registerUnaryCallback__closure","StackZoneSpecification._registerBinaryCallback.","StackZoneSpecification__registerBinaryCallback_closure","StackZoneSpecification._registerBinaryCallback..","StackZoneSpecification__registerBinaryCallback__closure","StackZoneSpecification._currentTrace.","_Node.toChain","Trace.toString","Trace.from.","Trace._parseVM.","Trace.parseV8.","Trace.parseJSCore.","Trace.parseFirefox.","Trace.parseFriendly.","Trace.toString.","UnparsedFrame.toString","_installChromedriver.","_installChromedriver..","Future._#value#tearOff[function-entry$1]","Future._#value#tearOff[function-entry$0]","_rootRun[function-entry$4]","_rootRunUnary[function-entry$5]","_rootRunBinary[function-entry$6]","_rootRegisterCallback[function-entry$4]","_rootRegisterUnaryCallback[function-entry$4]","_rootRegisterBinaryCallback[function-entry$4]","max[function-entry$2]","compareComparable[function-entry$2]","DART_CLOSURE_PROPERTY_NAME","nullFuture","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","Future._nullFuture","_RootZone._rootMap","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._isWindowsCached","_Uri._needsNoEncoding","_hasErrorStackProperty","_hashSeed","_scannerTables","context","ActionContext","processManager","windows","url","createInternal","Style.posix","PosixStyle","Style.windows","WindowsStyle","Style.url","UrlStyle","Style.platform","_digits","maxInt32","minInt32","_specKey","_vmFrame","_v8Frame","_v8UrlLocation","_v8EvalLocation","_firefoxEvalLocation","_firefoxSafariFrame","_friendlyFrame","_asyncBody","_initialDot","Frame._uriRegExp","Frame._windowsRegExp","StackZoneSpecification.disableKey","_v8Trace","_v8TraceLine","_firefoxEvalTrace","_firefoxSafariTrace","_friendlyTrace","vmChainGap","patchInstance","JS_INTEROP_INTERCEPTOR_TAG","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","LateError","TypeError","objectTypeName","_objectTypeNameNewRti","Object","withLength","value","safeToString","Closure","_Record","_computedFieldKeys","","allocateGrowable","unmodifiable","from","markUnmodifiableList","JSArray","markFixedList","ArrayIterator","ListIterator","ListBase","Iterable","IndexError","iterableToFullString","StringBuffer","toStringVisiting","_writeAll","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","_CyclicInitializationError","forType","_TypeError","compose","eval","create","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","handleTypeArguments","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","handleArguments","toTypes","toTypesNamed","collectArray","_FunctionParameters","_lookupFunctionRti","_lookupRecordRti","_canonicalRecipeJoin","Rti","_installTypeTests","_canonicalRecipeJoinNamed","_createFutureOrRti","Future","_lookupInterfaceRti","_createQuestionRti","_getQuestionFromStar","_createStarRti","_lookupGenericFunctionRti","_lookupBindingRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","findErasedType","bind","fromMessage","_getIsSubtypeCache","_getFutureFromFutureOr","_isUnionOfFunctionType","List","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","_installChromedriver_closure","_Future","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","StreamSubscription","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_FutureListener","_Future__addListener_closure","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_nextCallback","_lastPriorityCallback","_lastCallback","_AsyncCallbackEntry","throwWithStackTrace","_throw","_isInCallbackLoop","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_createTimer","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFutureSync","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_chainCoreFutureAsync","_Future__chainForeignFuture_closure","_Future__chainCoreFutureAsync_closure","_Future__asyncCompleteWithValue_closure","_AsyncCompleter","promiseToFuture_closure","NullRejectionException","fromOsArch","AllChromeDownloads_chromeDriverUrl_closure","IterableExtension|firstWhereOrNull","WhereIterable","bool","of","IterableExtension|get#lastOrNull","Comparable","iterableToShortString","checkNotNegative","range","WhereIterator","_AssertionError","Iterator","noElement","checkValidRange","filled","tooFew","ListIterable","fixed","markFixed","growable","parseInt","_of","StringMatch","ChromeVersion_chromeDriverUrl_closure","_Record_2","ChromePlatform_fromOsArch_closure","named","_InitializedCell","_$AllChromeDownloadsFromJson_closure","AllChromeDownloads","MappedIterator","EfficientLengthMappedIterable","MappedListIterable","ChromeVersion","_$ChromeVersionDownloadsFromJson_closure","ChromeVersionDownloads","ChromeDownload","mapToString","MapBase_mapToString_closure","JsConstantLinkedHashMap","LinkedHashMapKeyIterable","MapBase","_Record2","Duration","hash","combine","finish","_identityHashCodeProperty","Symbol","LinkedHashMapCell","_SyncStarIterable","MapEntry","_SyncStarIterator","_terminatedBody","LinkedHashMap_LinkedHashMap$from_closure","JsLinkedHashMap","castFrom","CastMap","EmptyIterable","SkipIterator","checkNotNull","CastIterator","EfficientLengthIterable","_EfficientLengthCastIterable","Map","dartify_convert","_IdentityHashMap","_getTableEntry","_HashMapKeyIterable","_HashMapKeyIterator","DateTime","_empty","getYear","_fourDigits","getMonth","_twoDigits","getDay","getHours","getMinutes","getSeconds","getMilliseconds","_threeDigits","lazyAsJsDate","_newHashTable","_setTableEntry","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","_installChromedriver__closure","_ControllerStream","StreamTransformer","Stream","String","NodeProcessManager_run_closure","ProcessResult","FutureExtensions|ignore","_ControllerSubscription","_StreamController__subscribe_closure","nullFuture_closure","_StreamController__recordCancel_complete","_AddStreamState_cancel_closure","_PendingEvents","_StreamControllerLifecycle","_EventDispatch","_PendingEvents_schedule_closure","any","_SyncCompleter","Future_any_onError","EventEmitter_once_closure","applyFunction","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","withInvocation","NoSuchMethodError_toString_closure","NoSuchMethodError","ConstantMapView","_KeysOrValues","_KeysOrValuesOrElementsIterator","_MapBaseValueIterable","_MapBaseValueIterator","UnmodifiableMapView","_BoundSinkStream","LineSplitter_bind_closure","EventSink","_EventSinkWrapper","_EventSink","_BufferingStreamSubscription__sendDone_sendDone","_DelayedError","_BufferingStreamSubscription__sendError_sendError","_DelayedData","_StringAdapterSink","Converter_bind_closure","Converter","_ConverterStreamEventSink","Sink","_Utf8Decoder","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromCharCodes","stringFromNativeUint8List","_stringFromIterable","stringFromCodePoints","_fromCharCodeApply","CastList","_IOSinkImpl","_StreamSinkWrapper","NodeProcess__init_closure","StreamForward|forward","_StreamSinkImpl","_StreamSinkImpl__controller_closure","StreamConsumer","ProcessException","NodeReadableStream_get_stream_onData","NodeReadableStream_get_stream_closure","NodeReadableStream_get_stream_onDone","NodeReadableStream_get_stream_onError","_SyncStreamController","ChildProcess_spawn_closure","jsify__convert","_UnreachableError","processManager_closure","wait","Future_wait_handleError","Null","_Cell","capture","StackZoneSpecification","Expando","_ZoneSpecification","_Node","_checkType","Trace_toString_closure","int","_badExpandoKey","Chain","Chain_toString_closure","Chain_toString__closure","LazyTrace","Trace_Trace$from_closure","ExpandIterable","Frame","Chain_toTrace_closure","parseV8","parseJSCore","parseFirefox","parseFriendly","parseVM","_parseVM","Trace__parseVM_closure","Context_split_closure","ParsedPath","_uriDecode","CodeUnits","_hexCharPairToByte","_convertIntercepted","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","checkValueInInterval","JSSyntaxRegExp","_StringAllMatchesIterable","_StringAllMatchesIterator","_MatchImplementation","makeNative","_AllMatchesIterable","_AllMatchesIterator","WhereTypeIterable","WhereTypeIterator","Context_joinAll_closure","_validateArgList_closure","base","_currentUriBase","currentUri","_cachedBaseUri","_cachedBaseString","_parse","_SimpleUri","_makeScheme","_fail","_makeUserInfo","_makeHost","_makePort","_makePath","_makeQuery","_makeFragment","_internal","_defaultPort","_toWindowsFilePath","_checkNonWindowsPathReservedCharacters","_checkWindowsDriveLetter","_checkWindowsPathReservedCharacters","fromCharCode","_removeDotSegments","_packageNameEnd","_normalizeRelativePath","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_normalizeOrSubstring","_normalize","_normalizeEscape","_escapeChar","_Uri__makePath_closure","_normalizePath","_uriEncode","ByteConversionSink","_ByteAdapterSink","_Utf8EncoderSink","_Utf8Encoder","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","_createTables_build","_createTables_setChars","_createTables_setRange","UnmodifiableListMixin","_DataUri","UriData","_Base64Encoder","_BufferCachingBase64Encoder","encodeChunk","view","_checkPadding","_create1","_getPlatformStyle","TakeIterator","Frame_Frame$parseVM_closure","_catchFormatException","dataFromString","_writeUri","_uriEncodeBytes","Codec","_UnicodeSubsetEncoderSink","_validateMimeType","EfficientLengthTakeIterable","Trace$parseFriendly_closure","Frame_Frame$parseFriendly_closure","WindowsStyle_absolutePathToUri_closure","Chain_Chain$parse_closure","Trace$parseFirefox_closure","Frame_Frame$parseFirefox_closure","_parseFirefoxEval","_uriOrPathToUri","file","_makeWindowsFileUrl","_makeFileUri","Frame_Frame$_parseFirefoxEval_closure","Trace$parseJSCore_closure","Frame_Frame$parseV8_closure","Frame_Frame$parseV8_closure_parseLocation","Trace$parseV8_closure","SkipWhileIterable","SkipWhileIterator","StackZoneSpecification__currentTrace_closure","_rootDelegate","_ZoneDelegate","LazyChain","StackZoneSpecification_chainFor_closure","_ZoneFunction","_CustomZone_bindCallbackGuarded_closure","periodic","_TimerImpl$periodic_closure","_HashMap","HashMap_HashMap$from_closure","wrapMain__closure","mapStackTrace_closure","_prettifyMember_closure","MultiSectionMapping","fromJson","SingleMapping__findColumn_closure","SingleMapping__findLine_closure","SingleMapping","SourceFile","_MappingTokenizer","TargetLineEntry","TargetEntry","SingleMapping$fromJson_closure","_digits_closure","_JsonMap","_JsonMap_values_closure","_JsonMapKeyIterable","_StringSinkConversionSink","objectAssign","JS_CONST","Interceptor","TrustedGetRuntimeType","JSBool","JSNull","JSObject","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JavaScriptBigInt","JavaScriptSymbol","JSIndexable","JSUnmodifiableArray","double","num","JSNumber","JSInt","JSNumNotInt","Pattern","JSString","_CastIterableBase","_CastListBase","SentinelValue","EmptyIterator","FixedLengthListMixin","UnmodifiableListBase","ConstantMap","ConstantStringMap","GeneralConstantMap","Invocation","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","RegExpMatch","Match","JSAny","JSFunction","JSExportedDartFunction","JSBoxedDartObject","JSArrayBuffer","JSDataView","JSTypedArray","JSInt8Array","JSUint8Array","JSUint8ClampedArray","JSInt16Array","JSUint16Array","JSInt32Array","JSUint32Array","JSFloat32Array","JSFloat64Array","JSBoolean","JSSymbol","JSBigInt","JSPromise","ByteBuffer","NativeByteBuffer","NativeTypedData","ByteData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","Float32List","NativeFloat32List","Float64List","NativeFloat64List","Int16List","NativeInt16List","Int32List","NativeInt32List","Int8List","NativeInt8List","Uint16List","NativeUint16List","Uint32List","NativeUint32List","Uint8ClampedList","NativeUint8ClampedList","NativeUint8List","Uint8List","_Error","Timer","Error","_Completer","StreamTransformerBase","_StreamController","_SyncStreamControllerDispatch","_StreamImpl","_DelayedEvent","_DelayedDone","ZoneSpecification","ZoneDelegate","Zone","_Zone","_RootZone","_UnmodifiableMapMixin","MapView","AsciiCodec","_UnicodeSubsetEncoder","AsciiEncoder","Base64Codec","Base64Encoder","_Base64EncoderSink","_FusedCodec","Encoding","JsonCodec","JsonDecoder","LineSplitter","_LineSplitterSink","StringConversionSink","Utf8Codec","Utf8Encoder","Utf8Decoder","Enum","_Enum","OutOfMemoryError","_StringStackTrace","StringSink","Uri","IOSink","ProcessStartMode","ActionResult","ChromePlatform","OS","Arch","Process","AbortSignal","AbortController","Window","Document","Element","Event","EventTarget","GlobalScope","MessageEvent","MessagePort","Location","WorkerInit","Worker","ErrorEvent","MessageChannel","JSON","RequestInit","Headers","Request","Response","Promise","UnderlyingSource","ReadableStreamController","ReadableStreamDefaultController","ReadableByteStreamController","ReadableStream","ReadableStreamReader","ReadableStreamBYOBReader","ReadableStreamDefaultReader","ReadableStreamChunk","_PathDirection","_PathRelation","InternalStyle","Style","Mapping","_TokenKind","SourceSpan","SourceSpanMixin","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","__Utf8EncoderSink&_Utf8Encoder&StringConversionSink","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_#value#tearOff","FutureExtensions|_ignore","decodeComponent","_#parseVM#tearOff","_#parseV8#tearOff","_#parseFirefox#tearOff","_#parseFriendly#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_nullFuture","_rootMap","_decoder","_decoderNonfatal","_inverseAlphabet","_isWindowsCached","_needsNoEncoding","posix","platform","_uriRegExp","_windowsRegExp","disableKey","Record","setup_chromedriver___installChromedriver$closure","getInterceptor$","getInterceptor$asx","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","utils__compareComparable$closure","getInterceptor$ax","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async__FutureExtensions__ignore$closure","frame_Frame___parseVM_tearOff$closure","getInterceptor$s","core_Uri_decodeComponent$closure","frame_Frame___parseFriendly_tearOff$closure","trace_Trace___parseVM_tearOff$closure","trace_Trace___parseFriendly_tearOff$closure","frame_Frame___parseFirefox_tearOff$closure","frame_Frame___parseV8_tearOff$closure","getInterceptor$ns","getInterceptor$n","async_Future___value_tearOff$closure","async___rootHandleUncaughtError$closure","async___rootRun$closure","async___rootRunUnary$closure","async___rootRunBinary$closure","async___rootRegisterCallback$closure","async___rootRegisterUnaryCallback$closure","async___rootRegisterBinaryCallback$closure","async___rootErrorCallback$closure","async___rootScheduleMicrotask$closure","async___rootCreateTimer$closure","async___rootCreatePeriodicTimer$closure","async___rootPrint$closure","async___rootFork$closure","math__max$closure","toString","_captured_prototypeForTag_0","_captured_getUnknownTag_0","_captured_getTag_0","_captured_protected_0","_captured_R_3","_captured_this_0","_captured_f_1","error","stackTrace","callback","dart:_js_helper#_box_0","_captured_div_1","_captured_span_2","listener","dart:async#_box_1","_captured_sourceResult_1","_captured_hasError_2","_captured_originalSource_0","_captured_bodyFunction_0","_captured_e_1","_captured_s_2","_captured_target_1","chromeDriverUrl","_captured_chromeVersion_0","_captured_completer_2","_captured_T_2","_captured_patchVersion_0","version","_captured_#0#1_0","_captured_#0#4_0","_captured_#0#0_0","result","entries","_captured_K_1","_captured_V_2","_captured__convertedObjects_0","run","_captured_dispatch_1","future","_captured_sb_1","_captured_namedArgumentList_1","arguments","_captured_echoOutput_0","stderr","stdout","_addError","_close","_add","start","_init","_captured_controller_0","_captured_#this_0","_captured_onData_1","_captured_onDone_2","_captured_onError_3","_captured_pos_1","dart:async#_future","_captured_eagerError_2","_captured_longest_0","trace","host","_captured_tables_0","_captured_frame_0","skipWhile","_captured_level_2","original","_captured_T1_3","_captured_T2_4","_captured_node_2","_captured_arg1_1","_captured_arg2_2","_captured_arg_1","_captured_registered_1","_captured_milliseconds_1","call","_captured_sourceMap_0","_captured_sdkLib_1","_captured_minified_3","_captured_packageMap_2","_captured_sdkRoot_3","column","line","decoded","close","_captured_mainFn_0","_captured_cleanUp_3","immediate","zoneValue","immediateError","_withValue","_captured_closeWhenDone_0","dart:_js_helper#_interceptor","dart:_internal#_message","dart:_js_helper#_receiver","dart:_rti#_is","dart:_rti#_kind","dart:_rti#_primary","dart:_rti#_rest","length","end","name","message","dart:core#_errorName","dart:core#_hasValue","dart:core#_errorExplanation","invalidValue","dart:_js_helper#_toString","dart:_js_helper#_fieldKeys","dart:_js_helper#_getFieldValues","add","dart:_js_helper#_computeFieldKeys","dart:_rti#_precomputed1","dart:_rti#_as","iterator","dart:_rti#_eval","moveNext","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_index","dart:_interceptors#_current=","modifiedObject","dart:_internal#_iterable","dart:_internal#_length","dart:_internal#_index","dart:_internal#_current=","elementAt","dart:core#_contents","dart:_rti#_requiredPositional","dart:_rti#_optionalPositional","dart:_rti#_named","variableName","dart:_rti#_message","runtimeType","dart:_rti#_rti","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_bindCache","dart:_rti#_evalCache","dart:_rti#_specializedTestResource","dart:_rti#_unsoundIsSubtypeCache","dart:_rti#_isSubtypeCache","isSync","registerBinaryCallback","dart:_rti#_bind","completeError","dart:_js_helper#_trace","dart:_js_helper#_exception","dartException","dart:_js_helper#_irritant","dart:_interceptors#_shrOtherPositive","matchTypeError","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_pattern","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_expr","dart:_interceptors#_shrBothPositive","complete","dart:async#_thenAwait","then","dart:async#_state","dart:async#_resultOrListeners","dart:async#_zone","registerUnaryCallback","dart:async#_addListener","errorCallback","state","dart:async#_nextListener","dart:async#_cloneResult","errorZone","bindCallbackGuarded","bindCallback","runGuarded","next","storedCallback","padLeft","dart:async#_tick","source","handleUncaughtError","listenerHasError","listenerValueOrError","dart:async#_reverseListeners","dart:async#_removeListeners","dart:async#_setChained","dart:async#_prependListeners","listeners","matchesErrorTest","handleError","dart:core#_stackTrace","runBinary","runUnary","dart:async#_completeError","dart:async#_asyncCompleteError","dart:async#_setErrorObject","dart:async#_asyncComplete","dart:async#_chainFuture","dart:async#_completeWithValue","dart:async#_chainForeignFuture","dart:async#_scheduleMicrotask","zone","registerCallback","function","dart:async#_asyncCompleteWithValue","isUndefined","versions","sublist","join","compareTo","isNegative","dart:_internal#_f","dart:_internal#_iterator","dart:core#_enumToString","last","setRange","skip","toList","dart:_internal#_start","dart:_internal#_endOrLength","dart:_internal#_startIndex","dart:_internal#_endIndex","dart:_js_helper#_genericClosure","offset","substring","startsWith","matchAsPrefix","pattern","downloads","chromedriver","dart:_late_helper#_readFinal","dart:core#_name","dart:_late_helper#_initializer","dart:_late_helper#_value","dart:_late_helper#_name","dart:_js_helper#_0","dart:_js_helper#_1","map","dart:_internal#_source","first","forEach","dart:_js_helper#_getMap","dart:_js_helper#_first","dart:_js_helper#_modifications","hashMapCellKey","hashMapCellValue","dart:_js_helper#_next","dart:_js_helper#_jsData","keys","dart:_js_helper#_map","dart:_js_helper#_cell","dart:_js_helper#_current=","dart:_js_helper#_length","dart:_js_helper#_strings","dart:_js_helper#_nums","internalGet","dart:_js_helper#_rest","internalComputeHashCode","internalFindBucketIndex","hashCode","dart:_internal#_name","dart:_js_helper#_last","dart:_js_helper#_newHashTable","dart:_js_helper#_addHashTableEntry","internalSet","dart:_js_helper#_newLinkedCell","values","key","dart:async#_outerHelper","dart:async#_suspendedBodies","dart:async#_body","dart:async#_nestedIterator=","dart:async#_current=","dart:async#_resumeBody","dart:async#_datum","dart:async#_yieldStar","cast","dart:_internal#_skipCount","dart:collection#_computeKeys","dart:collection#_keys","dart:collection#_length","dart:collection#_strings","dart:collection#_nums","dart:collection#_rest","dart:collection#_get","dart:collection#_getBucket","dart:collection#_findBucketIndex","dart:collection#_computeHashCode","dart:collection#_map","dart:collection#_offset","dart:collection#_current=","containsKey","dart:core#_value","isUtc","dart:collection#_addHashTableEntry","dart:collection#_set","dart:collection#_containsKey","trim","exitCode","pid","package:actions/src/node/process_manager.dart#_stdout","listen","package:actions/src/node/process_manager.dart#_stderr","cancel","dart:convert#_allowMalformed","dart:io#_mode","count","dart:async#_controller","dart:async#_subscribe","dart:async#_pendingEvents","dart:async#_varData","varData","addSubscription","resume","dart:async#_setPendingEvents","dart:async#_guardCallback","dart:async#_cancel","dart:async#_cancelFuture","dart:async#_pending","dart:async#_onCancel","dart:async#_recordCancel","onCancel","whenComplete","dart:async#_doneFuture","addStreamFuture","dart:async#_onDone","dart:async#_onError","dart:async#_onData","dart:async#_checkState","lastPendingEvent","dart:async#_onPause","dart:async#_onResume","schedule","onResume","pause","onPause","firstPendingEvent","perform","onListen","dart:async#_complete","package:actions/src/node/process_manager.dart#_jsProcess","addAll","dart:_interceptors#_addAllFromArray","noSuchMethod","argumentCount","names","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_kind","dart:_js_helper#_memberName","comma","dart:core#_arguments","dart:core#_namedArguments","dart:core#_receiver","dart:core#_memberName","memberName","positionalArguments","namedArguments","dart:_js_helper#_values","dart:_js_helper#_elements","dart:_js_helper#_index","dart:_js_helper#_keys","dart:_js_helper#_jsIndex","dart:async#_#_SinkTransformerStreamSubscription#_transformerSink#A=","dart:async#_sinkMapper","dart:async#_subscription=","dart:async#_stream","dart:async#_handleData","dart:async#_handleDone","dart:async#_handleError","dart:async#_sink","dart:async#_sendDone","dart:async#_addPending","dart:async#_sendError","runBinaryGuarded","runUnaryGuarded","addError","dart:async#_sendData","dart:convert#_sink","addSlice","dart:convert#_skipLeadingLF","dart:convert#_addLines","dart:convert#_carry","dart:convert#_useCarry","dart:convert#_multiCarry","dart:convert#_eventSink","startChunkedConversion","dart:convert#_chunkedSink","asUtf8Sink","dart:convert#_charOrIndex","dart:convert#_state","allowMalformed","dart:convert#_buffer","dart:convert#_decoder","convertGeneral","dart:convert#_convertRecursive","dart:_interceptors#_tdivFast","decodeGeneral","dart:_interceptors#_tdivSlow","flush","package:actions/src/node/process_manager.dart#_init","package:actions/src/node/process_manager.dart#_activeProcesses","package:actions/src/node/process_manager.dart#_stdinSink","package:actions/src/node/process_manager.dart#_stdinSub","package:actions/src/node/process_manager.dart#_stdin","executable","getRange","stdin","dart:io#_isBound","dart:io#_isClosed","dart:io#_controllerInstance","dart:io#_closeTarget","dart:io#_doneCompleter","dart:io#_target","dart:async#_target","dart:io#_completeDoneValue","dart:io#_completeDoneError","dart:io#_hasError","dart:io#_controller","dart:async#_badEventState","dart:async#_addError","dart:async#_ensurePendingEvents","dart:io#_controllerCompleter","addStream","dart:async#_add","dart:async#_close","dart:io#_encoding","dart:async#_ensureDoneFuture","package:actions/src/action_context.dart#_successTearDowns","package:actions/src/action_context.dart#_errorTearDowns","remaining","dart:_late_helper#_readLocal","package:stack_trace/src/stack_zone_specification.dart#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_registerUnaryCallback","package:stack_trace/src/stack_zone_specification.dart#_registerBinaryCallback","package:stack_trace/src/stack_zone_specification.dart#_errorCallback","fork","print","createPeriodicTimer","createTimer","dart:core#_jsWeakMap","package:stack_trace/src/stack_zone_specification.dart#_currentTrace","package:stack_trace/src/stack_zone_specification.dart#_currentNode","toChain","package:stack_trace/src/stack_zone_specification.dart#_chains","frames","fold","location","padRight","member","previous","traces","toTrace","package:stack_trace/src/lazy_trace.dart#_trace","package:stack_trace/src/lazy_trace.dart#_#LazyTrace#_trace#FI","package:stack_trace/src/lazy_trace.dart#_thunk","dart:_internal#_currentExpansion","contains","endsWith","library","uri","scheme","prettyUri","style","pathFromUri","normalize","relative","split","parts","root","insert","separators","getRoot","isRootRelative","isSeparator","rootLength","package:path/src/context.dart#_needsNormalization","insertAll","separator","needsSeparator","removeTrailingSeparators","removeLast","path","replaceFirst","convert","dart:_internal#_string","allMatches","dart:_js_helper#_nativeRegExp","replaceRange","dart:_js_helper#_input","dart:_js_helper#_execGlobal","dart:_js_helper#_match","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_nativeGlobalRegExp","indexOf","relativeRootPattern","rootPattern","needsSeparatorPattern","separatorPattern","dart:_js_helper#_execAnchored","dart:_js_helper#_nativeAnchoredVersion","dart:_js_helper#_nativeAnchoredRegExp","dart:_js_helper#_re","dart:_js_helper#_string","dart:_js_helper#_start","dart:_js_helper#_nextIndex","dart:_js_helper#_regExp","package:path/src/context.dart#_current","absolute","pathsEqual","removeAt","codeUnitsEqual","joinAll","containsSeparator","resolve","toFilePath","dart:core#_host","hasAuthority","dart:core#_userInfo","userInfo","port","dart:core#_query","hasQuery","query","dart:core#_fragment","hasFragment","fragment","dart:core#_fragmentStart","dart:core#_uri","dart:core#_queryStart","hasPort","dart:core#_portStart","dart:core#_pathStart","dart:core#_schemeEnd","dart:core#_hostStart","dart:core#_port","dart:core#_text","dart:core#_#_Uri#_text#FI","pathSegments","dart:core#_#_Uri#pathSegments#FI","codeUnitAt","hasAbsolutePath","resolveUri","dart:core#_mergePaths","lastIndexOf","isScheme","dart:core#_#_Uri#hashCode#FI","dart:core#_hashCodeCache","dart:core#_simpleMerge","dart:core#_toNonSimple","dart:core#_isPort","dart:core#_schemeCache","removeFragment","dart:core#_computeScheme","dart:_interceptors#_shrReceiverPositive","dart:convert#_bufferIndex","dart:convert#_writeSurrogate","dart:convert#_fillBuffer","dart:convert#_writeReplacementCharacter","fillRange","dart:core#_uriCache","dart:core#_separatorIndices","bufferCache","dart:convert#_encoder","dart:convert#_alphabet","dart:convert#_add","encode","createBuffer","toRadixString","dart:_internal#_takeCount","dart:_internal#_remaining","firstMatch","dart:convert#_second","dart:convert#_first","dart:convert#_subsetMask","toUri","relativePathToUri","absolutePathToUri","hasTrailingSeparator","dart:_interceptors#_defaultSplit","dart:_internal#_hasSkipped","isEmpty","package:stack_trace/src/stack_zone_specification.dart#_trimVMChain","dart:async#_delegationTarget","dart:async#_errorCallback","dart:async#_parentDelegate","dart:async#_processUncaughtError","chainFor","package:stack_trace/src/stack_zone_specification.dart#_onError","parent","package:stack_trace/src/lazy_chain.dart#_chain","package:stack_trace/src/lazy_chain.dart#_#LazyChain#_chain#FI","package:stack_trace/src/lazy_chain.dart#_thunk","dart:async#_handleUncaughtError","package:stack_trace/src/stack_zone_specification.dart#_run","dart:async#_registerBinaryCallback","dart:async#_registerUnaryCallback","dart:async#_registerCallback","package:stack_trace/src/stack_zone_specification.dart#_errorZone","dart:async#_map","dart:async#_run","dart:async#_runUnary","dart:async#_runBinary","dart:async#_createTimer","dart:async#_createPeriodicTimer","dart:async#_print","dart:async#_fork","dart:async#_delegate","dart:async#_delegateCache","bindUnaryCallback","decode","runTearDowns","spanFor","sourceUrl","package:path/src/context.dart#_isWithinOrEquals","package:path/src/context.dart#_isWithinOrEqualsFast","package:path/src/context.dart#_pathDirection","targetUrl","sourceRoot","urls","lines","package:source_maps/parser.dart#_findLine","package:source_maps/parser.dart#_findColumn","sourceUrlId","sourceNameId","package:source_maps/parser.dart#_mapUrl","sourceLine","sourceColumn","text","isIdentifier","distance","extensions","files","package:source_maps/parser.dart#_lineStart","package:source_maps/parser.dart#_columnStart","package:source_maps/parser.dart#_maps","package:source_maps/parser.dart#_indexFor","index","nextKind","isNewLine","isNewSegment","package:source_maps/parser.dart#_segmentError","isEof","package:source_maps/parser.dart#_internal","package:source_maps/parser.dart#_length","package:source_span/src/file.dart#_cachedLine","package:source_span/src/file.dart#_decodedChars","package:source_span/src/file.dart#_lineStarts","dart:_interceptors#_shlPositive","hasTokens","decoder","dart:convert#_reviver","dart:convert#_processed","dart:convert#_data","dart:convert#_computeKeys","dart:convert#_original","dart:convert#_parent","dart:convert#_process","dart:convert#_stringSink","code","==","checkMutable","checkGrowable","setAll","where","expand","clear","dart:_interceptors#_clear","take","every","isNotEmpty","dart:_interceptors#_toListGrowable","dart:_interceptors#_toListFixed","dart:_interceptors#_setLengthUnsafe","[]","[]=","whereType","isNaN","isFinite","remainder","abs","%","dart:_interceptors#_isInt32","~/","isOdd","dart:_interceptors#_codeUnitAt","+","replaceAll","replaceAllMapped","splitMapJoin","toLowerCase","toUpperCase","*","codeUnits","dart:_internal#_captured_this_0","dart:_internal#_captured_f_1","id","$1","$2","dart:_js_helper#_setKeys","dart:_js_helper#_types","isGetter","isAccessor","dart:_js_helper#_internalName","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_name","dart:_js_helper#_target","internalContainsKey","dart:_js_helper#_modified","dart:_js_helper#_getBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_getTableBucket","dart:_js_helper#_setTableEntry","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_containsTableEntry","dart:_js_helper#_captured_this_0","dart:_js_helper#_previous","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_shapeTag","dart:_js_helper#_sameShape","dart:_js_helper#_getRti","dart:_js_helper#_equalFields","dart:_js_helper#_isMultiLine","dart:_js_helper#_isCaseSensitive","dart:_js_helper#_isUnicode","dart:_js_helper#_isDotAll","hasMatch","isUnicode","group","input","readLocal","readFinal","asUint8List","buffer","offsetInBytes","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_setRangeFast","dart:_rti#_dynamicCheckData","dart:async#_box_0","dart:async#_captured_div_1","dart:async#_captured_span_2","dart:async#_captured_callback_0","dart:async#_once","dart:async#_handle","dart:async#_captured_this_0","dart:async#_captured_callback_1","dart:async#_captured_milliseconds_1","dart:async#_captured_start_2","dart:async#_captured_callback_3","isCompleted","dart:async#_captured_bodyFunction_0","dart:async#_captured_protected_0","dart:async#_modelGeneratedCode","dart:async#_captured_cleanUp_1","dart:async#_captured_eagerError_2","dart:async#_captured__future_3","dart:async#_captured_error_4","dart:async#_captured_stackTrace_5","dart:async#_captured_pos_1","dart:async#_captured__future_2","dart:async#_captured_cleanUp_3","dart:async#_captured_eagerError_4","dart:async#_captured_error_5","dart:async#_captured_stackTrace_6","dart:async#_captured_T_7","dart:async#_captured_completer_0","dart:async#_captured_T_1","handlesValue","handlesError","hasErrorTest","handlesComplete","dart:async#_onValue","dart:async#_errorTest","dart:async#_whenCompleteAction","hasErrorCallback","handleValue","handleWhenComplete","shouldChain","dart:async#_mayComplete","dart:async#_isPendingComplete","dart:async#_mayAddListener","dart:async#_isChained","dart:async#_isComplete","dart:async#_hasError","dart:async#_ignoreError","dart:async#_ignore","dart:async#_setPendingComplete","dart:async#_clearPendingComplete","dart:async#_error","dart:async#_chainSource","dart:async#_setValue","dart:async#_setError","dart:async#_captured_listener_1","dart:async#_captured_this_1","dart:async#_captured_e_1","dart:async#_captured_s_2","dart:async#_captured_target_1","dart:async#_captured_value_1","dart:async#_captured_error_1","dart:async#_captured_stackTrace_2","dart:async#_captured_hasError_2","dart:async#_captured_originalSource_0","dart:async#_captured_sourceResult_1","transform","dart:async#_captured_future_1","stream","sink","dart:async#_isCanceled","hasListener","dart:async#_isInitialState","isClosed","isPaused","dart:async#_isAddingStream","dart:async#_mayAddEvent","done","dart:async#_closeUnchecked","dart:async#_recordPause","dart:async#_recordResume","dart:async#_createSubscription","dart:async#_isInputPaused","dart:async#_isClosed","dart:async#_waitsForCancel","dart:async#_inCallback","dart:async#_hasPending","dart:async#_isPaused","dart:async#_canFire","dart:async#_mayResumeInput","dart:async#_cancelOnError","dart:async#_decrementPauseCount","dart:async#_onListen","isScheduled","dart:async#_eventScheduled","cancelSchedule","handleNext","dart:async#_captured_dispatch_1","dart:async#_stateData","dart:async#_hasValue","dart:async#_transformerSink","inSameErrorZone","dart:async#_captured_registered_1","dart:async#_captured_R_2","dart:async#_captured_T_2","dart:async#_captured_R_3","dart:async#_captured_error_0","dart:async#_captured_stackTrace_1","dart:async#_captured_f_1","dart:collection#_captured_this_0","dart:collection#_captured_result_0","dart:collection#_captured_K_1","dart:collection#_captured_V_2","dart:collection#_closeGap","dart:collection#_box_0","dart:collection#_captured_result_1","dart:convert#_isUpgraded","dart:convert#_upgradedMap","dart:convert#_upgrade","dart:convert#_captured_this_0","encoder","dart:convert#_allowInvalid","dart:convert#_urlSafe","fuse","dart:convert#_toEncodable","dart:convert#_addCarry","asStringSink","convertSingle","convertChunked","dart:core#_box_0","dart:core#_captured_sb_1","millisecondsSinceEpoch","year","month","day","hour","minute","second","millisecond","microsecond","inMilliseconds","inMicroseconds","dart:core#_duration","indexable","dart:core#_existingArgumentNames","write","writeCharCode","writeAll","writeln","dart:core#_writeString","dart:core#_captured_host_0","dart:core#_captured_error_0","dart:core#_captured_host_1","hasScheme","hasEmptyPath","dart:core#_toFilePath","dart:core#_writeAuthority","dart:core#_initializeText","dart:core#_#_Uri#queryParameters#FI","dart:core#_#_Uri#queryParametersAll#FI","dart:core#_computeUri","dart:core#_captured_tables_0","dart:core#_isFile","dart:core#_isHttp","dart:core#_isHttps","dart:core#_isPackage","dart:core#_data","dart:io#_captured_this_0","dart:io#_encodingMutable","errorCode","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:js_util#_captured_T_1","package:actions/actions.dart#_captured_mainFn_0","onExit","package:actions/src/chromedriver/downloads.dart#_captured_version_0","package:actions/src/chromedriver/downloads.dart#_captured_patchVersion_0","revision","package:actions/src/chromedriver/downloads.dart#_captured_platform_0","chrome","package:actions/src/chromedriver/downloads.dart#_captured_#0#0_0","package:actions/src/chromedriver/downloads.dart#_captured_#0#4_0","package:actions/src/chromedriver/downloads.dart#_captured_#0#1_0","package:actions/src/node/child_process.dart#_captured_controller_0","package:actions/src/node/child_process.dart#_captured_#this_0","package:actions/src/node/child_process.dart#_captured_onData_1","package:actions/src/node/child_process.dart#_captured_onDone_2","package:actions/src/node/child_process.dart#_captured_onError_3","package:actions/src/node/child_process.dart#_captured_completer_0","package:actions/src/node/child_process.dart#_captured_T_1","package:actions/src/node/process_manager.dart#_captured_echoOutput_0","package:actions/src/node/process_manager.dart#_captured_stdout_1","package:actions/src/node/process_manager.dart#_captured_stderr_1","kill","package:actions/src/node/process_manager.dart#_box_0","package:actions/src/node/process_manager.dart#_captured_this_0","package:aws_common/src/util/stream.dart#_captured_controller_0","package:aws_common/src/util/stream.dart#_captured_T_1","package:aws_common/src/util/stream.dart#_captured_closeWhenDone_0","package:aws_common/src/util/stream.dart#_captured_controller_1","package:aws_common/src/util/stream.dart#_captured_completer_2","isAbsolute","isRelative","isWithin","package:path/src/context.dart#_parse","canonicalizePart","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sourceMap_0","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_packageMap_2","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkRoot_3","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_sdkLib_1","package:source_map_stack_trace/source_map_stack_trace.dart#_captured_minified_3","toJson","package:source_maps/parser.dart#_captured_this_0","package:source_maps/parser.dart#_captured_line_0","package:source_maps/parser.dart#_captured_column_0","package:source_maps/parser.dart#_consumeValue","package:source_maps/parser.dart#_consumeNewLine","package:source_maps/parser.dart#_consumeNewSegment","isValue","span","getLine","package:source_span/src/file.dart#_isNearCachedLine","package:source_span/src/file.dart#_binarySearch","getColumn","getOffset","getText","toolString","package:stack_trace/src/chain.dart#_captured_callback_0","package:stack_trace/src/chain.dart#_captured_T_1","package:stack_trace/src/chain.dart#_captured_longest_0","package:stack_trace/src/frame.dart#_captured_frame_0","package:stack_trace/src/stack_zone_specification.dart#_disabled","toSpec","package:stack_trace/src/stack_zone_specification.dart#_createNode","package:stack_trace/src/stack_zone_specification.dart#_box_0","package:stack_trace/src/stack_zone_specification.dart#_captured_this_0","package:stack_trace/src/stack_zone_specification.dart#_captured_original_1","package:stack_trace/src/stack_zone_specification.dart#_captured_f_1","package:stack_trace/src/stack_zone_specification.dart#_captured_node_2","package:stack_trace/src/stack_zone_specification.dart#_captured_R_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T_3","package:stack_trace/src/stack_zone_specification.dart#_captured_R_4","package:stack_trace/src/stack_zone_specification.dart#_captured_f_0","package:stack_trace/src/stack_zone_specification.dart#_captured_arg_1","package:stack_trace/src/stack_zone_specification.dart#_captured_R_2","package:stack_trace/src/stack_zone_specification.dart#_captured_T1_3","package:stack_trace/src/stack_zone_specification.dart#_captured_T2_4","package:stack_trace/src/stack_zone_specification.dart#_captured_R_5","package:stack_trace/src/stack_zone_specification.dart#_captured_arg1_1","package:stack_trace/src/stack_zone_specification.dart#_captured_arg2_2","package:stack_trace/src/stack_zone_specification.dart#_captured_stackTrace_1","package:stack_trace/src/stack_zone_specification.dart#_captured_level_2","package:stack_trace/src/trace.dart#_captured_trace_0","package:stack_trace/src/trace.dart#_captured_longest_0","isCore","package","file:///Users/kylechen/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_#0#0_0","file:///Users/kylechen/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeVersion_0","file:///Users/kylechen/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeDriverUrl_0","file:///Users/kylechen/amplify-flutter/actions/bin/setup_chromedriver.dart#_captured_chromeVersion_1","dart:async#_rootRun","dart:async#_rootRunUnary","dart:async#_rootRunBinary","dart:async#_rootRegisterCallback","dart:async#_rootRegisterUnaryCallback","dart:async#_rootRegisterBinaryCallback","$indexSet","$index","$add","$mul","$le","$sub","$lt","$eq","$mod","$tdiv","$negate","$div","$shl","$shr","$and","$or","$xor","$gt","$ge","$not","_","_checkCount","instanceTypeName","constructorNameFallback","objectToHumanReadableString","isRequired","identityHashCode","interceptorFieldName","receiverFieldName","_rtiEval","setDispatchProperty","propertyGet","regExpGetGlobalNative","stringReplaceJS","regExpGetNative","fieldNI","fieldADI","_setPrecomputed1","_lookupFutureRti","_getInterfaceTypeArguments","_getRest","_getBindCache","_setBindCache","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","asRti","instanceOf","_getRti","_instanceFunctionType","_getRuntimeTypeOfArrayAsRti","_setCachedRuntimeType","_rtiBind","_getKind","_setSpecializedTestResource","_recordSpecializedIsTest","_setIsTestFunction","_setAsCheckFunction","_getSpecializedTestResource","_isCheck","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfRecord","_createRecordRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleOptionalGroup","arraySplice","handleNamedGroup","collectNamed","handleStartRecord","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","stringLessThan","lookupSupertype","_future","_setValue","sync","_isChained","_chainSource","_hasError","_error","_zone","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","_createPeriodicTimer","printToConsole","writeFinalChunk","tryParse","makeListFixedLength","_fixedOf","makeFixedListUnmodifiable","_stringFromJSArray","_stringFromUint8List","_writeOne","checkString","_objectToString","hash2","hash3","hash4","fromString","_startsWithData","notSimple","_stringOrNullLength","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","_isPackage","apply","getProperty","NullableObjectUtilExtension|jsify","callMethod","_callMethodUnchecked2","FunctionToJSExportedDartFunction|get#toJS","_lineStart","_columnStart","_maps","_chains","_callMethodUnchecked1","_callMethodUnchecked0","JSPromiseToFuture|get#toDart","NullableUndefineableJSAnyExtension|dartify","_callMethodUnchecked4","JSObjectUtilExtension|getProperty","getRuntimeTypeOfInterceptorNotArray","listToString","_toListGrowable","markGrowable","_handleIEtoString","_codeUnitAt","regExpCaptureCount","firstMatchAfter","empty","_currentExpansion","_types","unvalidated","_containsTableEntry","_getBucket","_modified","_equalFields","_isMultiLine","_isUnicode","_isTrailSurrogate","localNI","localADI","sharedEmptyArray","_mayComplete","_errorTest","unsafeCast","thenAwait","_mayAddListener","_setError","_whenCompleteAction","_onValue","_onError","_isAddingStream","_mayAddEvent","_isInputPaused","_isCanceled","_closeUnchecked","_isInitialState","zoned","_registerDataHandler","_registerDoneHandler","_recordPause","_recordResume","_decrementPauseCount","_hasPending","_mayResumeInput","_waitsForCancel","_createSubscription","_isClosed","_transformerSink","_delegate","_hasTableEntry","_isUpgraded","parseHexByte","eventTransformed","_addCarry","StringBuffer.isNotEmpty","withBufferSize","_combineSurrogatePair","_isLeadSurrogate","getName","extractStackTrace","_initializeText","_writeAuthority","_computePathSegments","_caseInsensitiveStartsWith","_Uri.hasScheme","_isWindows","_toFilePath","_computeUri","_isHttp","_isHttps","_isFile","fromMillisecondsSinceEpoch","isJavaScriptSimpleObject","jsonDecode","IterableExtension|sortedBy","_activeProcesses","_stdin","_stdout","_stderr","_doneCompleter","_StreamSinkImpl._doneCompleter","NodeChildProcess|get#onSpawn","NodeChildProcess|get#onError","NodeChildProcess|get#onClose","NodeChildProcess|get#onExit","_wrapAwaitedExpression","Uint8ListToJSUint8Array|get#toJS","fromList","_lineStarts","_consumeValue","identifier","_disabled","_createNode","_callConstructorUnchecked0","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","_successTearDowns","_errorTearDowns"], + "mappings": "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CSA;mCAAKA;UAALA;UACPA;YACEA;;iBACKA;YACLA;;QAGJA;UACEA;;UAG4BA;UAGvBA;YACHA,sBAAMA;UAERA;;;MAGJA;MAGgCA;kBAFRA;QAEfA;;QAKSA,wCAAqCA;QAErDA;UACSA;;MAGXA,OAxiBFA,uCAyiBAA;K;2BAKYC;MAINA;;qBACsBA,4BAA1BA;oBACaA;QACXA;QACAA;UACqBA;UAAfA;8CAAcA;8BAAdA;;UADNA;;UhC30GgBjF;;;UgCg1G6BiF;UAAtBA;qCAAWA;UhCh1GlBjF,oDgCg1GOiF;UhCh1GPjF,oDgCi1GOiF;;;MAGzBA;QACEA;sBACaA;UACXA;YACEA,sBAAoBA;;IAI5BA,C;iBA6KcC;MAmDDA;;;;;;;MAIEA;MAOFA;MAaAA;MAWJA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MACAA;MAGSA,YADLA;MACJA;MACAA;MAKAA,UAASA,OADLA;MAIKA,YADLA;MACJA;MACAA;MACAA;MAEAA,aACFA;K;SAWIC;MACWA;;uCAEbA;QACcA;uCAAMA;sBAANA;QAEDA;gCAAIA;QAAJA;0BAGMA;QACTA;QACRA;;MAEFA,YACFA;K;8BAqPaC;MAhN+BA,OAAnBA,wDAAmBA,wBATjBA;QA6NrBA,OAAOA,2BAA0BA,UAAUA,gBAAgBA,aAG/DA;MADEA,SACFA;K;yBA8REC;MAGEA;oDACJA;QACaA;mCAAOA;QAAPA;QACXA;UAAoBA,0BAKxBA;QAJIA;UAAwCA,SAI5CA;QAHIA;;MAEFA,SACFA;K;gCA2BIC;MACEA;sBACuBA,gDAA3BA;QAEqCA;QAAlBA;oCAAOA;QAAPA;QADAA;QAGjBA;UACEA;YAEkBA;YAChBA;cAHQA;cAKNA;;;UAGJA,SAINA;;;MADEA,aACFA;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BC/2JAC;;oBAEMA;MAAJA;QAAsBA,eAexBA;;;;;OAHoBA;MAAKA;;MAEvBA,UACFA;K;yBAqBAC;MACkCA;MAAVA;MAAtBA,OjCiCoBA,sDiChCtBA;K;gBAOEC;MACAA;QAEEA,QAIJA;;QAFIA,OAAOA,qCAEXA;K;oBCzDKC;MACDA,oBACEA,gEAGAA,yBACAA,0BACAA,iCACAA,0BACAA,2BACAA,0BACAA,2BACAA,4BACAA,4BACAA,2BACAA,qBAAWA;K;SAGTC;MACFA;QACFA,aA8BJA;MADEA,OAzBgBA,qBb2VPA,uFalUFA,cACTA;K;mBA6ZUC;MtBjMRtK,wBAAyBA,gBAAzBA;oBAnPIuK;qBsBubYD,yBAAuBA,kDACzBA,yBAAuBA;MAYrCA,SACFA;K;sBAsCKE;MACDA,gZA8BMA;K;WAGFC;MACFA;QACFA,QAgEJA;MADEA,OA1DeA,sBb5LNA,uFasPFA,SACTA;K;;;;;;;;;;;;;;;;;YCplBaC;MAwBVA;;sDAxBUA;QAwBVA;;;;;;cAvBDA;mCAAYA,gHAAZA;;;;cAwBFA;;;MADGA;IACHA,C;;;;;;;;;;;;;;;;;6BC2CwBC;MAAwCA;;eAARA,iCAC5CA;eAD4CA,iCAChCA;eADgCA,iCAChCA;eADgCA,iCAE5CA;;Q9BkBUA,K8BnBVA,uD9BmBUA;gB8BnByBA;UAAlBA;;kC9BmBPA;gB8BlByBA;UAAlBA;;kC9BkBPA,yB8BjBEA,Y9BiBFA;gB8BjB2BA;UAAlBA;;QAErBA,uBAAMA,oDAA8CA;;MALNA,SAMjDA;K;gCCpGYC;MACeA,6CAAjBA,6BACFA;MAF8CA,ODQrDA,yB1CqMFA,wE2CxMDA;K;oCASkBC;MAEOA;oBAAfA;;QAAeA,sBACVA;Q3C4LdA;;M2CxLoCA,YAArBA;;;;QAAqBA,sBACtBA;Q3CuLdA;;M2C9LFA,OD4CIA,2CCvCEA,iBAMLA;K;4BAEUC;MAAsCA,OD6C7CA,qBC5CQA,eAAYA,YAAyBA,iEAC9BA,YAAZA,uBACNA;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBCkFcC;MAUTA;;aACaA;UAAUA;UAAHA;;aACPA;UAAYA;UAAHA;;aACTA;UAFUA;UAEQA;;aAClBA;UAAgBA;UAAHA;;QACzBA;;;M5CmRT1C;MAtMI0C,oBAsMJ1C,uDJ7F4C0C,IgDlL/BA,gD5CyETA;;M4CtEOA;;qBAEsCA,kBJrE/CA;;MIsEcA,YCrGUA;qBDwFLA,iCACAA;MAeDA;MAXlBA,OJjCKA,uHIuDPA;K;iCAoCsBC;MACDA;aACRA;MAkBPA,wBAAWA,uDANJA,wDAPCA;MAkBRA,wBAAWA;MACfA,OnBimBFC,oCAhVwBD,4BAgVxBC,gCmBhmBAD;K;qBAYUE;M1B+CVlL,wBAAyBA,gBAAzBA;MsBtHOkL,sBK5FKA,eD4KRA,gC1B7MAX;M0BiNFW,SACFA;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MErPuBC;;eAAfA;MAAeA,yBAEbA,0BAFsCA;K;;;yBCiBnCC;M7BqQbpL,wBAAyBA;M6B/PvBoL,4CACEA,4DAUQA,uD7BiBRrL,sD6BtBSqL;MAaXA,OAAcA,aAAIA,iBtBuiBKA,8EsBtiBzBA;K;;;;;;;;;;;MCIAC;;mBAxBQA;MAgBNA,gCACFA;K;aA+iCEC;MAEcA,UAElBA;K;oBAIKC;MACHA;yBAAyBA,gBAAzBA;gBAEMA,mBAAmBA;UAAqBA;eAG5CA;UACWA;kBAALA;YAA2BA;;Q1CvfnCA;;eAkCExD;QV3UWwD;QIpGbC;;QAAAnd,yCJoGakd;QIiFbE,4EA3OmCF,IgDk8BxBA,mChDvtBXE,yDgDwtBOF;e1C9dLxD;;Q0CgeAwD,sBAAMA,iBAAcA;;IAExBA,C;;;;;;;;;;;;;;;;;;;+BC/kCUG;MAEOA;;MACUA;MACvBA;QAAyBA,gDAAoBA;;MAGvBA;MACKA;epDkWT1E;MoD9VE0E;QAAqBA;iCAAKA;QAAvBA,yBAAkBA;;QAArBA;MAApBA;QACiBA;iCAAIA;QAAnBA,wCAAeA;QACPA;;QAERA;QANUA;;MASZA;QACMA,wBAAkBA;UACpBA,+BAAUA;UACVA,wCAAeA;UACPA;;MAKZA;QACEA,+BAAUA;QACVA;;MAGFA,OAGFA,gDAFAA;K;;;;;;MCjEAC;;;;IAA2BA,C;;;;2BC0BdC;MAKHA,iBAAKA;QAAkBA,OAAaA,kBAI9CA;MAHgBA,mCAALA,aAAKA;QAAoBA,OAAaA,kBAGjDA;MAFMA,yCAAiBA;QAAwBA,OAAaA,sBAE5DA;MADEA,OAAaA,oBACfA;K;;;;;;;;;;;;;;;;;;;;;;;;iBCxBSC;MAETA;MAAeA;QACWA;;QAAxBA,OCsKFA,YAAyCA,yBrD8NzCxD,oDJ7F4CwD,IwDvSPA,qEpDoYrCxD,yDoDhVFwD;;MA5CoBA,oCACCA;;MAAnBA,OAAOA,SpD8zBPC,wBAncAzD,qDJ7F4CwD,IwD9RdA,mEpD2X9BxD,kFoDhVFwD;K;mBAGOE;MAGWA;;MvDnBPA;MuDqBOA;;;MvDZPC,qCATAD,yCuDwBDA,mDvDf2CC,OALTD,OuDuBlCA;MAEQA;MvD7BPA;MuD+BOA;MvD/BPA;MuDiCOA;MvDjCPA;MuDoCOA;MAnBhBA,OvDRSC,gCATAD,yCuDwCaA,2CvD/B6BC,OALTD,OuDoCQA,yCACpDA;K;;;;;;;;;;;;;;;;;;;aE9CQE;MAENA;;MAAOA,YAAHA;QACFA,sBAAMA,qDAAgDA;MAIpDA;QACEA,qCACAA,gCACAA;UACFA,sBAAMA;QAG4CA,4BAAhBA;;QAqCtCA,+BAVkCC,yBAGEA,yBAICA;QAGrCA;QArCED,SAIJA;;MADEA,OAAqBA,yBAASA,qDAChCA;K;0BA6QEE;MAC8BA;0BAAZA;;;aACLA,iBAAiCA,OAAfA;aACeA,gCAAbA;MAAnBA;MACKA,wBAAgCA,iBAATA,OAAfA;MACUA,kBAAlBA;MACYA;MACQA,uDAAwBA;MAP/DA,qDAQmBA;MARnBA;;IAoFAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBC1ZAC;;;;IAE6BA,C;;;;;;;;aC6C3BC;MACEA;qBF6kByBA,wDE1kB7BA;;UACyBA,sBAAMA;QACZA;QACLA,yBAAOA;QACnBA;UACEA,sBAAMA;QAEMA;QAEJA;QACVA;;MAYOA;MAILA;MAASA,2CAAqBA;QAChCA,sBAAMA;MAGRA,aACFA;K;;;;;;;;;;mBCxDEC;MAEoCA,iEAA6BA;;;;;MAG/DA;QACEA,kBAAMA;WACDA;QACLA,kBAAMA,iDAA2CA;WAC5CA;QACLA,kBAAMA,mDAA6CA;MAVvDA;IAYAA,C;;;;;;;;;;;;iBJoBSC;MKbTA;4CpDuCAC;;M+CMmDD;sBAE/CA;MAF+CA,gBAGxBA;MAjBzBA,OAAOA,WAASA,2ClCiVZE,yBuC3WgCF,sDAChBA,8BACKA,mCACCA,oCACTA,sELyCnBA;K;qBA8DQG;;;MAcRA,SxDqNoBA;QwDlOCA,mBAaoBA,yBAbPA,uDAUlCA;MATqBA;MAAfA;QACWA;;QAAbA,OAWJA,YAAyCA,yBrD6KzCC,qBA6DAC,8CJ5JoCF,IyDvFrBA,oCrDmPfE,wDAMiCF,IqDxPpBA,4CrDqLbC,qDqDhLAD;;MAHOA;QAA0BA,OAMjCA,YAAyCA,yBANKA,iBAAOA,gEAGrDA;MADEA,OAIFA,YAAyCA,yBrD8NzCrE,yBqDlOeqE,2DzDqI6BA,gCyDrIHA,uGACzCA;K;;;;;;;;;;;;;;;;;;;;MMlDQG;;;;K;uBAAAC;MAA+BA,4CAA6BA,yCAyB9DA;K;2BAGEC;;K;uBAAAC;MAA+BA,4CAA6BA,yCA2C9DA;K;iCAgBEC;MACJA,4CAA6BA,mDAU3BA;K;gCAGEC;;K;4BAAAC;MAAoCA,4CAA6BA,8CA4BnEA;K;iCAcEC;;K;6BAAAC;MAAqCA,4CAA6BA,+CAqBpEA;K;yBAUKC;MACLA,6CAAmBA;QACrBA,OAAWA,sBAYfA;WAXaA,6CAAmBA;QAC5BA,OAAWA,iCAUfA;WATaA;QACTA,OAAWA,kCAQfA;MAFMA;QAA0BA,OAAYA,iBAAQA,kBAEpDA;MADEA,OAAWA,sBACbA;K;+BAMaC;MACXA;;QACSA;QAAPA,SAIJA;;QALEA;UAGEA,OClTJA,oBAjBgBC,gDDqUhBD;;UALEA;;IAKFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBEnOQE;MACIA;QAAUA,YAGtBA;MAFYA;QAAUA,OAAOA,iBAE7BA;MADEA,OC/FFA,gBD+FmBA,sCACnBA;K;qBAOQC;MACNA;;iBhEyRkBA;UgExRUA,cAAaA;UAApBA,SAmBvBA;;QAlBQA,yCAAeA;UAAwBA;UAAbA,SAkBlCA;;QAjBQA;UAAsCA;UAAbA,SAiBjCA;;QAhBQA,yCAAeA,iCACfA,qCAAeA;UACJA;UAAbA,SAcNA;;QAZQA;UAAuCA,gCAAaA;UAA1BA,SAYlCA;;QAXQA,yCAAeA;UACJA;UAAbA,SAUNA;;QAJiBA;QAAbA,SAIJA;;QApBEA;;UAiBEA;UACAA,sBAAMA,wBAAyBA;;UAlBjCA;;IAoBFA,C;2BAGAC;;K;iBAAAC;MAmGeA,kCAnGoBA;MAAnCA;IAAoEA,C;kBAEjDC;MAGLA;;aAEIA;;gB7DgRlBjB,oB6DhROiB,gBhEzFEA,wCgE0FFA,oCjEmH6BA,+BiElHvBA;MlDkYQA,+BAASA;QkD/X1BA,OAAOA,wCAWXA;MlDkZ+BA,wCkD1ZCA,6BlD0ZDA;;MA5USA,yEAA2BA,IkD9EnBA,4ClD8ERA;MAmQpCA;MkD9USA;QACTA,iCAAiBA,sBAAcA;MAGjCA,cACFA;K;iBAGAC;MjEwKaA;gCiEtKHA;M7DiC2CA,2EAAUA,I6D3BtCA;;;MAiEVA,8BlDNyBA,oEAA2BA,IkD1DhDA,4ClD0DqBA;MkDnExCA;IAU0BA,C;qBAG1BC;MA4DeA,kC7DuHfpB,qBA6DAC,oB6D9OUmB,0DjEkF0BA,+BiEhFfA,iE7DkPYA,gC6DjPdA;MALnBA;IAM0BA,C;sBAS1BC;MA6CeA,kC7DuHfrB,qBA6DAC,oB6D9NeoB,gBADLA,iCAEKA,oCjEiEqBA,+BiEhEfA,kE7DkOYA,gC6DjOdA;MANnBA;IAO0BA,C;iCAwB1BC;;K;uBAAAC;MAGgBA,chE0KIA,2DGxCpBvB,qBA6DAC,oB6D7LmBsB,gBADHA,iCAEGA,oCjEgCiBA,+BiE9BXA,mE7DgMQA,gC6D/LVA;MAKRA;MAdfA;IAU0BA,C;UAG1BC;MACeA;MADfA;IAEsDA,C;;;;;;;;;;;;;;;;;;;;;;;;ME3OjCC;;QAAVA;MAAUA,kBAASA,qDAAqBA;K;wBAExCC;MACLA;;;kEADKA;QACLA;;;;;;;;;cAAgBA;mCAAWA,iBvBgE/BA,kHuBhEoBA;;;;cA6BOA,8BvBmC3BA;;gCAkEKA;gBAlELA,qCAkEKA;;gBuBlGLA;;;cvBgCAA,gBAkEKA;cuB9FiBA;mCAAWA,iBvB4BjCA,8HuB5BsBA;;;;cAqBJA;mCAAWA,iBvBO7BA,gJuBPkBA;;;;cvBOlBA;cAkEKA;;;;cuBtDTA;;;MA5EQA;IA4ERA,C;;;;;;;;;;;;;;;;eCvEKC;MACHA;;QAGEA,MAoBJA;;;;QAbIA,MAaJA;;MATEA;;QAEEA,MAOJA;;;K;OCvBEC;;MAAgCA,gBAGrBA,WACAA,UAAGA;K;OAkCZC;MAGFA,4BACFA;K;kBCTYC;MAIQA;IAMlBA,C;uBAVUA;MAIQA;;;4DAJRA;QAIQA;;;;;;;;c1BuFXA;;c0BrFIA;mCAAMA,uCAANA;;;;cAAPA;;;;;;;;;;;;;;;c1BgEGA;;;;;;;;c0BtEGA;;;;;;MAIQA;IAJRA,C;kBA6BJC;M1B8DCA;M0B5DGA,e1BNRA;I0BOFA,C;sBCnE6BC;MACrBA;;;gEADqBA;QACrBA;;;;;;;;;cAAWA;mCtBsGkBA,kBLuB9BA,kE2B7HYA;;;cACOA;c3B0DxBA;gB2BxDEA,sBAAMA;c3BwDRA;gB2BtDqBA;cAAYA,mDtBeNA,esBfcA;;cAAzCA;;;;cACFA;;;MANQA;IAMRA,C;kBCAQC;MACNA;;QACeA,iC5B2IVA;Q3C8Oa5H;QuExXhB4H,SAIJA;;QAFIA,WAEJA;;K;0BASeC;MACPA;;;oEADOA;QACPA;;;;;;;cAAOA;mCvB+EsBA,kBLuB9BA,mG4BtGQA;;;cACAA;;cAAbA;;;;cACFA;;;MAFQA;IAERA,C;wBASeC;MACPA;;;kEADOA;QACPA;;;;;;;cAAOA;mCvBmEsBA,kBL6C9BA,sG4BhHQA;;;cACAA;;cAAbA;;;;cACFA;;;MAFQA;IAERA,C;sBAiBeC;MAMPA;;;gEANOA;QAMPA;;;;;;;cAAYA;mCvB0CiBA,kBL4F9BA,sH4BtIaA;;;cACAA;;cAAlBA;;;;cACFA;;;MAFQA;IAERA,C;wBCtDOC;M7BmDLA;;;Q6BlDQA;UAAGA,kBAAMA;QACRA;gBAAMA;UAANA;;QACDA;gBAAMA;UAANA;;QACSA,uBAAMA;;MAJNA,SAKlBA;K;oBAQQC;M7BsCPA;;;Q6BrCQA;gBAAQA;UAARA;;QACFA;gBAAQA;UAARA;;QACWA,uBAAMA;;MAHRA,SAIhBA;K;mBAMuBC;MACYA;;;MAClCA,iD7B4FKA,+DAlELA,sB6B1BAA;QACyBA,oBADzBA;QAE4CA,qB7BwB5CA,iB8BzCgEA;;UDkB1DA;QAAJA;UACEA;QAEFA;;MAEFA,gBACFA;K;gBASMC;M7B0ECA;M6BxELA;IACFA,C;eEmLGC;MAGcA;qBAAqCA;;;MAEtDA;QAAgBA,MAqBlBA;MApBEA;QACEA;QACAA,MAkBJA;;MAVwBA;MAEHA;MAE6BA;mCAAQA;MAArCA,wDAA6BA;MAChDA;MACkBA;MAClBA;MACAA;IAEFA,C;wBAMKC;MAQCA;;MACJA;QAAiBA,MAkBnBA;MAjByBA;mCAAIA;MAA3BA,sDAAuBA;MACvBA;QACqBA;QAALA;kCAAIA;sBAAJA;QACGA;QAEPA;QACVA;UACwBA;UACQA;uCAAMA;UAAhCA,gCAAoBA,mBAAMA;UAAnBA;2BAAiCA;UAA5CA;;;YAGQA;;QAGVA;QACAA;;IAEJA,C;cASKC;MAQCA;;MACJA;QACEA;QAEAA,MAcJA;;MAZwBA;MACJA;MAGCA;MAEnBA;MAEAA;MAEAA;IAEFA,C;UAUKC;MAYHA;;MAImBA;6CAASA;8BAATA;MACJA;MACgBA;MAAXA;+CAAUA;gCAAVA;MACJA;aAChBA;QACMA;QAAOA;yBAAsBA;QACxBA;QADTA;UACEA;UACAA;YAkBGA;YAlBsBA;;UACAA;UAAVA;8CAASA;kCAATA;UACJA;;UAEXA;UACAA;YAC6BA;YAAXA;iDAAUA;sCAAVA;YACJA;;YACZA;;UAGKA;UAAPA;UACAA;UAEAA,MAONA;;;;MAHSA;MAAPA;MACAA;IAEFA,C;sCC3JKC;MACDA;;;kCACMA;UAAeA,cAGvBA;;MADEA,WACFA;K;oCA0COC;MAEEA,S5EkbWA;Q4EnbLA,WAEfA;MADEA,wCACFA;K;qBClREC;;MAAwDA,mCAAYA,UAAEA;K;eC4CxEC;MAKAA;;QACEA,sBAAMA,kEAEUA,wBAAOA;MAIIA,yCAA7BA;;QACYA;UACRA,SAAaA,IAYnBA;;MAPUA,4BACDA,yDACWA,wBAAOA;MAFvBA;IAOJA,C;WCxBWC;MAKLA;;QAEQA;;QACVA,wBAFFA;gBAGMA;UAAJA;YAAsBA,SAoB1BA;UAnBIA;;UAJFA;;MASIA,iBAAOA;cAAwBA;UAAQA;QAAfA,SAc9BA;;;MAXYA,gCAAkBA;QACfA,qCAAiBA;;QAEfA;wBAGUA;QAEYA;;MAErCA,SACFA;K;gBCtFKC;MACDA;MAA+CA;QACzBA;;QADyBA;MAA/CA,SAC8CA;K;iBAO7CC;;iBACMA;;MAATA;QAA6BA,YAK/BA;MAJoBA;mCAAKA;MAAlBA,oBAAaA;QAAyBA,YAI7CA;MAHsBA;MAAhBA;gCAAKA;MAALA;QAA2CA,YAGjDA;MAFEA;QAA8BA,WAEhCA;MADSA;gCAAKA;MAAZA,OAAOA,0BACTA;K;gBCXIC;MACFA;cjFysBoBA;QiFzsBFA,SAepBA;gCAdMA,eAAaA;QAAQA,QAc3BA;iCAbOA,eAAaA;QAAOA,WAAYA,OAavCA;gBAViBA;MACfA;QACyBA;QACXA;oCAAIA;kCAAZA,mBAAQA;;;UAGJA;;MAGVA,UACFA;K;;;;;;ElFwSiCC;OAFjBC;MAAoBA,yBAAsBA;K;gBAEhDD;MAAYA,4CAA+BA;K;cAE5CE;MAAcA,yBQ8JLA,2CR9JiDA;K;kBAgBzDC;MACNA,sBAAUA,+DAAuCA;IACnDA,C;mBAESC;MACLA,OS4oBGA,oBADGA,qCT3oByDA;K;;;cAQ5DC;MAAcA,uBAAgCA;K;gBAU7CC;MAAYA,iCAAwCA;K;mBAGnDC;MAAeA,sCAAmCA;K;;;;;OAWpCC;MAAEA,oBAAcA;K;cAGhCC;MAAcA,aAAMA;K;gBAEnBC;MAAYA,QAACA;K;;;;;;gBA8CbC;MAAYA,QAACA;K;cAKdC;MAAcA,uBAA+BA;K;;;;;cAyB7CC;MACiCA,0BAClCA;MAAJA;QAAyBA,OAAaA,oDAExCA;MADEA,oCAAkCA,0BACpCA;K;;;;gBAcQC;MAAYA,QAACA;K;cAGdC;MAAcA,uBAA+BA;K;;;gBAkB5CC;MAAYA,QAACA;K;cAGdC;MAAcA,uBAA+BA;K;;EGzUpDC;YFRQC;MAAaA,gCAAKA,+BEQ1BD,qDFR8CC;K;SACzCC;mDAE4BA;;QAP7BA,kBAAMA;;IAQVA,C;cAEEC;MAAoBA;;QAVlBA,kBAAMA;mBAakBA;MAA1BA;QACEA,sBAAUA;MAEZA,mCACFA;K;YAEKC;MAA2BA;mDAMgBA;;QAzB5CA,kBAAMA;mBAsBiBA;MAAzBA;QACEA,sBAAUA;;IAGdA,C;eAEKC;MAA2CA;4DAG1CA;;QA/BFA,kBAAMA;MA8BGA,oDAAoCA;MAClCA;QACAA;MAEkBA;gCACJA;MACjBA;MACLA,uCAAmBA;MACnBA;IACPA,C;gBAUEC;;QAjDEA,kBAAMA;kBAmDJA;QAAaA,sBAAMA;MACvBA,qBACFA;K;YA4DKC;MAA+BA;4DAE9BA;;QAnHFA,kBAAMA;MAmHOA;QACbA;QACAA,MAOJA;;MAJEA;;IAIFA,C;sBAEKC;MACCA;MAAMA;iBAAMA;MAChBA;QAAcA,MAKhBA;MAJEA;QAA4BA,sBAAMA;MAClCA;;IAGFA,C;WAuBYrJ;;MACVA,OI6FFA,kEJ7F4CA,QI6F5CA,kEJ5FAA;K;UAEOsJ;MACWA;0CAAYA;MAC5BA,wBAAyBA,SAAzBA;QACEA,wBAAiBA;MAEnBA,2BACFA;K;UANOC;;K;UAgBKC;MACVA,OAAWA,mFACbA;K;eAqFEC;MACWA;;MAAXA,eAAWA,OACbA;K;aAEQC;uBAGmBA;MAAzBA;QACEA,sBAAUA;MAMVA;QACEA,sBAAUA;MAGdA;QAAkBA,OAAUA,mDAG9BA;MAFEA,mDAAWA,+BAEbA;K;cAEYC;MACCA,iDAAiCA;MAC5CA,OAAWA,sFACbA;K;aAEMC;kBACAA;QAAYA,eAAWA,GAE7BA;MADEA,sBAA2BA;IAC7BA,C;YAEMC;uBACAA;MAAJA;QAAgBA,eAAWA,QAE7BA;MADEA,sBAA2BA;IAC7BA,C;cAeKC;MAAwEA;4DAWvEA;;QA3UFA,kBAAMA;MAmUGA,iDAAiCA;MAC/BA;MACbA;QAAiBA,MAiCnBA;MAhCaA;MAKEA;;QAOTA;;QAHUA,6CAAyBA;QAV5BA;;MAayBA;;QAClCA,sBAA2BA;MAE7BA;QAIEA;UAIcA;;QAIdA;UACcA;IAIlBA,C;cAtCKC;;K;cAmPAC;MACHA;8BAAoBA,SAApBA;QAEMA;UAAkBA,WAG1BA;MADEA,YACFA;K;eAESC;MAAWA,4BAAWA;K;cAIxBC;MAAcA,OkF/KJA,mDlF+K+BA;K;qBAExCC;MAtmB6BC,4CA2mB7BD;MAJJA,SAA6CA;K;YADzCE;;K;gBAYQC;MAAYA,OA+H5BA,sCAEyBA,SAjIOA,+BA+HhCA,4BA/HsDA;K;gBAE9CC;MAAYA,OAAWA,qCAAoBA;K;cAE3CC;MAAUA,sBAAiCA;K;UAuCxCC;0CAGmBA;QAASA,sBAAMA;MAC3CA,sBACFA;K;aAEcC;mDAKyBA;;QApoBnCA,kBAAMA;0CAmoBoBA;QAASA,sBAAMA;;IAE7CA,C;;;;;;;;eA4EMC;MAAoBA,aAATA;kCAASA,2BAAIA;K;cAEzBC;;kBACUA;oBAAUA;eAKnBA;QACIA;QAANA;;gBAGEA;MAAJA;QACEA;QACAA,YAKJA;;MAHEA,qBAAWA;;MAEXA,WACFA;K;gBA1BGC;;K;;;;emFr0BCC;MACFA;MAAIA;MACJA;QACEA,SAmBJA;WAlBSA;QACLA,QAiBJA;WAhBSA;QACLA;UACuBA;UACjBA;YAA2BA,QAarCA;UAZUA;YAAYA,SAYtBA;UAXMA,QAWNA;;QATIA,QASJA;;;UANMA,QAMNA;QAJIA,QAIJA;;QAFIA,SAEJA;K;kBAESC;MAAcA,uDAAuCA;K;mBA4KvDC;MAAyBA;MAE9BA;QACEA,sBAAUA;MAIRA;iBAAyBA;;MAAzBA;kCAAOA;MAAPA;QACFA,aAGJA;MAOMA;MAAJA;QAEEA,kBAAUA;gBAEeA;;gCAAKA;oBAGCA;MAFFA;gCAAKA;uBAALA;gBAC3BA;MAAJA;;QAIoBA;;MAlBpBA,sDACFA;K;cAqBOC;MACLA;QACEA,aAIJA;;QAFIA,oBAEJA;K;gBAEQC;MACFA;;MAGJA;QAAsBA,2BA6BxBA;MAvB4CA;MAC/BA;MAI4BA;MAUvBA;MAOhBA,kHACFA;K;QAwBkBC;MAChBA;MAGAA;QAAiBA,QAOnBA;MANEA;QAAgBA,aAMlBA;MAFIA,qBAEJA;K;SAIaC;MAGXA;QACEA;UACEA,2BAINA;MADEA,OAAOA,iCACTA;K;eAEIC;MAEFA,4DAEMA,iCACRA;K;eAEIC;MACEA;MACJA;QAEEA,mBAgBJA;MAdEA;QAGEA;UACEA,2BAUNA;aARSA;QAELA,0BAMJA;MAFEA,sBAAUA,0DAC6BA,uBAA0BA;IACnEA,C;kBAaIC;MAGFA,+CAGFA;K;uBASIC;MACFA;;QACMA;;;;;MADNA,SAOFA;K;0BAEIC;MACFA;QAAeA,sBAAMA;MACrBA,OAAOA,wCACTA;K;sBAEIC;MACFA,0CASFA;K;mBAiDSC;MAAeA,qCAAkCA;K;;;;;EA+MlCC;mBAAfA;MAAeA,qCAAkCA;K;;;;EAWlCC;mBAAfA;MAAeA,wCAAqCA;K;;;;gBlF3qBzDC;MAEFA;QAAeA,sBAAMA;2BAKRA;QAAQA,kBAAMA;MAJ3BA,iCACFA;K;gBAOgBC;qBAGkBA;MAAhCA;QACEA,sBAAUA;MAEZA,OaqCFC,wDbpCAD;K;gBAPgBE;;K;mBASTC;MACLA;qCAAgCA;QAC9BA,sBAAUA,mCAAkCA;mBAE7BA;iBAAgBA;MAAjCA;QAAyCA,YAQ3CA;MANEA;QACwBA;QAAlBA;oCAAOA;QAAPA,8BAAqCA;UACvCA,YAINA;;MADEA,OabIA,kCbcNA;K;QAEgBC;MAEdA,uBACFA;K;cAEKC;6BAEqBA;qBACNA;MAAlBA;QAA0BA,YAE5BA;MADEA,iBAAgBA,4CAClBA;K;kBAeOC;MAGMA,gDAAyCA;MACpDA,OAAOA,oDACTA;K;WAUaC;MAEXA;QACEA,qEAOJA;WYpEkCA,gFAI3BA,QAAMA;QZ4DTA,6CYxF2CA,sCZ4F/CA;;QAFIA,OAAOA,uCAEXA;K;kBAEOC;MAGcA,yDAAiCA;MAEpDA,OAAOA,8DACTA;K;mBAEaC;MACmBA;;MAMZA,oDAAlBA;;QACyBA;QACFA;QACZA;QACTA;UAGEA;QAGFA,gCAAgBA;;;0BAGDA;QAGfA,gCAAgBA;MAElBA,aACFA;K;gBAEKC;MAA6CA;uCAElBA;QAC5BA,sBAAUA,qCAAgCA;MAE5CA;kCAE0BA;+BAETA;UAAQA,YAI3BA;QAHIA,sDAGJA;;MADEA,OAAOA,qDACTA;K;gBAbKC;;K;eAgBEC;MAGLA,iCADiBA,iDAAiCA,SAEpDA;K;eAJOC;;K;UA6GAC;MAMDA;;yBAAOA;MAAXA;QAAwBA,aAiB1BA;MAhBkBA;iCAAOA;MAAPA;QAGDA;QACbA;UAAiCA,SAYrCA;;QAjBoBA;MAWeA;MAAlBA;kCAAOA;MAAPA,4CAEFA;MAEbA;QAAkDA,aAEpDA;MADEA,8CACFA;K;QAiCgBC;MACdA;;QAAgBA,SAelBA;iCAdyBA;QAAaA,eActCA;MAbEA;QAEEA,uBAAYA;MAIdA;QACEA;UAA6BA;QAEzBA;QAAJA;UAAgBA;QAChBA;;MAEFA,aACFA;K;aAEOC;kCACoBA;MACzBA;QAAgBA,eAElBA;MADEA,OAAOA,oCACTA;K;cAEOC;kCACoBA;MACzBA;QAAgBA,eAElBA;MADEA,kBAAcA,qBAChBA;K;aAMIC;MAA0CA;uCAGdA;QAC5BA,sBAAUA,qCAAgCA;MAE5CA;QACEA,uCAWJA;;QY7EOA;QZuEHA,iCYhLgEA,aZsLpEA;;MAHQA,kBADwBA,sDAA9BA;QACMA;UAAwCA,QAGhDA;MADEA,SACFA;K;aAlBIC;;K;iBAoBAC;MAA2CA;MAE7CA;wBACUA;4CAG2BA;QACnCA,sBAAUA,qCAAgCA;kBAIxBA;mBAAcA;MAAhCA;QACeA;MAEfA,OAAOA,oCAMXA;K;iBApBIC;;K;cAsBCC;MAKHA,OAAOA,6CACTA;K;eAMIC;MACFA;MAAIA;;QACJA;;;eAKFA;K;cAGOC;MAAcA,eAAIA;K;gBAMjBC;MAGFA;wBACgBA,0BAApBA;;QAEoBA;;;MAGFA;MAEGA;MAArBA,gDACFA;K;mBAGSC;MAAeA,wCAAqCA;K;cAErDC;MAAUA,sBAA4BA;K;;;;;;;;gBC5a9BC;MAAgBA;MAAJA,OAgD5BA,mBAhD2DA,kBAARA,qBAgDnDA,6BAhDgCA,WAgDhCA,6BAhDoEA;K;cAuB5DC;MAAUA,OAAQA,iBAARA,mBAAcA;K;eACvBC;MAAWA,OAAQA,kBAARA,mBAAeA;K;UAGvBC;MAAuBA;MAAJA,OAAIA,4BAAmBA,0CAAnBA,4BAAuCA;K;eAGxEC;MAAwBA,OAAyBA,mCAAzBA,4CAA6BA;K;cAKlDC;MAA2BA,kDAAuBA;K;cAQhDC;MAAcA,wCAAkBA;K;;EAMpBC;cAAdA;MAAcA,gCAAkBA;K;eAC/BC;MAAWA,OAAgBA,sBAARA,IAARA,uBAAoBA;K;;;;;;;;;EAqCMC;UAAhCA;MAAiBA,eAAeA,cAAfA,kCAAmBA;K;aAEjCC;;MACZA,oCAAuBA,qBAANA;IACnBA,C;cAiDYC;MACJA;MAAJA,mCAAuBA,6CAAnBA,4BAAgDA;K;;;;EAqBxDC;YAEQA;MAAaA,0BAAmBA,UAFxCA,8DAEgDA;K;;;;;;YAmFpCC;MAFZA;MAE8BA,yBAA4BA,UAF1DA,6BAEkCA,mCAFlCA,4BAEkEA;K;iBAI7DC;MAA4BA,sCAAwBA;K;UAE7CC;MAAmBA,OAAaA,2BAAbA,4BAAkBA;K;aAmB5CC;MACHA,0BAAgBA;IAGlBA,C;YAEgBC;MAAYA,aAAoBA;;MAAxBA,mCAAgCA,mBAA5BA,4BAAiCA;K;cAE7CC;MAAcA;MAAJA,mCAAgCA,IAARA,yBAApBA,uBAAmCA;K;cAEzDC;MAAkBA,aAARA;8BAAcA;K;eAEvBC;MAAmBA,aAARA;+BAAeA;K;eAaNC;MAC3BA,OAAeA,IAARA,uBAAgBA,WACnBA,uEACNA;K;;;UA3BkBC;;MACZA;MAAUA;MAAZA,cAAMA,sBAAYA;IACnBA,C;cAFeC;;K;;;UA0BZC;;;kCAA2CA;MsCuL3CA,OtCvL+DA;MAAvCA,sBAAyBA,iBAAJA,OAAkBA,QAANA,SsCuLzDA,wDtCvLoEA;K;cAApEC;;K;;;celRCC;MAELA,yCADcA,SAIhBA;K;;;cdqDQC;MAAUA,mBAAQA,OAAMA;K;UACnBC;mBAAaA;;6BAAQA;MAARA,uBAAqBA;K;;EAgEGC;UAANA;MAAMA,8CAAwBA;K;;;;;;gBC9H1DvQ;MAAYA;aAqS5BA,0BAEyBA,yBAvSGA,uBAqS5BA,wCArSiDA;K;eAYxCwQ;MAAWA,kCAAWA;K;cAkB1BC;MACeA;;MAClBA;QACMA;UAAyBA,WAMjCA;QALuBA;UACjBA,sBAAMA;;MAGVA,YACFA;K;UAwEOC;MACaA;;mBHiQAA;QG/PhBA;UAAiBA,SAwBrBA;QAvBsBA;QACCA;UACjBA,sBAAMA;QAGRA;UMieaA,0BN/dEA;UACMA;YACjBA,sBAAMA;;QAGVA,sCAWJA;;QARIA;UMudaA,UNtdEA;UACMA;YACjBA,sBAAMA;;QAGVA,sCAEJA;;K;UA3BOC;;K;WA+BKxM;;MACRA,OA2OJA,2EA3OmCA,gBA2OnCA,+EA3O6CA;K;YAe3CyM;MACIA;MAAQA;;MACMA;MAClBA;QACUA,8BAAeA;QACJA;UACjBA,sBAAMA;;MAGVA,YACFA;K;UAEYC;MAAmBA,6FAAqCA;K;;;qBA2BpE9pB;;iBAC8BA;MAAjBA;wBACQA;MACnBA;QACaA;QACXA;UACEA,sBAAiBA;;IAGvBA,C;iBAEQ+pB;MACiBA,mCAAVA;0BACMA;MACnBA;QAAiDA,cAEnDA;MADEA,kBACFA;K;mBAEQC;MACiBA,mCAAVA;iBACTA;MAAJA;QAAqBA,cAEvBA;MADEA,SACFA;K;cAEQC;MACiBA;uCAAVA;iBACTA;MAAJA;QAAsBA,QAMxBA;wBALqBA;MACnBA;QACEA,mBAGJA;MADSA;iCAAYA;MAAnBA,uBACFA;K;eAEEC;MACgBA;;MACcA;QAC5BA,sBAAiBA,+BAAkBA;MAGrCA,OAAOA,uDACTA;K;UAEYC;MAAgBA;MACfA;sBACIA;yBACIA;MACnBA;QACEA,OAuZEA,0DApZNA;MADEA,OAAOA,wBAAmBA,uDAAnBA,eACTA;K;qBAcQC;MAEcA;qBADRA;kBACFA;;cAAUA;2BACDA;MACnBA;QACaA;;MACbA;QM4ImDA,yCN5I3BA;QAAPA,SASnBA;;MANMA,qCAAuBA,2CAAvBA;MACJA;QACEA,uCAAYA;QACEA;UAAcA,sBAAMA;;MAEpCA,aACFA;K;;;eAqBMC;MAAoBA,aAATA;kCAASA,2BAAIA;K;cAGzBC;MACoBA;kBAAVA;;kBAAUA;eACnBA;QACFA,sBAAMA;gBAEJA;MAAJA;QACEA;QACAA,YAKJA;;MAHEA,8BAAWA;;MAEXA,WACFA;K;2BAtBGC;;K;;;;gBAwCaC;MAAYA;aAwB5BA,qBAxB2DA,sBAAVA,4BAAoBA,KAwBrEA,6BAxB4BA,WAwB5BA,+BAxBwEA;K;cAGhEC;MAAUA,OAAUA,qBAAVA,sBAAgBA;K;eACzBC;MAAWA,OAAUA,sBAAVA,sBAAiBA;K;eAMnCC;MAAwBA,OAAEA,eAACA,mDAA2BA;K;;;;cAgBnDC;;kBACCA;;QACFA,8BAAaA,gBAAWA;QACxBA,WAIJA;;MAFEA;MACAA,YACFA;K;eAEMC;MAAoBA,aAATA;kCAASA,sBAAIA;K;2BAf3BC;;K;;;EA6BuBC;cAAlBA;MAAUA,qCAAcA;K;eAC9BC;MAAwBA,OAAEA,eAACA,sCAAyBA;K;;EAsBtDC;gBAXgBA;MAAYA,2BAA2BA,sBAAVA,4BAAoBA,KAWjEA,qCAXoEA;K;WAGxD3M;MAlEZA;MAmEIA,iEAA6BA,gBAnEjCA,8DAmE2CA;K;;;cAStC4M;MACHA;oBAAOA,qBACCA,KADDA;kCACCA,UAAWA;UACfA,WAINA;MADEA,YACFA;K;eAEMC;MAAWA,OAAUA,IAAVA,wBAAiBA;K;;;;gBAWlBC;MAYhBA;MAZ4BA,4BAA+BA,sBAAVA,4BAAoBA,MAS9BC,kBAGvCD,6BAZ4BA,WAY5BA,+BAZwEA;K;;;eAclEE;MAAoBA,aAATA;kCAASA,sBAAIA;K;cAEzBC;MACHA;eAAIA;QAA2BA,YAcjCA;qBAP6BA,sBAADA,KANDA,MAAjBA;QACNA;QACIA;UAGFA;UACAA,4BAA0CA,kBAApBA,UAAWA;;UAEjCA,YAKNA;;MAFEA,8BAA8BA,KAAnBA;MACXA,WACFA;K;yBAtBaC;;K;2BACVC;;K;;;;gBAuCaC;MAqBhBA,aApByBA;MAAvBA,0BAAiCA,yBAAUA,aAApCA,sBAoBTA,2BAnBAA;K;;;cAQQC;MACyBA,aAAVA;;eACAA;MAArBA;QAAiCA,SAEnCA;MADEA,qBACFA;K;;;;cAWKC;MAGMA;QAAPA,WAAOA,uBAIXA;UAFEA;MACAA,YACFA;K;eAEMC;cAKAA;QAA4BA;QAAZA,WAEtBA;;MADEA,OAAiBA,IAAVA,wBACTA;K;;;;UAiDYC;MA+BEA;MACHA;MA/BTA,OAHFA,uBAG2BA,2BAAWA,qBAA7BA,sBAHTA,2BAIAA;K;gBAEgBC;MAoChBA,aAnCyBA;MAAvBA,0BAAiCA,yBAAUA,aAApCA,sBAmCTA,2BAlCAA;K;;;cAYQC;MACiBA,aAAVA;0CAAmBA;MAChCA;QAAiBA,cAEnBA;MADEA,QACFA;K;UAEYC;MAOEA;MACHA;MAPTA,OAVFA,sCAWMA,2BAAWA,8BACjBA;K;;;;cAiBKC;MACHA;oBAAqCA,2BAAjBA,aAApBA;QAAqCA;MAE9BA,IADPA;MACAA,sBACFA;K;eAEMC;MAAWA,OAAUA,IAAVA,wBAAiBA;K;;;EAmBlCC;gBAVgBA;MACdA,+BAAsCA,sBAAVA,4BAAoBA,KASlDA,yCARAA;K;;;cAUKC;MACHA;gBAAKA;aACHA;uBACOA,sBACEA,KADFA;qCACEA,UAAWA;YAAUA,WAIlCA;;MADEA,OAAOA,4BACTA;K;eAEMC;MAAWA,OAAUA,IAAVA,wBAAiBA;K;;;;gBASlBC;MAAYA,QAAMA,gBAAsBA;K;eAI/CC;MAAWA,WAAIA;K;cAEhBC;MAAUA,QAACA;K;eAcjBC;MACAA,sBAAiBA;IACnBA,C;cAEKC;MAA6BA,YAAKA;K;WAyB3BC;;MAAkCA,OAnDxCA,mDAmD0DA;K;UAUpDC;MACCA;MACXA,WACFA;K;;;cAmBKC;MAAcA,YAAKA;K;eAClBC;MACJA,sBAA2BA;IAC7BA,C;;;EAiGAC;gBALgBA;MAAYA,+BAA6BA,sBAARA,WAKjDA,yCALkEA;K;;;cAM7DC;MACHA;oBAAOA;QACeA,WAARA;UAAcA,WAG9BA;MADEA,YACFA;K;eAEMC;MAAWA,OAAgBA,2BAARA,IAARA,uBAAoBA;K;;;;;agFpxBvBC;;MACZA,sBAAUA;IACZA,C;;;;gBtDjEQC;qBAEFA;MAAJA;QAAkBA,WAKpBA;MAH8CA,oDAANA;;MAEtCA,WACFA;K;cAGAC;MAAcA,wBAAUA,wBAAQA;K;OuDRlBC;MAAEA;oBAAyDA;MAAvCA,wCAAmBA,2BAAeA,iBAAKA;K;;;;;;;YCc7DC;MAAsBA;MAAJA,OAAIA,2DAA4BA;K;eACrDC;MAAWA,kCAAWA;K;cAIxBC;MAAcA,OAAQA,2BAAiBA;K;eA0BjBC;MAI3BA,OjE8oBFC,wBiE9oBED,uDjE8oBFC,4CiE9oBED;IACFA,C;4BAL6BA;;MAI3BA,OAJ2BA;QAI3BA;eAJ2BA;UAI3BA;;;;;;;;gBAAgBA,6CAAhBA,0BAA4BA,qD9CiaxBA;;;gB8CjaJA;;;;;;gBAAoDA;gBAA9BA;0FAAoCA,uBAApCA;;;;gBAAtBA;;;;;gBAJ2BA;;;;;SAI3BA;MAJ2BA,CAI3BA;IAJ2BA,C;;;;cA2CrBE;MAAUA,mBAAQA,OAAMA;K;yBAEpBC;qBAENA;MAAJA;QAEWA,uBADaA;;;MAGxBA,WACFA;K;iBAWKC;MACHA;QAAoBA,YAGtBA;MAFEA;QAAwBA,YAE1BA;MADEA,WAAwBA,6BAC1BA;K;UAEYC;MACLA;QAAkBA,WAGzBA;MADEA,WAAsBA,aADKA,SACIA,MACjCA;K;aAEKC;MACGA;;MAAOA;mBACEA;oBACUA,gBAAzBA;QAGEA,aAAEA,WAAKA;IAEXA,C;YAEgBC;MAAQA,OAkCxBA,oBAlCyCA,8BAkCzCA,qCAlC+CA;K;cAE/BC;MAAUA,OAgC1BA,wBAhC2CA,UAgC3CA,qCAhCmDA;K;;;cAkC3CC;MAAUA,qBAAUA,OAAMA;K;eACzBC;MAAWA,iBADFA,UAAUA,OACGA;K;gBAGQC;MAUvCA,aAT4CA;MAAxCA,mDASkEA,SAAtEA,uDATsDA;K;;;eAWhDC;MAAoBA,aAATA;kCAASA,2BAAIA;K;cAEzBC;;kBACCA;qBAAUA;QACZA;QACAA,YAKJA;;MAHEA,oCAA6BA;;MAE7BA,WACFA;K;4BAbGC;;K;;;;aAiCOC;;0BAEJA;MAAJA;;Q3EmLFA,wE2ElLiBA,W3EkLjBA;Q2EjLIA,sBAAeA;QAaVC;;MAVPD,iBACFA;K;iBAQKC;MACHA,wBAAiBA,kBACnBA;K;UAEYC;MACVA,OAAOA,iBAASA,cAClBA;K;aAEKC;iCACeA;MAAlBA,iBAAUA;IACZA,C;YAEgBC;MACPA;MAAPA,O3E2EFC,mCAxSaD,oBAwSbC,uC2E1EAD;K;cAEgBE;MACdA,OAAOA,iBAAUA,YACnBA;K;cAEQC;MAAUA,uB3EzOAA,oB2EyOgBA;K;;;mBhFzQlCC;MAOEA;QAGSA;IAEXA,C;OAEcC;MAAEA;oBAGyBA;MAFrCA,4CACKA,iCAAyBA,qBC86EHA,oED76EUA;K;gBAEjCC;MAAYA,OAAOA,kBAAKA,kBC26EDA,sED36E8BA;K;cAKtDC;MACWA,mCAWCA;MARjBA,OAASA,gEACXA;K;;;;;;;;;;;;;;;;;;;;kBC+LWC;mBACyBA;MAAPA,SAE7BA;K;2BAiBSC;MACPA;eAfmBA;QAeLA,QAAOA,YASvBA;gBAPMA;wBAAWA,eAASA,oBAAoBA,eAASA;MACrDA;QAAwBA,QAHHA,YASvBA;;MAJEA;QACWA;mCAAUA;QAAnBA,YAASA;;MAEXA,OAAeA,oCACjBA;K;sBAEyBC;MACvBA;eAzBqBA;QAyBLA,QAAOA,UAWzBA;gBAV2BA;6BAAoBA;gBAEzCA;mCAAWA,oCAA8BA;MAC7CA;QAA6BA,QAJNA,UAWzBA;MI1OAA;MJqOEA;QACyCA;+BAAmBA;eAAnBA;QACxBA;QAAXA;gCAAUA;QADdA,iB8ErPEA,oB9EsPEA;;MAENA,O+EzQFA,gE/E0QAA;K;;;;UAmkB2BC;MAAwBA;MAC3BA;;QAAlBA,WAAUA;MACVA;MACAA;;IAEDA,C;;;;oBAigBLC;;gCAEyDA,WACnDA;MAAJA;QAAmBA,WAmBrBA;MAhBqCA;gBAD/BA;MAAJA;;gBAGIA;MAAJA;;gBAGIA;MAAJA;;gBAGIA;MAAJA;;gBAGIA;MAAJA;;MAIAA,aACFA;K;;;cAmNOC;MACLA,iDACFA;K;;;cAaOC;;;kBACDA;MAAJA;QAAqBA,oCAA4BA,qBAMnDA;gBALMA;MAAJA;QACEA,iCAA0DA,2BAI9DA;MAFEA,iDACoDA,2BACtDA;K;;;cAQOC;mBAAcA;eNhtCDA,wCMgtCgDA;K;;;cAQ7DC;MAGLA,iCAD6BA,kEAE/BA;K;;;;;cAyMOC;;iBACDA;MAAJA;QAAoBA,SAQtBA;eAL+BA;;MAI7BA,WAAOA,oCACTA;K;;;;cA+nBOC;MAMcA,uBAFfA;;MAEJA,6EACFA;K;;;;;;;;;;;;;cAqBOC;sBAGDA;MAAJA;QAAkBA,yCAEpBA;MADEA,qBAAmBA,4BACrBA;K;;;OA6BcC;MAAEA;oBAKhBA;MAJEA;QAA4BA,WAI9BA;MAIyBC;QAPKD,YAG9BA;MAFEA,+CAC0BA,oBAAiBA,UAC7CA;K;gBAGQC;MAENA,6BADsCA,cACDA,iDACvCA;K;cAGOC;MAGLA,gEA1iEcA,gCA2iEgCA,kBAChDA;K;;;cA+LOC;MAELA,yCADwBA,6CAI1BA;K;;;cAOOC;MAAcA,8BAAgBA,QAAQA;K;;EAidKC;cAA3CA;MAAcA,uDAA0CA,SAAQA;K;;;EIr1FvExB;cA7SQyB;MAAUA,+BAAOA;K;eAChBC;MAAWA,qCAAYA;K;YAGhB1B;MACdA,4CAAWA,sBAwSbA,uCAvSAA;K;cAEgB2B;MAHHA;MAIXA,OAAWA,gCAoSb3B,iFApSwC2B,8CAA3BA,4BACbA;K;iBAEKC;wBAEaA;MACdA;QAAqBA,YASzBA;MARIA,cAgQKA,aAxPTA;K;YAaKC;gDACHA,WAAMA,aAAQA;IAGhBA,C;UAEYC;MACVA;;sBACgBA;QACdA;UAAqBA,YAWzBA;sBATuBA;wCAA2BA;QAA9CA,SASJA;aARSA;mBACMA;QACXA;UAAkBA,YAMtBA;mBAJuBA;QAEZA,gCAFuCA;QAA9CA,SAIJA;;QAFIA,8BAEJA;K;iBAEGC;;mBACUA;MACXA;QAAkBA,WAMpBA;MA0KaA,aA9KyBA;MAAxBA;MACZA;QAAeA,WAGjBA;MADEA,aAAmBA,wBACrBA;K;aAEcC;;;MACKA;MAGkBA;MAHnCA;uBACgBA;QAEdA,kDADqBA,YAAqBA;aAErCA;oBACMA;QAEXA,+CADkBA,SAAeA;;QAGjCA;IAEJA,C;iBAEKC;;;MAGgCA;MAGYA;kBALpCA;MACXA;QAAiCA,YAAfA;MACPA;mBAEPA;MAAJA;QAC2BA;;QAGbA;QACZA;gBAEEA,OAAKA;;sBAEoBA;;IAI/BA,C;aA6CKC;MACgBA;;kBAAOA;2BACNA;aACpBA;QAGEA,kBAAOA,qBAAKA;mCACSA;UACnBA,sBAAMA;mBAEIA;;IAEhBA,C;wBAEKC;;;MAC4CA;MAEEA;kBAD7CA;MAAJA;QAC6BA;;YAEtBA;IAETA,C;oBAoBkBC;;;eA6GlBA,wBA5GiDA,2BAAKA;eAChDA;aACFA,eAASA;;aAITA,cAFyBA,MAAKA;;MAyCJC,KAlD5BD,uBAAkBA;MAelBA,WACFA;K;6BAiCIC;MACFA,wCACFA;K;6BAOIC;MACFA;;QAAoBA,SAOtBA;;MALEA;QAEWA,iBAALA,GAAKA;UAAuBA,QAGpCA;MADEA,SACFA;K;cAEOC;MAAcA,OAAQA,2BAAiBA;K;mBAwB9CC;MAQiBA;;;MAEfA,YACFA;K;;;UArRwCC;;;MAAcA,kBAACA;MAALA,oBAAWA,wBAAIA;K;cAAzBC;;K;;;UA6BxBC;;;MACRA,gBAACA,2BAAOA;IACbA,C;cAFaC;;K;;;;cAyQRC;MAAUA,gBAAKA,oBAAOA;K;eACrBC;MAAWA,gBAAKA,0BAAYA;K;gBAErBC;MA2BhBA,aA1ByCA;kDAAWA,iBA0BpDA;MAtBSC,EAuBPC,WAAaA;MA3BbF,SACFA;K;cAEKC;MACHA,WAAOA,4BACTA;K;;;eA0BME;MAAWA,gCAAaA;K;cAEzBC;;kBACmBA;eAAlBA,sBAAuBA;QACzBA,sBAAMA;kBAEGA;MACXA;QACEA;QACAA,YAMJA;;QAJIA;aACAA,aAAaA;QACbA,WAEJA;;K;4BAtBGC;;K;;;EAkDuCC;6BADtCA;MACFA,2CACFA;K;6BAEIC;MACFA;;QAAoBA,SAWtBA;;MATEA;QAMWA,iBAALA,GAAKA;UAAuBA,QAGpCA;MADEA,SACFA;K;;;UFrCiBC;MAAOA,WAA0BA,UAAUA;K;;;;UAExDA;MAAmBA,WAA6BA,sBAAsBA;K;;;;UAEtEA;MAAgBA,WAAeA,iBAAiBA,iBAAIA;K;;;EGtXnCC;cAAdA;MAAcA,8BAAgBA;K;eAE9BC;MACQA;;iBACEA;;oBAMUA,gCAAzBA;;kBAEeA;QACbA;;QAIcA;mCAAMA;sBAANA;QAEQA,yDFwkBTA;;MElkBZA;MACHA,sCACFA;K;gBAIaC;;;cAEJA,2BAAmBA;QAAoBA,yBAAvCA;uCACAA;;QAAiCA;QAAjCA,6BADAA;;MACPA,SACFA;K;uBAEaC;MAU8CA;qBADnBA;;;iBAIlCA;sCAIMA,2BAAOA;;iBAGUA;;;MAC3BA;QACuBA;iBAEPA;QACdA;UAAuBA;UAAgBA;UAAzBA,+CAAiBA;;;MAGjCA,OAAYA,oCACdA;K;;;qBAsCcC;MAAqBA,YAACA,SAAIA,IAAGA;K;OAY7BC;MAAEA;oBAEhBA;MADEA,sEAVOA,qBAAYA,QAAMA,qBAAYA,IAWvCA;K;gBAGQC;MAAYA,OAAOA,+BAAgBA,SAAIA,uBAAGA;K;;;cC5G3CC;MACHA,uBAASA,qBAAoCA,oBAAcA;K;4BAW3DC;;kBACEA;MAAJA;QAAiCA,SAGnCA;MAF+BA,UAeoBA;MAfjDA,YAAOA,wDACHA,oEACNA;K;8BAEIC;;kBACEA;MAAJA;QAAmCA,SAQrCA;MAFiCA,UAIkBA;MAJjDA,YAAOA,0DAAqCA,4EAE9CA;K;gBAwCaC;MAGPA,YAFoDA;MAExDA;QAAeA,WAEjBA;MADEA,OAiEFA,6BAhEAA;K;gBAYsBC;qBAGYA;MAAhCA;QACEA,sBAAUA;MAEZA,OAuGFA,8CAtGAA;K;gBAPsBC;;K;iBASTC;MACKA;;;QAATA;;MAGHA;MAAJA;QAAmBA,WAErBA;MADEA,OAsCFA,iCArCAA;K;mBAEaC;MACKA;;;QAATA;;MAGHA;MAAJA;QAAmBA,WAKrBA;MAFMA;iCAAMA;MAANA;QAA4BA,WAElCA;MADEA,OA2BFA,iCA1BAA;K;mBAEaC;qCACqBA;QAC9BA,sBAAUA,mCAAkCA;MAE9CA,OAAOA,mCACTA;K;;;;;aA0BQC;MACJA,WAAgEA,aAAOA;K;WAEnEC;mBAF4DA;MAErDA,8BAEQA;K;UAMNC;mBAFkCA;;iCAAMA;MAEvBA,gBAAYA;K;;;;EAmD9CrtB;gBAV0BA;MACtBA,qCAAwBA,UAAKA,0BAASA,oBAAOA;K;;;eAWjCstB;MAAoBA,aAATA;wDAAuBA;K;cAU7CC;;sBACUA;MACbA;QAAoBA,YAyBtBA;gBAxBMA;iBAAqBA;MAAzBA;kBACuBA;;QACrBA;eACEA;UACsBA;mBAhFwCA;kBAjHrBC;wBAuMnCD;;cAAeA;gBACEA;4CAAOA;gBAAPA;gBAAjBA;kBACkBA;8CAAOA;kBAAPA;kBAlB5BA;;kBAKoBA;;;;;YAgBdA;;eAEFA;UACAA,WAMNA;;;WAFEA,4BADAA;MAEAA,YACFA;K;;;;WC7PQE;MAAOA,wBAAQA,QAAQA,OAAMA;K;UACrBC;MAIdA;QACEA,kBAAUA;MALeA,WAOpBA,QAP4BA;K;;;;;;EAqDrCC;gBAlBoBA;MAChBA,2CAA8BA,aAAQA,eAAUA,oBAAOA;K;;;cAmBtDC;;kBACCA;kBAASA;eAASA;kBAASA;eAAOA;MAAtCA;aACEA;QACAA,YAcJA;;MAXMA;MAAJA;aACEA;aACAA;QACAA,YAQJA;;MANYA;MArENA,KAsEJA;WAGAA,mCADWA;MAEXA,WACFA;K;eAEUC;mBAAWA;QAAQA;MAARA,SAASA;K;;;;gBEtCtBC;mBACQA;MAAdA;QAA6BA,sBC9C/BA,gCD8CuDA;MACrDA,SACFA;K;;;gBAsDQC;;kBACQA;MAAdA;QAC6BA;iBACZA;UAAeA,sBCjHlCA,iCDiH2DA;aACvDA;;;MAEFA,SACFA;K;;;mBErGSC;MAAeA,4BAAUA;K;;;;;;mBAwXzBC;MAAeA,0BAAQA;K;;;;;cAwQxBC;MAAUA,sBAAgCA;K;;;;;UA2BlCC;MACdA,4CAAmCA;MACnCA,sBACFA;K;aAEcC;MAEwBA;MADpCA,4CAAmCA;;IAErCA,C;;;;;;aAkBcC;MAEwBA;MADpCA,4CAAmCA;;IAErCA,C;;;;;;mBA4BSC;MAAeA,6BAAWA;K;;;;;mBAoC1BC;MAAeA,6BAAWA;K;;;;;mBAoC1BC;MAAeA,2BAASA;K;UAEpBC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAoCSC;MAAeA,2BAASA;K;UAEpBC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAoCSC;MAAeA,0BAAQA;K;UAEnBC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAuCSC;MAAeA,4BAAUA;K;UAErBC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAoCSC;MAAeA,4BAAUA;K;UAErBC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAqCSC;MAAeA,kCAAgBA;K;cAEhCC;MAAUA,sBAAgCA;K;UAErCC;MACXA,4CAAmCA;MACnCA,sBACFA;K;;;;;mBAgDSC;MAAeA,2BAASA;K;cAEzBC;MAAUA,sBAAgCA;K;UAErCC;MACXA,4CAAmCA;MACnCA,sBACFA;K;aAEUC;MAGRA,sBAAgBA,yBAFLA,uCAAkCA,UAG/CA;K;;;;;;;;;EVhlBiBC;WArabA;MAEFA,qEACFA;K;WAKIC;MAA8BA,OAqajBA,qBA8/CN7lB,iCAn6DgE6lB;K;;;EAk9BtDC;cAAdA;MAAcA,0BAAaA,YAAWA;K;;;cAkTtCC;MAAcA,0BAAQA;K;;;;Ua/zCzBC;;cACUA;QACRA;MACCA;IACHA,C;;;;UAMOC;MAAkBA;MAENA,WAAjBA;eAG4DA;eACxDA;;IACLA,C;;;;UASHC;MACEA;IACFA,C;;;;UAOAC;MACEA;IACFA,C;;;;gBAkCF7lB;;QAQIA,gBACIA,yBAPiBA;;QASrBA,sBAAUA;IAEdA,C;yBAEAC;;QAIIA,iBAGIA,yBAAuBA;;QAc3BA,sBAAUA;IAEdA,C;;;;UApCI6lB;UAEOA;MACLA;IACFA,C;;;;UAgB2BC;;kBACLA;;kBACZA;MAAJA;QAEiBA,6BAAMA;QACrBA;UACSA;;QAGNA;MACLA;IACDA,C;;;;cAwCJC;;;wBAEMA;;QAAuBA;gBAC3BA;QACHA;;kBAGAA;oCAFeA;UAEfA;;UAMAA;;IAEJA,C;mBAEKC;mBAGDA;cADEA;QACFA;;QAEAA;IAEJA,C;;;EAsEgBC;UAAZA;MAAYA,0CAAgDA;K;;;;UAEvCA;MAGvBA,4Bdw1CFA,oCcz1CwCA;IAEvCA,C;;;;UA0C0CC;UACvBA,YAAWA;IAC9BA,C;;;;eA0PKC;MACYA,aAATA;MAAPA,4BAAgBA,2BAClBA;K;iBAEAC;MACQA;;;iBAAOA;aACbA;;;UAEIA,SAMNA;;UAJMA;UACAA;;IAGNA,C;cAEKC;MACHA;aAGAA;8BACyBA;QACvBA;;YAEQA;cACFA,0BAA0BA;cAC1BA,WAiEVA;;cA/DUA;;YAGFA;YACAA;YACAA;;QAIQA;QAEZA;UAEEA,WAkDNA;QAhDIA;UACEA;iCACsBA;wDrBmGRA;iBqB/FZA;YACAA,YAyCRA;;UAtCcA;+CAAgBA;UAAhBA,KAARA;UACAA;UACAA;UACAA;;QAEFA;UAEEA;UACAA;UACAA;;QAEFA;4BACeA;eACbA;iCACsBA;wDrB6ERA;YqB3EZA;iBAIAA;;YAMAA,YAYRA;;UATcA;+CAAgBA;UAAhBA,KAARA;UACAA;UACAA;;QAEFA,sBAAMA;;MAIRA,YACFA;K;gBAMIC;MACFA;;QApGqBC,aA0JoBD;kBA5CtCA;;;QAAiBA,iCAAYA;aAC9BA;QACAA,QAKJA;;QAHIA,0BAA2BA;QAC3BA,QAEJA;;K;uBAjIGE;;K;uBAMUC;;K;;;EAMbF;gBAyJyBA;MACrBA,+BA1JmBA,IA0JoBA,iBA1J3CA,yCA0JyDA;K;;EG/rBlCG;cAAhBA;MAAcA,eAAEA,OAAMA;K;;;;;;;UC2c3BC;MAA4DA;;;;;YAEpCA;UAapBA;cACIA,yBAAkBA;UACpBA;;eAEAA,MT1aNA;eS2aMA,WT3aNA;;mCS6agCA;QAC5BA,+BT/bcA,KS+bSA,uBT/bTA,KS+bgBA;IAElCA,C;;;;UAOgBC;;;;;;oBAEYA;MACtBA;QACEA,+BAAUA;cACNA;UACFA,mCAA2BA;mBASzBA,0BAAmBA;QAGrBA,+BT1dQA,KS0deA,uBT1dfA,KS0dsBA;IAGnCA,C;cArBWC;;K;;;UA0FhBC;MACEA;MAA+CA;eAA1CA;aHnkBgBA,OA4QCC;QGuTMD;IAC9BA,C;cAFAE;MAAYA;IAAZA,C;;;UAIAC;MACEA;MAAoDA;MAAOA;eAAtDA;aHvkBgBA,OA4QCF;QG2TME;IAC9BA,C;;;;mBH3lBGC;MAAsDA;MAEzDA;eACKA,OA4RmBA;QA5REA,sBAAUA;MACLA,eCgkBNA;MD/jBzBA;2BACsBA;gCACKA;;QAECA;MAE5BA;IACFA,C;mBAZKC;;K;;;;cA0BAC;;;wBAEmBA;eADjBA;aAoQmBA;QApQEA,sBAAUA;MACpCA,oBAAoCA;IACtCA,C;oBAEKC;MACHA;IACFA,C;;;cAQKC;;;wBAEcA;eADZA;aAqPmBA;QArPEA,sBAAUA;MACpCA,eAA+BA;IACjCA,C;cAHKC;;K;oBAKAC;MACHA;IACFA,C;;;sBAqGKC;MAEIA,SApCiBA;QAmCLA,WAErBA;MADEA,WAxCiBA,OAAOA,oBQhDEC,mCRgEeD,sBAwBkBA,iCAC7DA;K;iBAEYE;;6BAEeA;;;;uBASkBA;kBAtD1BA,OAAOA;MAiDNA;QACPA,uDACuCA;;QAEvCA,yBACSA;;QAKXA;QAAPA,SAeJA;;QAdIA,wBAjB2CA;oBAzCrBA;YA6DpBA,sBAAMA;UAMRA,sBAAMA;;UA1BqCA;;IA+B/CA,C;;;iBA+GKC;UAEHA,cAA0BA;UAC1BA;IACFA,C;oBAEUC;;;sCAagDA;qBCyQ/BA;2BDpREA;QAEbA,kFACAA;UACVA,sBAAoBA;;QAOlBA;QACJA;UAIYA;;MArDhBA,wBAAyBA,gBAAzBA;;MAyDEA,oBAxOFA;MAyOEA,aACFA;K;YAxBUC;;K;kBA8BAC;;;sCAEiDA;MAnE3DA,wBAAyBA,gBAAzBA;MAmEEA,oBA5OFA;MA6OEA,aACFA;K;kBAiCUC;MACGA;MAEuCA;;YAzG3BA;MAAzBA;kBAwG+BA;QACXA;MAElBA,oBA3QFA,4EA2QmBA,gBA3QnBA;MA4QEA,aACFA;K;qBA+BKC;UAEHA,cAAwBA;UACxBA;IACFA,C;kBASKC;UAGHA,gBACYA,mBAAkCA;UAC9CA,4BAA4BA;IAC9BA,C;kBAEKC;;kBA1IDA;MA4IFA;QACWA,iFAAgBA;aACzBA;;QAEAA;UArCKA;qBAzGgBA;YAoJjBA;YACAA,MAURA;;UARMA;;QAIFA,gCAAwBA;;IAI5BA,C;uBAEKC;MACHA;;;QAAuBA,MA+BzBA;gBAnMIA;MAqKFA;QACmBA,4EAAoBA;aACrCA;QACAA;0BAEiCA;UAC/BA;wBAEgBA;gBAETA;;;QAGTA;UAvEKA;qBAzGgBA;YAsLjBA;YACAA,MAURA;;UARMA;;QAGUA,MAAZA;QACAA,gCAAwBA;;IAI5BA,C;sBAEiBC;MAIEA,qEAAUA;MAEpBA,IADPA;MACAA,wCACFA;K;uBAEiBC;MACEA;MAEjBA;sBACkCA;eACxBA;;MAIVA,WACFA;K;yBASKC;MAAmCA;;;QAOpCA,wBAAYA,kDAQAA;;QAfwBA;QAmBpCA;QAKAA,oBAAkBA;;IAItBA,C;eAgEKC;;;uBAECA;kCAAMA;QACEA;UACRA;;UAEAA;;QAG2BA;QApNVA;aADrBA;aACAA;QA0NEA;;IAEJA,C;wBAEKC;MAA4BA;MAIrBA;MADmBA;WAlO7BA;WACAA;MAmOAA;IACFA,C;oBAEKC;MAAoDA;MAI7CA;MAAOA;MADYA;MA/N7BA,uBAAoBA;MAiOpBA;IACFA,C;oBAGKC;;uBAaCA;kCAAMA;QACRA;QACAA,MAOJA;;MADEA;IACFA,C;6BAqCKC;MAAiCA;;;MAEpCA,gCAAwBA;IAG1BA,C;kBAMKC;;8BAECA;MAAMA;QAERA;QACAA,MAIJA;;MADEA;IACFA,C;yBAEKC;;;MAIHA,+BAAwBA;IAG1BA,C;;;;UA5R4BC;MACtBA,gDAA4BA;IAC7BA,C;;;;UAgCuBC;MACtBA,uDAA4BA;IAC7BA,C;;;;UAuCWC;;iBAEVA;;;QAEEA,wBAAyBA;;QAJTA;QAKhBA;QACAA;;IAEHA,C;;;;UAAWA;MAEVA;IACDA,C;;;;UAMiBA;MAChBA,gCAAeA,QAAGA;IACnBA,C;;;;UAuD4BC;MAC7BA,0CAAqBA,aAAQA;IAC9BA,C;;;;UA0GuBC;MACtBA,oCAAmBA;IACpBA,C;;;;UAsBuBC;MACtBA,gCAAeA,YAAOA;IACvBA,C;;;;UA8DGC;MAAkCA;;yBAQbA;QAnmBlBA,mBA9EUC,OAAOA,eQhDEC,6BRqEYD;;QAopBAD;QAS9BA;QAzZDA,UA0ZKA,8CAAsBA,OA1Z3BA,oBA0ZyCA;;QAAxCA;UA1ZDA,EA2ZGA,yDAAuBA,OA3Z1BA;;UA6Z8BA,EAA3BA;UAEFA;QACAA,MAkBJA;;gEAthBmBA;2BACFA;;UAmGdA,EAoaGA,2DApaHA;YAqaGA;;QAGFA,MAUJA;;;qCAJyBA;;QACEA,EAAvBA,gDAA2CA;UAC3CA;;IAEJA,C;;;;UAH+CG;MAAOA,0BAAcA;K;;;;UAKpEC;MAA2BA;;;eAEAA;;;QA5qBiBA,gBA4qBIA;QA5qB7CA,EA4qBCA,0BA/sBSC,OAAOA,oBASjBA,oBQzDmBC,MRyDiBD;;QAosBZD;QAGvBA;;QAC2BA,EAA3BA;UACAA;;IAEJA,C;;;;UAEAG;MAAmBA;;QA7bhBA,8CA+byBA,OA/bzBA;;QAgcKA,oDACAA,SA9sBYC;UA+sBSD,EAAvBA,0BAAuBA;YACvBA;;;QANaA;QAQfA;QArcDA,sCAsceA,OAtcfA;;cAsc6BA;YAC1BA;;UAE2BA,EAA3BA;UAEFA;;IAEJA,C;;;;;cKwaUE;MLl/BhBA;gCAAyBA;QKo/BnBA;MACCA,2CACDA,6CAIQA,0CADQA;MAKpBA,aACFA;K;;;UATMC;;;IAECA,C;cAFDC;;K;;;UAIQD;MACNA,mCAAiBA;IAClBA,C;;;;;sBErwBgBE;MAAeA;MAGlBA,UAfSA;QAezBA,8BAAgBA,uCAATA,UAIXA;MAFqCA;MACnCA,OAAaA,qCADsBA,0DAAQA,UAC9BA,SACfA;K;0BAGkBC;MAAuBA;gBAtBZA;sBAyBRA;QACjBA;UDCAA,cCAEA,iCAAoBA,uBDAtBA;QCEAA,OAAcA,+DAQlBA;;MANqCA;wEAAQA;oBACpBA;MACvBA;QDNEA,cCOMA,gCDPNA;MCSFA,OAAcA,2CAChBA;K;qBAK+BC;wBAEXA;eA5CSA;QA8CgBA,4EACnBA;MAExBA,OAAeA,wEACjBA;K;oBAKMC;MxBENA,SwB9DsBA;QA8DlBA,yDAIJA;MADEA,OxBHFA,0DwBIAA;K;eAGOC;;;8BAKmBA;gBAlEAA;MA8DxBA;QAAmBA,sBAAMA;MACzBA;QP1SFA,oBAAqDA;QACnDvpB;QOySiBupB,SAOnBA;;gBAJgBA;MPhThBC,oBAAyBA;MO0mBwBC;MAAzBA,6DAIKA,oBADFA;gBA7YFC;MASPD,+CD3RUC;QCgtBxBD;MAJJF,KAzWEA,8DAyWFA;;MAvWEA,SACFA;K;uBASaI;mBACTA;;QAAqCA,SAArCA,oBAjGqBA,mDP7NzBA,eAAyBA;MO8TrBA,SAAkEA;K;SAGjEC;MACHA;2CACKA;eArFmBA;QAoFLA,sBAAMA;MACzBA;IACFA,C;cAGKC;MAAiDA;MACpDA;cA1FwBA;QA2FLA,sBAAMA;MACMA,eNjBNA;MMkBzBA;2BACsBA;gCACKA;;QAECA;MAE5BA;IACFA,C;cAXKC;;K;WAyBEC;;kBA1HeA;MA2HpBA;QACEA,OAAOA,2BAKXA;MAHEA;QAAmBA,sBAAMA;gBAMzBA;MACAA;QACEA;WACKA;QACLA,+BAAuBA,UAAUA;MARnCA,OAAOA,2BACTA;K;UAcKC;;;MAESA;gBAvJWA;MAsJvBA;QACEA;WACKA;QACLA,+BAAuBA,SDnJ3BA;ICqJAA,C;eAEKC;MACHA;MACaA;MAAOA;eA/JGA;MA8JvBA;QACEA;WACKA;QACLA,8BAAuBA,SDhJ3BA;ICkJAA,C;YAEKC;MAGgCA;iGAAWA;WAC9CA,oBAAoBA;;MAuQpBA;IApQFA,C;gBAIsBC;;;0BAMVA;MAAiBA;gBAlLxBA;QA+KDA,sBAAMA;YN1FiBC;;;MK9clBC,gDC0iBmCF;MDnkB3BC;MCyuBjBD,4DDrrBSE,yCAAoCA,2DCqrB7CF;MAnKqCA;;MAEnCA;QACqCA,qEAAWA;gBACrCA;QA+NXA;;aA5NEA;MAEFA;MACAA,8BAA4BA;MAI5BA,mBACFA;K;mBAEcG;;;;;gBA9LeA;QAyMUA,mEAAWA,WAC5BA;WAEpBA;WACAA,eACKA;sBAEeA;MACpBA;QACEA;;YAIuBA;;cAEjBA;;YANcA;YAQhBA;YPrcRA,yBAAyBA;YOycRA;YAATA;;;UAIOA;MAIAA;MAObA;QACWA;;QAETA;MAGFA,aACFA;K;gBAlRiBC;;K;gBAGUC;;K;;;;;;;;;;UAkNGC;MAC1BA,kBAAYA;IACbA,C;;;;UA6CDC;2BACmBA;2CP9bKA;QOgcpBA;IAEJA,C;;;;eA8BGC;MACgBA;MAAnBA,yBAAcA;IAChBA,C;gBAEKC;MACHA,yBAAcA;IAChBA,C;eAEKC;MACHA,yBAAcA;IAChBA,C;;;EnB3tB+BC;gBmB4wBvBA;MAAYA,wEAAiCA;K;OAEvCC;MAAEA;oBAIhBA;MAHEA;QAA4BA,WAG9BA;MAFEA,oDACoBA,qBAAkBA,YACxCA;K;;EAWSC;eADKA;MACZA,WAAOA,kCACTA;K;cAEKC;mBACHA;;;aAzV2BC;QAwPUD,uDAAWA,UAoJhDC,iBAAgBA;MAjJhBD,gBAAYA;IA+FdA,C;eAEKE;mBACHA;;;aA7V2BC;QAgQUD,uDAAWA,UAgJhDC,iBAAgBA;MA7IhBD,gBAAYA;IA2FdA,C;;;SAOKE;MACHA,6BAAYA;IACdA,C;cAEKC;MACHA;IACFA,C;WAEOC;MAAWA,oCAAeA;K;;;;;;YA4CpBC;MACEA;MAKbA,OAAOA,sBAAoBA,2CAG7BA;K;;;UAH6BC;MACzBA;IACDA,C;;;;;uBDnzBEC;MAAoDA;wFAEnDA;MAAJA;QAA2BA,MAM7BA;MALEA;uBAiekBA;aA/dhBA;QACAA;;IAEJA,C;WAwCKC;;kBAuEoBA;MAtEvBA;QAAiBA,MAQnBA;MAJmBA;WAAjBA;MAEAA;kBAAgBA;;gBAiZMC;cAyBLD;;MAzajBA;QAAqCA,uBAAeA;IACtDA,C;YAEKE;;kBA4DoBA;MA3DvBA;QAAiBA,MAcnBA;MAbEA;kBAqFAA;QAnFEA;sCACsBA,SAAQA;YAElBA,KAARA;;YAGAA;;YACAA;cAAkBA,uBAAeA;;;IAIzCA,C;YAEOC;;mBAILA;;MACAA;QACEA;MAE6BA,UAAxBA;MAAPA,oDACFA;K;aA6CKC;;kBACHA;MACAA;kBACEA;cAAQA;YA4VOA;;MA1VjBA;QAAkBA;MACFA,KAAhBA;IACFA,C;UAcKC;;;mDAISA;gBApCWA;MAkCvBA;QAAiBA,MAMnBA;MALEA;QACEA;;QAEAA,oBAgPJA;IA9OAA,C;eAEKC;mBA1CoBA;MA2CvBA;QAAiBA,MAMnBA;MALEA;QACEA;;QAEAA,mBAkPJA;IAhPAA,C;YAEKC;;kBAnDoBA;MAqDvBA;QAAiBA,MAOnBA;MANEA;;MACAA;QACEA;;QAEAA,qBAAkBA;IAEtBA,C;cAMKC;IAELA,C;eAEKC;IAELA,C;eAEcC;MAEZA,WACFA;K;iBAQKC;;uBACWA;;QAgOZA,+BAhOyBA,uBAgOzBA;QAhOYA;;MACdA;gBApFuBA;MAqFvBA;QACEA;;QACAA;UACEA;;IAGNA,C;eAIKC;;;MAM4BA;gBA1GLA;WAyG1BA;MACAA,qCAAsBA;WACtBA;MACAA;IACFA,C;gBAEKC;MAMWA;kBArHYA;;MAoI1BA;aACEA;QACAA;4BACmBA;QAEiBA;UAClCA;;UAEAA;;QAGFA;QAEAA;;IAEJA,C;eAEKC;MAKUA;;MASbA;WACAA;0BACmBA;MACyCA;QAC1DA;;QAEAA;IAEJA,C;oBAOKC;MAAyCA;MAI5CA;gBAtL0BA;WAqL1BA;MACAA;WACAA;MACAA;IACFA,C;iBAUKC;;kBA9LoBA;kCAgMJA,SAAQA;kBACzBA;QACAA;UA/LwBA;sBAAeA;uCAuWvBC;;;YAvWQD;;UA+LxBA;;UACEA;;;;aAKJA;QACEA;UACEA;UACAA,MAgBNA;;QAhO2BA;QAmNvBA;UAAqCA;aACrCA;QACAA;UACEA;;UAEAA;mBAEFA;;;MAGFA;QACUA,KAARA;IAEJA,C;gBAtWmBE;;K;;;;;;UA2PjBC;;iBAGMA;eAtHiBA;MAsHrBA;QAAqCA,MAUvCA;QATEA;kBAEcA;eAIuCA;;aAAnDA;MAHUA;QACVA,yCAA2DA;;QAE3DA,uBAAuCA;QAEzCA;IACFA,C;;;;UAwBAC;mBAGOA;eA1JoBA;MA0JzBA;QAAsBA,MAIxBA;QAHEA;MACAA,wBAAiBA;QACjBA;IACFA,C;;;;yCAyEoBC;;0BAIIA;MAAiBA;MAEzCA,OC2WEA,kDAAuBA,qDD1W3BA;K;YAPsBC;;K;2BAAAC;;K;;;YAqCPC;;K;;;;;;aAUVC;4CACHA,cAASA,gBAAUA;IACrBA,C;;;aASKC;MACHA,0BAAoBA,YAAOA;IAC7BA,C;;;aAMKC;MACHA;IACFA,C;YAEmBC;MAAQA,WAAIA;K;YAEtBA;MACPA,sBAAUA;IACZA,C;;;;cAsCKC;MACHA;;gBARsBA;MAQtBA;QAAiBA,MAcnBA;MAZEA;aAEEA;QACAA,MASJA;;MAPEA,oBAAkBA;WAMlBA;IACFA,C;SAQKC;;yBACaA;MAChBA;aACEA,0BAAoBA;;QAESA;aAA7BA;;IAEJA,C;;;UAtBoBC;;iBACDA;;QACfA;MACAA;QAA+BA,MAEhCA;+CA4BaA,QA7BDA;iBAuBSA;MACWA;QACjCA;MACAA;UACEA;MAEFA;IA5BCA,C;;;;;S2DpkBEC;mBACHA;MAkDWA,2BAlDAA;a3D6NUC;Q2D7KnBD,kBAAMA;MAEFA;IAjDRA,C;cAEKE;mBACHA;a3DyNqBC;Q2DjKnBD,kBAAUA;MAENA;IAzDRA,C;WAEKE;mBACHA;a3DqNqBC;Q2DrJnBD,kBAAUA;MAENA;IAjERA,C;;;;;cAsEKE;mBACHA;;;IACFA,C;eAEKC;mBACHA;;;IACFA,C;eAEcC;6BACOA;MACnBA;QACEA;QACAA,OAAOA,uBAGXA;;MADEA,WACFA;K;iBAEKC;MAAoBA;;;kBA5EPA;;QA8EdA;;QAFqBA;QAGrBA;QArCcA;QAAOA;kB3D+JFN;U2DjKnBM,kBAAUA;QAENA;;IAwCRA,C;kBAEKC;;;;MA1CaA;;MAAOA;;kBA1CPA;;QAsFdA;;QAFmDA;QAGnDA;QACAA;oB3DiHmBP;Y2DjKnBO,kBAAUA;UAENA;;UAAUA;UAAOA;oB3D+JFP;Y2DjKnBO,kBAAUA;UAENA;;;IAoDRA,C;iBAEKC;MAAcA;;QAEfA;kBAlGcA;;QAmGdA;;QAHeA;QAIfA;QA1DcA;QAAOA;kB3D+JFR;U2DjKnBQ,kBAAUA;QAENA;;IA6DRA,C;+DAvGkBC;;K;qBAGKC;;K;;;yCAoIDC;;;0BAG+CA;MAClDA;aADbA;YhEyaqBrE;;;MK9clBC;MAzBQD;M2DvEjBqE;sE3D2HSpE,yCAAoCA,2D2D3H7CoE;MALkBC,wGAcGA,IA4HmCD,oBAjKxDC;MAsCEA,+BACIA,IA0HyCD,iCA1H3BC,gCAA4CA,gCAAtBA;MA4HxCD,mBACFA;K;YANsBE;;K;2BAAAC;;K;;;;;wBhEiyBNC;MACVA;wBAGqDA;MAHlBA,qBAAlBA;MAGdA,yBAFyBA;MAEhCA,qBAD6BA,8BACKA,4CACpCA;K;6BAEwBC;MAClBA;qDAGqDA;MAHlBA,qBAAlBA;MAGdA,yBAFyBA;MAEhCA,qBAD6BA,8BACKA,gDACpCA;K;8BAE8BC;MAExBA;mEAGqDA;MAHlBA,qBAAlBA;MAGdA,yBAFyBA;MAEhCA,qBAD6BA,8BACKA,oDACpCA;K;mBAEYC;MAA+DA;MACzEA;MACuCA,qBAAlBA;+BACWA;MAGzBA,kBAFiBA;QAAYA,WAGtCA;MADEA,qBAD8CA,4BACZA,wDACpCA;K;;;;2BAsEKC;MACCA;;MAAiBA;+BACWA;wBACRA;QACtBA;QACAA,MAeJA;;8BAbsDA;MACbA;MACXA;QAAMA;MAA5BA;qBACmBA;;;QAGvBA;;;QAbuEA;QAevEA;;;QAEAA;;IAGJA,C;;;;iBAiCiBC;MAnLjBA,aAmL8BA;8EAAsCA;K;uBACnDC;MAAmBA,OAAOA,IAAPA,uBAAgBA;K;iBAmF3CC;MAAaA,uCAAqBA,KAAIA;K;gBAE1CC;MAAqBA;;;QAEtBA;;QAFsBA;QAGtBA;QA2EFA,mCAA4BA,qBAAOA;;IAxErCA,C;uBAEKC;MAAyCA;;;;QAE1CA;;QAF0CA;QAG1CA;QAmEFA,mCAA4BA,qBAAOA;;IAhErCA,C;wBAEKC;MAAqEA;;;;;QAEtEA;;QAFsEA;QAGtEA;QA2DFA,mCAA4BA,qBAAOA;;IAxDrCA,C;oBAEgBC;MAEdA,OAAOA,6CADUA,4CAAiBA,gBAEpCA;K;yBAEwBC;MAEtBA,OAAOA,kDADUA,8EAAsBA,wBAEzCA;K;yBAQgBC;MAEdA,OAAOA,oDADUA,0BAAiBA,wCAEpCA;K;UAaiBC;MACFA;;;MACSA;QAAuBA,aAe/CA;MARgBA;MACZA;QACEA;MAEFA,YAIJA;K;yBAIKC;MACHA,0CAAmCA;IACrCA,C;mCAEKC;MAKIA,yBAHmBA;2BACmBA;MAE7CA,qBADqCA,sBADaA,0DAIpDA;K;WAEEC;MACIA;wBAGsDA;2BAHhCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,sCAGpDA;K;gBAEEC;MACIA;qDAGsDA;MAAGA;2BAHnCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,+CAGpDA;K;iBAEEC;MACIA;mEAGsDA;MAAGA;MAAMA;2BAHzCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,0DAGpDA;K;wBAEgBC;MACVA;wBAGsDA;2BAHhCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,6CAGpDA;K;6BAEwBC;MAClBA;qDAGsDA;2BAHhCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,iDAGpDA;K;8BAE8BC;MAExBA;mEAGsDA;2BAHhCA;MAGnBA,mBAFsCA;MAE7CA,qBAD6BA,wBADqBA,qDAGpDA;K;mBAEYC;MAAoDA;MAOEA;MANhEA;2BAC0BA;yCACsBA;MAIzCA,4BAH2BA;QAAYA,WAIhDA;MADEA,qBAD8CA,sCADSA,kEAGzDA;K;uBAEKC;MACCA;MAGsDA;2BAHhCA;MAGnBA,mBAFsCA;MAE7CA,qBADkDA,sBADAA,kCAGpDA;K;gCAhQuCC;;K;qCACKC;;K;sCACCC;;K;6BACTC;;K;mCAMMC;;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6HtBC;UAAXA;MAAMA,WAAKA,mBAAIA,oBAAWA;K;cAA1BC;;K;;;UAKAC;MAAcA;;MAALA,YAAKA,yBAASA,aAAYA,yBAAIA;K;cAAvCC;;K;;EAWWC;UAAXA;MAAMA,WAAKA,wBAAWA,YAAWA;K;;;;UAwIXC;MACvBA,gCAAoBA,YAAOA;IAClCA,C;;;EA8KiCC;mBAvCJC;MAC1BA,QAAMA,iCAA8CA;K;iBACrBC;MAC/BA,QAAMA,sCAAwDA;K;kBAC9BC;MAChCA,QAAMA,uCAA0DA;K;gCACzBC;MACvCA,QAAMA,8CAC+BA;K;qCACOC;MAC5CA,QAAMA,kBACoCA;K;sCACGC;MAC7CA,QAAMA,kBACqCA;K;6BACPC;MACpCA,QAAMA,2CAAkEA;K;0BAChCC;MACxCA,QAAMA,+CACgCA;K;oBACJC;MAClCA,QAAMA,yCAA8DA;K;4BAC1BC;MAC1CA,QAAMA,kBACkCA;K;cACZC;MAC5BA,QAAMA,mCAAkDA;K;aAC7BC;MAC3BA,QAAMA,kCAAgDA;K;mCACZC;MAC1CA,QAAMA,kBACkCA;K;cAGjCC;MAAUA,WAAIA;K;mBAKCd;MAAQA,kCAAQA;K;iBAMzBe;MAjnBjBA,UAinB8BA;oFAAqCA;K;uBAElDC;MAnnBjBD,UAinB8BC;MAEMA,8EAASA;K;iBAMpCC;MAAaA,WAAIA;K;gBAIrBC;MAAqBA;;;aAERA,kBAAgBA;UAC5BA;UACAA,MAMNA;;QAJIA;;QANsBA;QAOtBA;QA4DFA,mBAAiBA,qBAAOA;;IAzD1BA,C;uBAEKC;MAAyCA;;;;aAE5BA,kBAAgBA;UAC5BA;UACAA,MAMNA;;QAJIA;;QAN0CA;QAO1CA;QAgDFA,mBAAiBA,qBAAOA;;IA7C1BA,C;wBAEKC;MAAqEA;;;;;aAExDA,kBAAgBA;UAC5BA;UACAA,MAMNA;;QAJIA;;QANsEA;QAOtEA;QAoCFA,mBAAiBA,qBAAOA;;IAjC1BA,C;oBAEgBC;MACdA,OAAOA,wEACTA;K;yBAEwBC;MACtBA,OAAOA,8GACTA;K;yBAOgBC;MACdA,OAAOA,6EACTA;K;UAWiBC;MAAmBA,WAAIA;K;yBAInCC;MACHA,0BAAwBA;IAC1BA,C;mCAEKC;MAEHA,OAAOA,wDACTA;K;WAEEC;wBACgDA;WAA7BA,oBAAUA;QAAYA,iBAE3CA;MADEA,OAAOA,mCACTA;K;gBAGEC;qDACgDA;MAAEA;MAAFA,KAA7BA,oBAAUA;QAAYA,oBAE3CA;MADEA,OAAOA,iDACTA;K;iBAEEC;mEACgDA;MAAEA;MAAMA;MAARA,KAA7BA,oBAAUA;QAAYA,2BAE3CA;MADEA,OAAOA,6DACTA;K;wBAEgBC;MAA8BA,+BAACA;K;6BAEvBC;MAA2CA,4DAACA;K;8BAEtCC;MAE1BA,0EAACA;K;mBAEOC;;MAAuDA,WAAIA;K;uBAElEC;MACHA,2CAAyCA;IAC3CA,C;;EAlEoBC;UAAXA;MAAMA,WAAKA,mBAAOA,WAAEA;K;cAApBC;;K;;;UAIAC;MAAcA;;MAALA,YAAKA,yBAAeA,IAAGA,yBAAIA;K;cAApCC;;K;;EASWC;UAAXA;MAAMA,WAAKA,wBAAWA,GAAEA;K;;;EQ7pCjCC;cA7WQC;MAAUA,+BAAOA;K;eAChBC;MAAWA,qCAAYA;K;YAGhBF;MACdA,uCAAWA,sBAwWbA,kCAvWAA;K;cAEgBG;MAHHA;MAIXA,OAAWA,gCAoWbH,uEApWwCG,uCAA3BA,4BACbA;K;iBAEKC;MACHA;;sBACgBA;QACdA,wCAsOKA,aA/NTA;aANSA;QAIEA,WAHIA;QACXA,kCAmOKA,aA/NTA;;QAFIA,+BAEJA;K;kBAEKC;qBACQA;MACXA;QAAkBA,YAGpBA;MADEA,OAAOA,wBADMA,uCAEfA;K;UAYYC;MACVA;;sBACgBA;QAC8BA;QAA5CA,SAOJA;aANSA;mBACMA;QAC8BA;QAAzCA,SAIJA;;QAFIA,OAAOA,gBAEXA;K;UAEGC;;mBACUA;MACXA;QAAkBA,WAIpBA;MAHeA;MACDA;MACZA,2CACFA;K;aAEcC;;;MACKA;MAGkBA;MAHnCA;uBACgBA;QAEdA,8DADqBA,wBAAqBA;aAErCA;oBACMA;QAEXA,2DADkBA,qBAAeA;;QAGjCA;IAEJA,C;UAEKC;;;MAGyBA;MAG0BA;kBAL3CA;MACXA;QAAiCA,YAAfA;MACPA;mBAEPA;MAAJA;QACEA;;aAEAA;;QAEYA;QACZA;;;;;eAKEA;;;IAGNA,C;aA4CKC;;;;MACSA;yBACkBA,gBAErBA,uBAAeA,kBAFxBA;kBAESA;;QAASA;QAAhBA,gCAAsBA;0BACUA;UAC9BA,sBAAUA;;IAGhBA,C;kBAEKC;;sBACUA;MACbA;QAAoBA,aAiDtBA;MAhDgBA,iCAAOA;qBAIPA;MACdA;QAEsCA;;QACpCA;+BAEwCA;UACtCA;;;QAVAA;kBAeOA;MACXA;QAEsCA;;QACpCA;;UAKEA;;;kBAKOA;MACXA;QAEsCA;;QACpCA;uBAGqCA,MADEA;;UAErCA;kCAEwCA;YACtCA;;;;MAMNA,YADAA,eAEFA;K;oCAEKC;;MACwBA;MAIAA;eAsCpBA;;YAxCLA;;MAEFA;IACFA,C;sBAyBIC;MAIFA,OAA8BA,iCAChCA;K;gBAmCMC;MAEJA,aADWA,6BAEbA;K;sBAEIC;MACFA;;QAAoBA,SAMtBA;;MAJEA;QACMA;UAAqCA,QAG7CA;MADEA,SACFA;K;;;UApRwCC;;;MAAcA,kBAACA;MAALA,oBAAWA,wBAAIA;K;cAAzBC;;K;;ErBvCFC;sBqB4UlCA;MAIFA,yCACFA;K;sBAEIC;MACFA;;QAAoBA,SAMtBA;;MAJEA;;QACEA;UAAkDA,QAGtDA;;MADEA,SACFA;K;;;cAmDQC;MAAUA,4BAAKA,oBAAOA;K;eACrBC;MAAWA,4BAAKA,0BAAYA;K;gBAGrBC;MAyBhBA,aAxBoCA;MAAlCA,qCAAwCA,qBAwB1CA,2CAvBAA;K;cAEKC;MACHA,OAAOA,4CACTA;K;;;eAqBMC;MAAoBA,aAATA;kCAASA,2BAAIA;K;cAEzBC;;oBACQA;sBACEA;kBACmBA;qBAAKA;QACnCA,sBAAUA;;QAEVA;QACAA,YASJA;;QAPIA;aAIAA;QACAA,WAEJA;;K;4BAtBGC;;K;;;;UCpRaC;MACZA,yBAASA,eAAUA;IACpBA,C;;;;UCjBaC;MACZA,yBAASA,eAAUA;IACpBA,C;;;E7B2IHC;gB8E9RgBA;MAAYA,oC9EgSHA,2B8EhSGA,yB9E8R5BA,oC8E9RiDA;K;eAE/CC;MAAwBA,OAAIA,4BAAOA;K;eAgB5BC;MAAWA,sCAAWA;K;cA8B1BC;MACeA;;MAClBA;QACUA;UAAgBA,WAM5BA;QALuBA;UACjBA,sBAAMA;;MAGVA,YACFA;K;WAkFYC;;MAA0BA,O9EwOtCA,2E8ExOqEA,Q9EwOrEA,2E8ExOuEA;K;UA8B3DC;MAAmBA,gGAAqCA;K;qBAa5DC;MACNA;MAASA;QxE0NaA,mCwE1NGA;QAAPA,SAOpBA;;MANkBA;MACHA,4BAAoBA,yCAApBA;MACbA,YAAyBA,gCAAzBA;QACEA,uCAAgBA;MAElBA,aACFA;K;YARQC;;K;YAuFAC;MAAaA,OhFxIrBtkB,yBgFwI0BskB,yBhFxI1BtkB,8DgFwI8CskB;K;aAqCtCC;MACgBA;;QAGYA;MAAvBA;MACXA,OAAYA,iBAAKA,6CAALA,+CACdA;K;aANQC;;K;cAQIC;MACCA,yCAAiCA;MAC5CA,OAAOA,wFACTA;K;eASKC;MAGDA;sDAAQA;MACCA,yCAAiCA;MAC5CA;QACMA;IAERA,C;cA0KOC;MAAcA,OAWJA,mDAXsBA;K;;;;;;YhDjgB3BC;MAAsBA;MAAJA,OAAIA,8EAA4BA;K;aACzDC;;;;MACWA,sCAAdA,0BACwBA,yBADxBA;;QACkBA;QAAhBA,gCAAsBA;;IAE1BA,C;eAsC6BC;MACpBA;MAAPA,OAAOA,sBAAKA,WAAIA,sGAClBA;K;iBA2BKC;MAA4BA,2BAAKA,kBAAaA;K;cAC3CC;MAAUA;aAAKA,iBAAMA;K;eACpBC;MAAWA;aAAKA,kBAAOA;K;cAEhBC;MAAUA;aAyH1BA,qEAzH0BA,yBAyH1BA,sCAzH2DA;K;cACpDC;MAAcA,kCAAiBA;K;;;;UAjCpBC;;;8BAA0BA;MAASA;;QAAMA;MAA9BA,OMkavBA,2DNlauBA,yBMkavBA,yBNla0DA;K;cAA9CC;;K;;;UA8CJC;;;aACHA;YACHA;QAEFA;eACAA;MxB4fWA;QA2BfzuB;MA3BeyuB;IwBzfZA,C;;;;cAqGGC;MAAeA,aAALA;8BAAWA;K;eACpBC;MAAgBA,aAALA;+BAAYA;K;gBAMhBC;MAcEA,aAdsCA;;;MAA5BA,OAY5BA,4BAEuBA,yBAFvBA,6BAZ4BA,WAY5BA,sCAZ6DA;K;;;cAgBxDC;;kBACCA;;QACFA,+BAAWA,iCAAWA;QACtBA,WAIJA;;MAFEA;MACAA,YACFA;K;eAEMC;MAAoBA,aAATA;kCAASA,sBAAIA;K;4BAf3BC;;K;;;;EAgF2BC;YAAlBA;MAAkBA,gDAAmBA;K;UACrCC;MAAmBA,2CAASA;K;iBAcnCC;MAA4BA,+CAAqBA;K;aAEjDC;MACHA,2EAAaA;IACfA,C;cAIQC;MAAeA,aAALA;8BAAWA;K;YACbC;MAAaA,aAALA;4BAASA;K;cAE1BC;MAAcA,0CAAeA;K;cACpBC;MAAUA,OAAKA,IAALA,8BAAWA;K;eAERC;MAAWA,OAAKA,IAALA,+BAAYA;K;;;EAuCpDC;YAEYA;MACRA,iCAA4BA,2CAHhCA,mEAGoDA;K;;;;UCnQ3CC;;iBAwHeA;MAvHtBA;QACEA,OAAOA,yBAQXA;WAPSA;QACLA,WAMJA;;QAHyCA,WAAlBA;QACnBA,mEAEJA;;K;cAEQC;MAAUA,WA4GMA,0BxBzNNA,6BwB6GoCA,8BAAeA,OAAMA;K;eAElEC;MAAWA,kCAAWA;K;YAGVC;MACnBA;cAsGsBA;QxBoFxBza,SAxSaya;QwB8GMA,0CxB9GNA,oBAwSbza,uCwBxLAya;;MADEA,OA8KFA,+BA7KAA;K;cAEaC;MACPA;MAAiCA,SAiGfA;QAjGLA,+BAEnBA;MADEA,OAAOA,gCAAeA,iCAAgBA,kEACxCA;K;iBAiCKC;MACqBA,QA6DFA;QA7DLA,oCAGnBA;MADEA,gDAAoBA,gBACtBA;K;aA6BKC;MACHA;MAA6CA;MAArBA,SA4BFA;QA5BLA,kCAsBnBA;MArBsBA;MACpBA,oBAAyBA,SAAzBA;kBACeA;qBAIYA,WACNA;QAAnBA;UACUA,sCAAoCA;eAC/BA;;QAIfA;0BAIqBA;UACnBA,sBAAMA;;IAGZA,C;2BAgBaC;MAELA,+CAAOA;MACbA;QACqBA,WAAZA,yCAAoDA;MAE7DA,WACFA;K;cA+BAC;MACEA;oDAAkBA;QAAiBA,WAGrCA;MAFeA,sCAAoCA;MACjDA,WAAoBA,yBACtBA;K;;EApJsDC;UAAdA;MAAUA,WAAIA,iBAACA,kBAAKA;K;;;;cA2KpDC;MAAkBA,aAARA;8BAAcA;K;eAEzBC;mBACEA;YA9EeA;QA+ERA,qBAAKA;;QACbA;QAAQA;mCAAcA;eAAdA;;MAFdA,SAGFA;K;gBAKqBC;mBACZA;YAvFeA;QAwFRA;QAAKA;;QACbA;QnC2gBR1lB,+BAEyBA,SAjIO0lB,yBA+HhC1lB;;MmC7gBE0lB,SAGFA;K;cAIKC;MAAyBA,sCAAwBA;K;;;WAsBjDC;MAAQA;MACLA;gBACeA;azByRuBA;QAJ5CA;gByBlRAA;kBADkBA,mDAAwBA;MAE1CA;IACFA,C;;;UAyEwBC;MAAGA;;;QAEvBA,SAGHA;;;MADCA,WACDA;K;;;;UAC+BC;MAAGA;;;QAE/BA,SAGHA;;;MADCA,WACDA;K;;;EqD1akCC;YAAzBA;MAAyBA,QAkBDA,mCAlBwBA;K;;;aAoChDC;MACJA;MAAeA;2BAAOA;MACTA;;qBAKEA,qBAFnBA;QACiBA;mCAAOA;QAAPA;QACfA;UACEA,sBAAoBA;QAGtBA;mCAAMA;;;MAERA,aACFA;K;4BAMqBC;MACnBA;MACIA;MCrDNA;MDoDEA,OA2BFA,wCA3BmCA,aAEnCA;K;;;;WA2BKC;MACHA;IACFA,C;cAEKC;;mBAC2CA;MAAnCA;qBAGQA,yBAFnBA;QACiBA;mCAAOA;QAAPA;QACfA;UACEA,sBAAMA;;eAIVA;MrF/CFxvB;MqF+CEwvB,YAAiBA;MACjBA;QAbAA;IAgBFA,C;;;epD/COC;;;;mBAC+CA;MAAnCA;MAMoBA;qJAIrCA;QAE+BA;QAAlBA;mCAAOA;QAAPA;QAGXA;UACMA;UAAJA;YjCqBqBA;wCAAOA;YAArBA,yBAAcA;YACkBA;YAAlBA;wCAAOA;YAArBA,yBAAcA;YACRA;YiClBXA;cAdaA;;;;;UAsBRA;QAATA;UACcA;kDAAeA;iCAAfA;UACZA;YACSA;0CAASA;YAATA;YACPA;cAA0BA;YAeRA;;YAdbA;cAELA;mD1BifUA,UAAUA;;kB0B5gBtBA;gBA6BmCA;;;cAGjCA;cAEAA;gBAA4BA;;YAKVA;;UAHpBA;;c1BqeNA;cAOEA;;;Y0B1egBA;Y1BqYEr0B;;Y0BlYZq0B;;;QAGJA,sBAAMA;;MAERA;QACeA;e1B6dWA;Q0B5dxBA;UAIEA;;UAIgCA;UAChCA;YAEEA,sBAAMA;iBAERA;YACSA;kB1B6ebhxB;Y0B5eMgxB;;;QAGGA,W1BsemCA;Q0Bte1CA,6FAoBJA;;MAjBeA;MACbA;QACEA;;QAIgBA;QAChBA;UAEEA,sBAAMA;QAERA;UAEWA;;MAGbA,aACFA;K;;;4BAsDmBC;;;MACbA;MAAKA;QACuBA;QAA9BA,OAmNJA,iCAjLAC,4BA/BAD;;MADEA,OA8LFA,oCAlCAE,yCA3JAF;K;;;kBA+CUG;MAAkCA,mCAAuBA;K;YAaxDC;MAAyDA;MAgBvCA;wBAVHA;MAEPA;MAEEA;MACnBA;QACEA;MAEWA;MAETA,KADJA,qDACgBA,uDAAiDA;MACjEA;QAAsBA,aAIxBA;MADEA,WACFA;K;;;kBA4EUC;uBACYA;kCACSA;qBAC3BA;MAGFA,OlBxXuBC,6CkBwXMD,eAAeA,0BAC9CA;K;;;SAIKE;MACEA;MAALA,gCAAuBA;IACzBA,C;WAEKC;MACHA,sBAAKA;IACPA,C;cAEKC;MAEoCA;MAA5BA,+CAAmCA;MAC9CA;IACFA,C;;;mBAYKC;MACUA,oCAAgBA;MAC7BA;QAEEA,6BADoBA;MAGtBA;QACEA;IAEJA,C;;;mBAUKC;MACUA,oCAAgBA;MAC7BA;QACEA,gDAAiCA;IAErCA,C;;;cqDxbKC;MACHA,cAAIA;MACJA;QAAYA;IACdA,C;;;;SAiBKC;MACHA,6BAAUA;IACZA,C;WAEKC;MACHA;IACFA,C;;;SCcKC;MACHA,2BAAiBA;IACnBA,C;cAEKC;MACHA;MACAA;IACFA,C;WAEKC;MACHA;IACFA,C;;;;;;;4BCxCQC;;MACNA,sBAAMA,8EAC0DA;IAClEA,C;UAEUC;;MACRA,OJyHFC,uBIxHcD,sEAARA,4CADGA,2BJyHTC,iCIvHAD;K;;;EDiBAE;UClBcA;MAAoBA,6CDoBbA,ICpBaA,uFAAqCA;K;;;;;oBCuK/DC;MA6YyBA,8BA1YHA,kBA0YqBA;MA1Y5BA,SAEvBA;K;eAsBgBC;MACQA,QAAaA,iBAErCA;K;;EzDmIAC;4BAdqBA;MACnBA,kCAAwBA,iBzB2Q1BC,uByB1QAD;K;;EoDpMAJ;UMrFeM;MACbA,8BACYA,mCAARA,uEACNA;K;;;UADcC;MAAmDA;MAAvBA,OA6J1CA,mCCfAC,+BD9IsED;K;;;;cAqCjEE;;kBACgDA;MAAlCA;MAGjBA;iBACMA;UACEA;wCAAMA;UAANA;YACFA;eAEFA;;QAEFA;;MAEFA;QAAYA;IACdA,C;WAEKC;;qBACSA;MACZA;QC0FAA,KDzFEA,eCyFFA,yBDzFYA;MCsGZA,KDpGAA,eCoGAA;IDnGFA,C;eAEKC;;qBAGSA;qBAiBVA,eCgEFA,yED/EAA;QAESA;kCAAMA;QAANA;QACPA;UACEA;YAAiBA;UACjBA;YACeA;YACbA;;;QAGQA;QACZA;UACUA;;;QCmEZA;QD9DeA;;MAGfA;QACiBA;QACfA;UCyDFA,4BDrDiBA;UAGbA,MAWNA;;QATIA;eAEEA;;4BAqBaA;;YnFyanBC,kBmFzamBD;mB5FwMC/zB;;iB4FpMhB+zB;;;;;aApBAA;IAEJA,C;eA+BOE;MAA6CA;UAElDA;e5FqLkBj0B;Q4FnLhBi0B,2BASJA;uBAPmBA;;gBnF6ajBA;MmFvaAA,sCACFA;K;;;cAWKC;MACHA;IACFA,C;;;;SChNKC;MACMA;MAATA,2BAAqBA;IACvBA,C;gBAMmBC;MACjBA,OAyOFA,0B3DiMAC,0CzB2JAC,uBoFpkBAF;K;;;;WA2HKG;IAASA,C;cAETC;MACHA;oCAA6BA;sBAEzBA,0CADFA;UAC4BA;kCAAIA;UpFsWhB92B,gDoFtWY82B;;;YAG5BA;MAEFA;QAAYA;IACdA,C;SAEKC;MACeA,IAAlBA;IACFA,C;gBAEmBC;MACjBA,OAgEFA,6B3D4NAC,8C2D5RsCD,aACtCA;K;;;SAqCKE;MACHA,6BAAUA;IACZA,C;cAEKC;yCAC0BA;iBAJ7BA;MAIAA;QAJAA;;oBAOMA;MAENA;QAIAA;IAHFA,C;WAEKC;MACHA;IACFA,C;;;WAcKC;MACHA,0BAAeA;MACfA;IACFA,C;SAEKC;MACMA;MAATA,0BAAyBA;IAC3BA,C;cAEKC;M3DyNIA,I2DvNPA,8BAAkBA,2BAAwBA;MAC1CA;QAAYA;IACdA,C;;;WAmBKC;;iBACYA;MAAfA;apFsVgBC;eoFhVdD;YpFgVwBC;;UAwB1BD;QoF1WEA,yCAAkDA;;QAElDA;IAEJA,C;SAEKE;MACMA;MAATA,0BAAyBA;IAC3BA,C;cAEKC;M3DmLIA;kB2DlLPA;kCAAcA,2BAAwBA;YpFuUZF;;QoFpUxBE,yDAAkDA;UpF4VpDA;QoF1VEA,MAGJA;;MADEA;QAAYA;IACdA,C;;;;azDnNUC;MACJA;MAAeA;2BAAOA;MACTA;MACJA;MACbA;QAAiBA,wBAgBnBA;;MA0BAA;MAtCoBA;QAMqBA;QAAlBA;oCAAOA;QAG1BA;;MAEFA,OAAeA,kDAA2BA,cAC5CA;K;4BAMqBC;MACnBA;MACIA;MoDnFNA;MpDkFEA,OAmHFA,gDAjHAA;K;;;gCAwBKC;;kBACHA;kBAAQA;;;MAARA;8BAAOA;;gBACCA;MAARA;8BAAOA;;WACCA;MAARA;8BAAOA;;IACTA,C;qBAWKC;MACHA;;QAqOQA;kBA/NNA;kBAAQA;;;QAARA;gCAAOA;;kBACCA;QAARA;gCAAOA;;kBACCA;QAARA;gCAAOA;;aACCA;QAARA;gCAAOA;;QACPA,WAMJA;;QAHIA;QACAA,YAEJA;;K;iBASIC;MACFA;;QAAoDA;QAAfA;iCAAIA;QAAJA;;QAArCA;;QAGEA;qBA6BIA,gEA1BNA;QACiBA;0CAAIA;QAAJA;QAEfA;oBACMA;UAAJA;YAAoCA;eAC5BA;;;UA4LXA;UA3LQA;qBACDA;cAAmCA;YAGLA;YAAfA;qCAAIA;YACLA,sCADCA;;iBAGdA;qBACDA;cAAmCA;YAEvCA;iBAGAA;sBACMA;;YAAJA;cAAwCA;iBAChCA;YAARA;oCAAOA;;iBACCA;;;sBAGJA;YAAJA;cAAwCA;sBAChCA;YAARA;oCAAOA;;sBACCA;YAARA;oCAAOA;;iBACCA;YAARA;oCAAOA;;;;;MAIbA,kBACFA;K;;;WAUKC;cACCA;QAEFA;QACAA,MAGJA;;MADEA;IACFA,C;cAEKC;MAAsDA;WACzDA;MAEIA;MAAJA;QACEA,MAmCJA;gBAhCMA;MAAJA;QAEEA;UACiBA;sCAAIA;UAAJA;;UATnBA;QAaoBA;UAGDA;aACjBA;;gBAiBAA;gBAAeA;MAZFA;;aAC0BA;;QAH/BA;QACJA;QACJA;UAAyCA;sCAAIA;UAAJA;;UAAzCA;;6BACgBA;YAGZA;;YAISA;wCAAIA;YAAJA,KAATA;;UAEFA;;QAEFA,0BAA2BA;aAC3BA;eAhBFA;MAkBAA;QAAYA;IACdA,C;;;;aAuDOC;MAGDA;MAA8CA;eAAjBA;MAApBA;MACbA;QACEA,aAIJA;MADEA,OFqHFA,uBAISA,0CExHTA;K;4BAMmBC;MACIA;MACjBA;MAAKA,2DyD5IXA;MzDiJEA,OAAOA,4BAAsBA,iBAC/BA;K;UAGeC;MAAkCA,OAAMA,0BAAKA,kCAAOA;K;;;oBA4L5DC;MAEDA;MAAkDA;MAAjCA,oDAA2CA;MAEhEA;QAAkBA,SAsBpBA;MAjBgBA;QAUoBA;QARhCA;;QAEQA;QAERA;QAQ0CA;QAZ1CA;;MAQcA;gBACCA;MAAjBA;QACmBA;aACjBA;QACAA,sBAAMA,0DAAkDA;;MAE1DA,aACFA;K;uBAEOC;MAGLA;;QACmBA;QACLA;QAEAA,UADKA;UAASA,SAK9BA;QAHIA,8DAGJA;;MADEA,OAAOA,gDACTA;K;WAMKC;sBACeA;UAClBA;MACAA;QACEA,MAQJA;cALMA;Q3BhFcx4B;;Q2BmFhBw4B,sBAAMA,mBAAgBA;IAE1BA,C;mBAEOC;M3BOPA;;;;qB2BJcA;oBACDA;;;;MAGAA;oCAAKA;kBAALA;;uBAeDA,iBAbVA;iBAEEA;YACaA;0CAAUA;YAAVA;YAMYA;YAFYA;YAA3BA;wCAAgBA;YAAhBA;YACRA;c3BxGcz4B;c2B0GZy4B;gBAAcA;cACdA;mBACKA;cACLA;gBACEA;;;oB3B9GUz4B;oB2BmHNy4B;;oB3BnHMz4B;oB2ByHNy4B;oBACAA;;oB3B1HMz4B;0BAgIlBA;oB2BAYy4B;;;qBAIJA;qBACAA;gBACAA,SA2CVA;;cAzEmBA;;YAiCbA;cAAcA;YACDA;YAANA;sCAAKA;wBAALA;;UAIIA;UAANA;oCAAKA;sBAALA;UACPA;YAEEA;;gBAQIA;;;cAPWA;cAANA;yCAAKA;0BAALA;cACPA;gBACYA;;gBACVA;;cAJGA;;YAQPA;cACEA;gBACuBA;0CAAKA;gB3B3JhBz4B,yD2B2JWy4B;;;cAGHA;YAEtBA;cAAoBA;;;;;MAIxBA;QAEEA;U3BtKgBz4B;;e2ByKdy4B;eACAA;UACAA,SAMNA;;WAHEA;WACAA;iB3BlD4CA;M2BmD5CA,sCACFA;K;;;;U3BmB2BC;MAAwBA;MAEpBA;eADzBA;;6BAASA;e2ExrBgCC;Q3EmnB7Ct1B;;MAwEmBq1B;QACfA;IACDA,C;;;;OA5WSE;MAAEA;oBAGQA;MAFpBA,0CACAA,uBAnC8BA,qBAoCVA;K;eAapBC;MACAA,sDAAiBA,yBAlDaA,cAkDgBA;K;gB4BkI1CC;MAAuBA,aAAVA;MAADA,sEAAsCA;K;cAqEnDC;MACMA;mC5BpPcA;Y4BqPdA,sB5BlPeA;Y4BmPfA,sB5BhPaA;Y4BiPbA,sB5B9OcA;c4B+OZA,sB5B5OcA;c4B6OdA,sB5B1OcA;a4B2OfA,wB5BxOoBA;M4B2O9BA,+EAIJA;K;;;;OyDvScC;MAAEA;oBAC0CA;MAAtDA,0CAAsDA;K;gBAElDC;MAAYA,OAAUA,+BAAQA;K;eAWlCC;MAAiDA;MAApBA,QAAoCA;K;cAa9DC;MA6BLA,oBAFoCA,6BAAbA,sCAMzBA;K;;;EC9PqBC;cAAdA;MAAcA,6BAAeA;K;;;EzFk9B3BC;kBG11BOA;MAAcA,mDAAkCA;K;;;cLnGzDC;mBACDA;MAAJA;QACEA,8BAAkCA,wBAGtCA;MADEA,yBACFA;K;;;;kBAoFWC;MAAcA,kCAAoBA,wBAAwBA;K;yBAC1DC;MAAqBA,SAAEA;K;cAE3BC;MAI6CA;qBAH9BA;;uBAEGA;;iBAELA;MAGGA,UAFhBA;QAAWA,aAKlBA;MADEA,uDAD0BA,qBAAaA,yBAEzCA;K;;;;;EAW+BC;oBAAtBA;MAAgBA,qBAAMA,cAAYA;K;kBA4IhCC;MAAcA,mBAAYA;K;yBAC1BC;;oBAGSA;kBACFA;MAChBA;QAEgDA;WAGzCA;QAC0CA;WAC1CA;QACoCA,gEAAQA;;QAKXA;MAExCA,kBACFA;K;;EAkB8BC;oBAAtBA;MAAgBA,oBAAMA,cAAYA;K;kBA8D/BC;MAAcA,mBAAYA;K;yBAC1BC;MA/DmBA;QAmE1BA,qCAMJA;mBAJMA;MAAJA;QACEA,+BAGJA;MADEA,0CACFA;K;;;;;;;cKwNOC;MAzFPA;;YA2FSA;wBACSA;0BAEdA;;UA5DF32B;QA8DmB22B;cACfA;;MAKFA,KAFmBA,8BAEIA;MASGA,yCAAaA;MACbA;MAG1BA,uDALkCA,kB2E/rBSrB,8F3E+sB/CqB;K;;;cLzNOC;MAAcA,uCAAyBA,QAAQA;K;;;cAc/CC;MAELA,oCADmBA,QAIrBA;K;;;cAoBOC;MAAcA,2BAAaA,QAAQA;K;;;cAcnCC;mBACDA;MAAJA;QACEA,kDAIJA;MAFEA,sDACaA,8BACfA;K;;;cAOOC;MAAcA,sBAAeA;K;kBAEpBC;MAAcA,WAAIA;K;;;;cAO3BC;MAAcA,uBAAgBA;K;kBAErBC;MAAcA,WAAIA;K;;;;ckCrkB3BC;MAGLA,2BAFuBA,QAGzBA;K;;;;cAkDOC;;sBAEkBA;;qBAIJA;qBACGA;MACtBA;QACEA;4CAAqDA;;UANnDA;QAMFA;UAIIA;QAAJA;oBACaA;YACAA;UAEXA,6BAgENA;;oGA3DIA;UACaA;qCAAOA;UAAPA;UACXA;YACEA;cACEA;YAEUA;YAzBdA;iBA2BOA;YACLA;YACYA;YA7BlBA;;;QAsEWA;QA/BTA;UACaA;qCAAOA;UAAPA;UACXA;YAKWA;YAHTA;;;QAQJA;UAIEA;YACQA;;YAxDcA;YAYaA;;YA8C5BA;cACGA;;cA3DYA;;cA+DZA;cACFA;cApD2BA;;;;;UAwDEA;UAAPA;UApERA;;;QAsExBA,yBAFeA,sEAE6BA,oDADHA,gBAS7CA;;QAFIA,mDAF0BA,2BAI9BA;K;;;ExBWyBC;YAAbA;MAAaA,yFAAwBA;K;WA2DrCC;;MAA4BA,qFAA2BA,gBAA3BA,6BAAqCA;K;cA0FxEC;MACHA;;QACMA,WADNA;UACoBA,WAGtBA;MADEA,YACFA;K;UA+GOC;MACuBA;;MACvBA;QAAqBA,SAiB5BA;MAhBuBA;MAChBA;QAAqBA,YAe5BA;mBd5DoBA;;;UckDQA;eACfA;;;;UAKYA;eACZA;;MAEXA,sCACFA;K;qBAiCQC;MACJA,kFAAoCA;K;YADhCC;;K;cAwBAC;MAGiBA;;MACvBA,gBAAOA;QACLA;MAEFA,YACFA;K;eAYSC;MAAWA,QAACA,wBAASA,YAAUA;K;UAwE5BC;MAAmBA,4FAA4BA;K;eAqB/CC;;MAAiCA,OXsB7CA,6DWtBwEA,WXsBxEA,4CWtB6EA;K;aAOvEC;MACaA;MACZA;QACHA,sBAA2BA;MAE7BA,OAAUA,gBACZA;K;YAUMC;MACaA;;MACZA;QACHA,sBAA2BA;;QAIfA;aACLA;MACTA,aACFA;K;eAqIEC;MAAqBA;MACVA;MACSA;MAEpBA,wBAAOA;QACLA;UAAoBA,OAAgBA,sBAKxCA;QAJIA;;MAEFA,sBAAiBA;IAEnBA,C;cAgBOC;MAAcA,uDAAqCA;K;;EyBtU1BC;cAAzBA;MAAcA,6BAAWA,eAAMA,qBAAOA;K;;E9BpanBC;gBAAlBA;MAAYA,uDAAcA;K;cuF/C3BC;MAAcA,aAAMA;K;;EvF8BIC;OAHjBC;MAAoBA,qBAAsBA;K;gBAGhDD;MAAYA,wCAA+BA;K;cAG5CE;MAAcA,yBHoaLA,uCGpaiDA;K;kBAGzDC;MACNA,sBAAUA,2DAAuCA;IACnDA,C;mBAGSC;MAAeA,yCAAgCA;K;;;;;;cwFhBjDC;MAAcA,uBAAWA;K;;;;cxF8jBxBC;MAAUA,qBAAUA,OAAMA;K;cA4B3BC;mBAAuCA;MAAzBA,sCAAmCA;K;;;;UgCorBtDC;MACEA,sBAAMA,uDAA8CA;IACtDA,C;;;;UAiEAC;MACEA,sBAAMA,uDAA8CA;IACtDA,C;;;;UAGAC;MACEA;;QACEA;MAEcA,oBAAMA;MACtBA;QACEA;MAEFA,YACFA;K;;;;aAmHgBC;;;;kBAg2CZA;ezCx9Ecj6B;kByCy2EKk6B;;QAmHvBD;;oBA3BIC;gBzCj8Ecl6B;;UyCq8ElBk6B;;oBACIA;UAAJA;YhC9tEeC;;;mBgC0vENF;kBACLA;QAAJA;;kBAIIA;QAAJA;;QA/2CgBA;;;;K;oBAGMG;;;;2BAAyCA;wBzC3nC7Cp6B;QyCklDlBo6B;UAA8BA;0CAAYA;UAAZA;;UAA9BA;;UACgBA;QAIVA,oBzCvlDYC,iByCslDZD,wCtC7kDR/4B,yBsC+kDU+4B,+D1C5qDkCC,kC0C4qDHD;QA7djBA;;;;;K;gBAGTE;;;;QAAsBA,yCAANA;QAAhBA;;;;;K;gBAkJJC;MAAYA,qBAASA;K;YAErBC;qBACMA;MACfA;QAAkBA,SAKpBA;MAJMA;QACFA,OAAOA,4CAAuBA,YAGlCA;MADEA,WACFA;K;YAEQC;MACUA,aAATA;MAAPA,4CAA6BA,aAC/BA;K;aASWC;mBAASA;iCAAYA;K;gBAErBC;mBAAYA;iCAAeA;K;cAEjCC;2BACsBA;MAmqGzBA,UAjqGWA,sBAAqBA;QAAQA,YAE1CA;MADEA,iEACFA;K;iBA6zBOC;MAEDA;MAGJA,kCAAOA;QACLA;QACAA;;MAIYA;;MAEdA;;;QACeA;QACbA;UACEA;QAEUA;QAGZA;;UACoBA;UAAhBA;oCAAKA;UAALA;YADJA;cAEmCA;cAAhBA;wCAAKA;cAALA;;cAFnBA;;YACgCA;;UADhCA;;UAGEA;QAGFA;QAdKA;;MAgBPA,OAAOA,2DACgBA,oEACzBA;K;aAuGIC;MACFA,OAAOA,kBAAeA,uBACxBA;K;gBAmBIC;MAEKA;MAMOA,0BzC/wEI/6B;QyCgxES+6B;QACXA;UACeA;UACJA;UACAA,uCAAoBA;;;;UAVxCA;;QAYQA,uCAA6BA;QAC5BA,yCACYA;;4BAGNA;QACNA;UACeA;UACJA;UAEnBA,8BAAoBA,0BAAoBA;UAC/BA,uCAA6BA;UAC5BA,yCAAkCA;;gCAE1BA;4BACJA;4BACAA;4BAEEA;UADNA;YAEEA,yCACYA,6BAELA;;YAIAA;YACrBA;cAKuBA;cACPA,6DACeA,0BAA6BA,sCAGpDA,0BAAmBA,oBACfA,sDAA+BA,UAAmBA;mBAEzCA;cACNA,uCAA6BA;+BzC/zEhCC;cyCm0ERD;gBAG2BA,yBzCt0EnB/6B,uCyC00ES+6B,0BAA6BA;;gBAI/BA,6CAAmCA;;cAGjCA,6CAAiCA;+BzCj1E1C/6B;cyCm3EQ+6B;gBAhCDA;;gBAMAA;;YAKLA,yCAAkCA;;;;MAKtDA,OAAYA,gGADiBA,8BAAwBA,iCAGvDA;K;oBAISE;MAAgBA,yBAAaA;K;eAE7BC;MAAWA,yBAAaA;K;gBAExBC;MAAYA,0BAAcA;K;mBAE1BC;MAAeA,6BAAiBA;K;uBAIhCC;MAAmBA,sDAAoBA;K;gBAoBzCC;;kBACDA;MAAJA;QACEA,sBAAMA;gBAnmCUA;MAqmClBA;QACEA,sBAAMA;gBApmCaA;MAumCrBA;QACEA,sBAAMA;MhCjhEoBA;;QgCohEKA;;QAIbA,SA9CGC;UA+CrBD,kBAAMA;QAKgBA;QACxBA;QhC5qEYC,8BgCioEcA;;;MAgC1BD,SACFA;K;cAgEOE;MAAcA,uBAAKA;K;OA0BZC;MACZA;MADcA;oBAahBA;MAZEA;QAA4BA,WAY9BA;MAXeA;QACOA,SAAhBA;UACsBA,SAzIHA;YA0IDA,SAnuCDA;cAouCjBA,yBAAcA;gBACdA,yBAAcA;kBACAA,SAAdA;8BAzIeA;;oBA0IGA;;wBAjtCGA;sBAktCNA;kCAzIGA;;wBA0IGA;;4BAntCAA;0BAotCHA;;0BADNA;;wBADNA;;sBADGA;;oBADJA;;kBADAA;;gBADAA;;cADIA;;YADIA;;UADNA;;QADXA;eAWFA;K;8BAh4CwBC;;K;;;;;;;;;EAyvBJC;UAAPA;MAAOA,0BAAWA,YAAgBA,iBAAGA,wBAAYA;K;;;;WAsvCtDC;;kBACCA;;kBAMUA;;+BAAiBA;kBACjBA;eADAA;QACAA;gBACDA;QAChBA;UACeA,+DACwBA;UAIZA;;UACCA;QAixC9BC,UAjyCSD,sDAcKA,2CACyBA;;MAfrCA,SACFA;K;cAqXOE;;iBACFA;;6BAAiBA;eAA2BA;MAA7CA,SAACA,8BAA0DA;K;;;UAiO/DC;mBACIA;;iCAAMA;aAANA;MAAMA;MAANA,SAAkDA;K;;;;UAMtDC;MACEA;qBAA0BA,gBAA1BA;QACaA;QACXA;oCAAMA;;;IAEVA,C;;;;UAQAC;;;MACeA;gCAAMA;MAANA;MAAyBA;gCAAMA;MAANA;aAAtCA;QACSA;QAAPA;oCAAMA;;;IAEVA,C;;;EAyO4BC;oBAfnBC;MAAgBA,0BAAcA;K;eAE9BC;MAAWA,kCAAkBA,sBAAiBA,WAAUA;K;gBACxDC;MAAYA,8BAAcA,eAAcA;K;mBACxCC;MAAeA,iCAAiBA,KAAKA,OAAMA;K;uBAW3CJ;MAAmBA,2DAAqBA,YAAWA;K;cAWjDK;MACeA,aAAjBA;MAAPA,wBAAOA,4CACTA;K;oBAEOC;;kBACDA;MAAJA;QAAqBA,SAMvBA;MA9BoBA;MAAmBA;QAyBxBA,aAKfA;MA7BwCA;QAyBxBA,cAIhBA;MA/BuCA;QA4BxBA,aAGfA;MA5B0CA;QA0BxBA,gBAElBA;MADEA,OAAOA,iDACTA;K;gBAIWC;MACLA,aADkBA;iBAAaA;MAAdA,oDACjBA,uBACEA;K;YACGC;MACUA,aAAjBA;yDAAiBA,eAA2BA,iBAAgBA;K;YACxDC;MACNA;MAAIA;QAASA,OAAWA,YAAMA,gDAAeA,sBAAgBA,mBAI/DA;gBA5CoBA;MAAmBA;QAyCxBA,SAGfA;MA3CwCA;QAyCxBA,UAEhBA;MADEA,QACFA;K;YAEWC;MAAQA,qDAAeA,iBAAYA,aAAYA;K;aAC/CC;MACLA,aADeA;iBAAcA;MAAfA,oDACdA,uBACEA;K;gBACGC;MAC0BA,aAAhCA;iBAAiBA;MAAlBA,cAAuBA,yDAAiDA;K;oBAwB3DC;;oBACHA;kBACFA;iBACNA;;QAA6BA;MACjCA;QAAkBA,QAAOA,YAW3BA;MAVuBA;sCACrBA;QACaA;+BAAKA;QAALA;UAETA,+BAAUA;UACFA;;;MAGZA,+BAAUA;MACVA,OAAOA,6CACTA;K;aAeKC;MAGCA,yBAFiBA;MACrBA,4BAA6BA,gBAAUA,mDACnCA,4BACNA;K;oBAIIC;;kBApHoBA;kBAAiBA;MAfzCA,YAe8CA;QAqH1BA,YAGpBA;MAFEA,wBAAkBA,gDAAmCA,kBAAYA,kBAC7DA,kBAAYA,kBAAYA,uBAA6BA,cAC3DA;K;aAwEIC;MACFA,OAAOA,kBAAeA,uBACxBA;K;gBAEIC;MAEOA;QAAPA,2CAGJA;MADEA,OAAOA,sBAAeA,uBACxBA;K;kBA0BIC;;gBAxOkBA;MAyOpBA;QAAmBA,UAoLrBA;cA5ZyBA;MAyOvBA;iBA1OoBA;QA2OlBA;UAAqBA,UAkLzBA;QAtZoBA;QAAmBA;wBAUdA,mBAAcA;aATAA;UAwOrBA;;UAvOsBA,kFAyOtBA;QAEdA;UACmBA;UAGjBA,OAlQNA,iBAgQwBA,sDACVA,qEAKAA,wBACAA,wBACAA,yBACAA,6BACCA,cA6JfA;;UA1JMA,OAAOA,sBAAeA,iBA0J5BA;;oBA5YyBA;cAAcA;MAqPrCA;gBAlQiCA;QAmQ/BA;mBACmBA;;UAGjBA,OArRNA,iBAmRwBA,mDACVA,kDAGCA,iBACAA,iBACAA,iBACAA,yCAGAA,cA0IfA;;gBAxZyCA;mBAAKA;UAf9CA,SAgSuBA;UAGjBA,wBAFkBA,mDACVA,4CAGCA,iBACAA,iBACAA,iBACAA,iBACAA,kCAEAA,cA4HfA;;QA1HIA,OAAOA,uBA0HXA;;cA7Y4BA;;4BAsRCA;QACJA;QAETA;;QAGZA,OAtTJA,iBAoTsBA,+DACVA,kDAGCA,iBACAA,iBACAA,2CAGDA,6BACCA,cAyGbA;;sBA5YyBA;oBAAcA;uCAhBdA;eAyTVA;UACTA;QAE0BA;QAG5BA,OA1UJA,iBAwUyBA,gEACVA,kDAGFA,iBACAA,iBACAA,uCAGDA,6BACCA,cAqFbA;;oBAxEwBA;MAIDA;MACrBA;;;QAGEA,6BAAOA;UAAsCA;MA7VhBA;MAwW/BA;QAAOA;QAA0BA;;QAE/BA;QAFKA;;6CAePA;QACEA;QACWA;0CAAQA;QAARA;UAGTA;YA5W2BA;YA4WPA;;UACpBA;UA7W2BA;;;MAALA,kCAhBNA;QA6YlBA;QA5BKA;;MA3XTA,mCA0Z0CA;MAIxCA,wBAHqBA,+DACVA,kDAIFA,iBACAA,iBACAA,uCAGDA,6BACCA,cACXA;K;gBAEOC;;kBACDA;MAAJA;QAzZqCA;QAyZrCA;;;;QACEA,sBAAMA,2DAAqDA;gBAEzDA;gBAAcA;iBAAKA;sBACHA;UAChBA,sBAAMA;QAGRA,sBAAMA;;MhC79HoBA;;QgCi+HjBA;;iBAKPA,mBAAaA;UAEfA,kBAAMA;QA7XSC,6CAAeA;;MAqXhCD,SAGFA;K;gBAiBQE;MAAoCA,aAAxBA;oFAAmBA,WAAaA;K;OAEtCC;MAAEA;oBAGhBA;MAFEA;QAA4BA,WAE9BA;MADEA,OAAaA,4BAAUA,UAAQA,mBACjCA;K;kBAEIC;MAEOA;;aACAA;kBAxccA,kBAycMA;aACpBA,sBAAeA;kBArZPA;kBAA2BA;aAA3BA,wCAAeA;kBAlDCA;MAycRA;MANzBA,OAAYA,gDAlcgCA,UAychBA,6BAC9BA;K;cAEOC;MAAcA,gBAAIA;K;;;;;ahCvqJXC;MAIRA;6BAG0CA;;QAF5CA;UAEwBA;IAC5BA,C;cyF3EOC;MAAcA,wBAAUA,KAAKA;K;;;SCwG/BC;yDAIaA;cAHZA;QACFA,sBAAMA;MAERA,2BAAYA;IACdA,C;cAEKC;cACCA;QACFA,sBAAMA;MAERA,2BAAYA;IACdA,C;WAoCOC;MACLA;eAAIA;QACFA,sBAAUA;gBAEPA;aACHA;kBACIA;QAAJA;UACqBA;;UAEnBA;;MAGJA,YAOiBA,eAAeA,OANlCA;K;kBAEKC;MvE8pBaA,IuE7pBhBA,QvE6pBgBA,0BuE7pBAA,iBAAKA,+BAA6BA;IACpDA,C;wBAIKC;mBACEA;a9EzLkBA,OA4QCtf;Q8ElFtBsf;IAEJA,C;wBAEKC;MACHA;MAEsCA;eAFjCA;a9E/LkBA,OA4QCvf;Y8E5EtBuf;QACAA,mCAA6BA;;IAEjCA,C;uBAEwBC;MACtBA;eAAIA;QACFA,sBAAUA;eAERA;QACFA,sBAAUA;eAERA;QACFA,8BAA0BA;Q9ExM1B56B,K8EyMA46B,8C9E0CJnlC,eAAyBA;kB8EzCrBmlC;QAAkBA;QvEmoBgBA,0DAAkBA,IArDxDl6B,4BAhVwBk6B,oBAgVxBl6B,mCuE9kB0Ck6B,iBAAKA,kDAU/BA;;gBAaPA;QAAmBA;MAA1BA,SACFA;K;2BA5HqBC;;K;;;;;;UAoG0BC;mBACrCA;;QAEkBA,EAApBA;UACAA;QACAA;;QAGAA;IAEHA,C;;;;UAAWA;;iBACNA;;eAEFA;UAAoBA;QAAgBA;QAAhBA,uBAAuBA;UAC3CA;QACAA;;QAIAA,+BAA0BA;IAE7BA,C;;;;;cCjHEC;mBAC+DA;MAAlEA;sCAAiEA;MAAjEA,qBAAwEA;K;;;EA0e/DC;cADNA;MAELA,kCAA2BA,iCAAqBA,iDADrCA,iBAEbA;K;;;;UzD9lBAC;MAEEA;MAAIA;QACFA,QAoBJA;eAlBMA;;QACFA,OAAOA,eAiBXA;MAfQA;QAEmBA;QAAvBA;QACkBA,8BAAlBA;;UAC6CA,gCAASA;;QAEtDA,mBASJA;aAReA;QAEYA;QAAvBA;QACAA,0CAAqBA;QACrBA,oBAIJA;;QAFIA,QAEJA;K;;;EAma8CC;UAAPA;MAAOA,iCAAmBA,6BAAEA;K;;;;UAC9BA;MAInCA;QACEA,OAAOA,+B0D9VXA,8C1DkWCA;MADCA,OAAOA,iCACRA;K;;;;UAmFDC;MAEEA;MAAIA;QACFA,QAqDJA;eAlDMA;OAA+BA;MAA/BA;QACFA,OAAOA,eAiDXA;MA9CEA;QAtD6CA;QNnHzCC;UAAJA;;UMmHSD;QNnHTC;UAGEA,kBAAMA;QAIRA;QMmKED,OlC/UJE,sCkC4XAF;;MA1CEA;QAGEA,sBAAUA;MAGZA;QACEA,OAAOA,2CAmCXA;MA7G4CA;;;QA8EHA;QACrCA;QAGkBA;;QAAlBA;UACEA,cAAaA,UADfA;QAGAA,YAAiCA,iCAAjCA;UACgBA;UACEA;uCAAQA;4BAARA;UAChBA;YACEA,iCAAsBA,aAnhB5BA;;QAshBEA,iBAiBJA;;MAdEA;;QAGyBA;QAAvBA;QA5hBFA;QA+hB2BA,0CADzBA;UACEA,gBAAeA,YAAQA;QAEzBA,iBAMJA;;MADEA,QACFA;K;;;;c0D1eOG;MAELA,uDADiBA,2CAEnBA;K;;;;UzDxGEC;MACgBA;;;oDADhBA;QACgBA;;;;;;cAAdA;mCAAMA,2CAANA;;;;;cACAA;mCAAWA,iBDsCbA,8FCtCEA;;;cAIQA,eDkCVA;;cCjCCA;;;MANeA;IAMfA,C;;;EAHUC;UAAPA;MAAMA,wBAA2BA,gBAA0BA,gBAAQA;K;;;EAK/DD;UADCA;MACDA;IAYPA,C;+BAbQE;MACDA;;;oDADCA;QACDA;;;;;;;;cD+BRF;;cC7B2BA,mCapB3BA,YAA8BA,8BkC+H9BG,+BhDUKC,4BmCqHLJ,kBAAQA;cnC7MRA;cAkEKA,SC7FOA;cD6FPA,SC5FOA;cD4FPA,SC3FOA;cACVA;mCAAWA,iBDwBbA,6FCxBEA;;;cAIKA,iBDoBPA,gDCpB6CA;;cAZpCE;;;MACDA;IADCA,C;;;EAUED;UAAPA;MAAMA,wBAA2BA,gBAA0BA,gBAAQA;K;;;;kB0Da5DI;MAIVA;;;4DAJUA;QAIVA;;;;;;+BAFyBA,6BAAUA,gCAAoBA;;cADxDA;mCAAaA,wEvG0P6BA,KuGxP/BA,anGqVb99B,8FmGvVE89B;;;c3DQAA,8BAkEKA;;c2DrEPA;;;MAFGA;IAEHA,C;;;mBAGGC;yCAAgCA;K;;;qBzDlD5BC;MACyBA;iBAATA;;gEACnBA;4CAEQA;MAEVA;;;Q8BiCeA,oBxEsWjBz5B,8CJ5JoCy5B,I8CxOrBA,kDAF6BA,yBAAXA,4BAARA,0E1CsYzBz5B;QwErWEy5B,kB9B9BqBA,oE8B8BcA;Q9B7B5BA;QACCA;;MAERA,qBACKA,kBAAMA,2DAA8CA,oCAC3DA;K;;EAdYC;UAARA;MAAQA,kCAAGA,iBAAWA,QAAOA;K;;;EAOTA;UAATA;MAAOA,iEAAEA,cAAmBA,cAAaA;K;;;EACtBA;UAAXA;MAAOA,mBAA+BA,2BAArBA,0BAAEA,SAAQA,kBAAgBA;K;;;;qBAwB1DC;MACHA,kDAD+CA,UAAUA,eACxCA;MAD8BA,6BAE9CA,IAAGA;K;;EAD2BC;UAAdA;MAAcA,yCAASA,kBAAYA,SAAQA;K;;;;;;mBAgC9DC;2CAgBLA;K;;;UANYC;iBADoDA,KACpDA;K;;;;UAAYA;iBADwCA,KACxCA;K;;;E9BmBFA;U8BnBEA;;K;;;E9BmBFA;U8BlBVA;;K;;;;UC9FGC;MACsBA;;;gDAA4BA;aAKlCC,YAAhBA;MACkBA,YAAjBA;MANFD,ODoCNE,wBA0BFA,mCCtDID,mCAA4CA,OAAlBA,qCARqCD;K;;;ED4EnEG;UC9DcA;MACFA,kCAAwBA,mCAA4BA,uEAAQA;K;;;ED6DxEA;UCzDcA;MACFA,kCAAwBA,mCAA4BA,uEAAQA;K;;;EC6GtDC;UAATA;MAASA,uBAAQA;K;;;;UA0D5BC;MACEA;MACeA;eADXA;anByTcA;QmBzTOA,MAE3BA;MADEA;IACFA,C;;;;UAEAC;MACEA;MAEaA;eAFTA;anBoTcA;QmBpTOA,MAI3BA;MAHEA;;IAGFA,C;;;;UAEAC;mBACMA;anB6ScA;QmB7SOA,MAE3BA;MADEA;IACFA,C;UAHAC;;K;;;;;;;;;UAMeC;;kBACXA;MJrDCA,uBK5FKA,oBDiJcA;;MACVA,wDAAcA,cAAKA;MACnBA,iDAAwBA,cAAKA;IAEzCA,C;;;EJzDGA;UIyDUA;MAAMA,yCCrJXA,mBDqJkCA,yBAAYA;K;;;;UAuBtDC;MACEA,0BAAwBA;IACzBA,C;UAFDC;;K;UAAAC;;K;UAAAC;;K;;;;;;;;;UwDvNoCC;MAM9BA,kCACiCC;aAL3CD;aD+BwBA,wBC/BNA;MD+BhBA;MACAA;MC/BFA,SACDA;K;;;EAuB2DE;oBAXpCA;MAWoCA;IAwC1DA,C;+BAnDsBA;MAWoCA;;;8DAXpCA;QAWoCA;;;;;;;;cAExCA;mCAAMA,qHAMGA,iEANTA;;;;cASIA;;;0BAkLUA;c3E0PRC,yBAgVxB38B;oEFgLS08B,KUr6BKA,mBVq6BaA;+EAAlBA,K6Ev6BcA,iB7Eu6BIA,W6Et6BpBA;0BAqKyBA;c3EiQRE,yBAgVxB58B;oEFgLS08B,KUr6BKA,mBVq6BaA;+EAAlBA,K6Ev6BcA,iB7Eu6BIA,W6E/5BpBA;;cAKcA;mCAAcA,gDAAdA;;;;yB9F6jByBA;;;c8F5jB1CA;;;;;;;;;;;;;;;cAOmBA,0BAAnBA;cACmBA,0BAAnBA;;;;;;;;cAjDkBA;;;;;;MAWoCA;IAXpCA,C;sFAqFNG;MASPA;IAcTA,C;iCAvBgBA;MASPA;;;gIATOA;QASPA;;;;;;cxG0BiBA,mCEQ1B52B;;yBA3I0B42B;gBAgEiBA,oCAAfA;gBsGyCYA;gBAA/BA;;;;gBAOOA;;;gBAPdA;c5D/DAA;;gE4DgE+BA,oGAuCUC,+CAICA,+CACAA;cAjC1CD;mCAAMA,iHAANA;;;cACOA,0CAA6BA;cAApCA;;;;;;cAtBcA;;;MASPA;IATOA,C;WA+BHE;MACXA;;;qDADWA;QACXA;;;;;;cAAuCA,qBAAjBA,qCpG0MIA,0BAwB5BnvB,6BAxB4BmvB,sCAA+BA,oBAAVA,0BAAoBA,KAwBrEnvB,2CAW0BmvB,WoG7OxBA;uBpG6OeA;gBAASA,+BoG5OdA;;;cAEZA;;;MAHEA;IAGFA,C;;;UA5FcC;MACgBA;cAAtBA;Q5DENA,8BAkEKA;U4DnEHA;IACDA,C;;;;UAIWA;MACgBA;cAAtBA;Q5DLNA,8BAkEKA;U4D5DHA;IACDA,C;;;EAyGDC;WADWA;MACXA;IA0BFA,C;0BA3BaA;MACXA;;;qDADWA;QACXA;;;;;;;;8BAAIA;;c5DhHJA;;kB4DgHgCA;;;gBAAKA;;gCACfA;gB3EqTEA;2B2ErTtBA,iCJ7JwBA,+CvEy0B5BC,2EP/kByBnoC;gBkF5FrBkoC,sD3EioBJj9B,oC2EjoB8Bi9B;;c5DlH5BA;;;gB4DgHgCA;;;gBAAKA;;8BASzBA;;gBAFcA,wBAAPA;;gBAEPA;c5DzHZA;;;gB4DgHgCA;;;gBAAKA;;8BAczBA;;gBAFcA,wBAAPA;;gBAEPA;cAEZA;mCAAaA,aAAIA,iBxDzBSA,yDACIA,iDwD0BTA,+HAFrBA;;;;cAjBWA;;;MACXA;IADWA,C;gBA8BGE;MACdA;;;0DADcA;QACdA;;;;;;8BAAIA;c5D9IJA;;;gB4D8ImCA;;;gBAAQA;;;gBACzCA;;;;;cAEFA;mCAAaA,aAAIA,iBxDvCSA,yDAFIA,kDACDA,6GwDwC7BA;;;c5DjJAA;gB4DsJ0BA;cAA1BA;;;;;;cACFA;;;MATEA;IASFA,C;WAQQC;M5D/JNA,uB4D+JaA;iCAAoBA;K;WAatBC;MACLA;;;qDADKA;QACLA;;;;;;c5D3GDC,qB4DyFED;cAmBWA;8BACXA;qB3EqQaA;gB2EtQFA,QACMA;8BACjBA;qB3EoQaA;gB2EtQFA,QAEOA;8BAClBA;qB3EmQaA;gB2EtQFA,QAGOA;;cAHzBA;mCAAaA,sCAAbA;;;8BAKMA;;cAANA;kEnF6eqBA,gDmF7erBA;;;8BACMA;;cAANA;kEnF4eqBA,wCmF5erBA;;;;cACFA;;;MARQA;IAQRA,C;iBA7E+BE;;K;;;;UAUMC;MACAA;M5DjD9BA,W4DiDDA,avDZmBA,e/B04BZA;IsF73BRA,C;;;;UAeCA;MAAWA,aACTA;MADSA,yBH8aXA,yBG7aEA,eACAA,6CAC6BA,gCAC9BA;K;;;;mBChNJC;+BAAkBA;K;;;mBAElBC;iCAAkBA;K;;;;UtDuBjBC;MACEA;MACiBA;eADZA;atBmeWA;QsBledA;IAEHA,C;cAJDC;;K;;;UAKSD;MACPA;MACsBA;MAAGA;eADpBA;atB8dWA;QsB7ddA;IAEHA,C;;;;UACOA;MAEJA;MAEFA;IACDA,C;;;;eCiCEE;MA+BHA;MAhBFA,+BAA6BA;eA6HCA;0CAgBIA;MAzHlCA;QACEA,YAKJA;MAFSA,SAtDaA;MAsDpBA,oCAtDkCA,gIAwDpCA;K;cAzCOC;;K;WA2KAC;MAgBkBA;MAkBvBA;MACAA,OAAOA,ehDokBTC,+DgDnkBAD;K;UApCOE;;K;aAoDAC;MACCA;MAIWA;+DrC7C+CA,IqC6CnCA,uChDyHwBA,gCAWvD7vB,+EgDtGqB6vB,+EA9BnBA;QhD+IyBA;QgDvNSA;UA62BSA;;UA9xBnCA,6CAAkBA;gBADfA;UAEHA;YACKA,kDAAsBA;UAGlBA;eApGaA;UAgBIA;;;iBnD0KhBniC;UmD/EMmiC;YAA2BA;mCAAIA;YAA5BA,8BAAwBA;;YAtB9BA;UAsBjBA;YAEOA;cApQiBA;;;QA6QTA;;MAGnBA,sCACFA;K;WAyBaC;MA0uBgCA,qDAAYA;mBAvuBjCA;;ahDyDxBx8B;MgDzDSw8B,iBrCkILA,eXzEJx8B,8CJ5JoCw8B,IoDmGAA,2CrCkIhCA;iBqCjISA;MAAXA;QAAgCA;MAChCA,aAAcA,MAChBA;K;eA+BOC;MACLA;MAAKA;QAA2BA,WAKlCA;MA+rB6CA,iDAAYA;MAjsBvDA;MACAA,OAAOA,oBACTA;K;yBAGKC;MASUA;;;MACbA;QAMqBA;wCACjBA;YjD3UoBA;qCAAQA;YAARA;ciD4UeA,WA6CzCA;;QAxCeA;QAXMA;;QAXPA;;;MjD9TdhgC,+BAEkBggC,iBAAQA,6CiDkVxBA;QjDjVwBA;+BAAQA;QAARA;QiDmVlBA;UAEiBA;YAAoCA,WAoC7DA;UAjC8BA;YAA6BA,WAiC3DA;UA3BmCA;YAGrBA;;YAHqBA;UAA7BA;YAIEA,WAuBRA;;;MAdEA;QAAsBA,WAcxBA;MAXMA;QAA6BA,WAWnCA;MAR+BA;QAErBA;;QAFqBA;MAA7BA;QAIEA,WAIJA;MADEA,YACFA;K;mBAkCOC;MAELA;;;MApS8BC;QAoSQD,OAAOA,uBA6E/CA;;kBA5gBsBA;QAAcA;;QAicFA;gBAtSFC;wCAAAD;QA0S5BA,OAAOA,uBAuEXA;MAjXgCC,kCAgBID;QAgSzBA;MAhTqBC,kCAAAD;QAsT5BA,sBAAMA;MAukBmCA;MApkBxBA;MAokBwBA;MAnkBxBA;qBAEJA;apDkMGxgC;MoDlMcwgC;QAAcA;+BAAKA;sBAALA;;QAAdA;MAAhCA;QACEA,OAAOA,wBAoDXA;qBA7CiBA;qBAAmBA;MAAKA;QAE9BA;;QAF8BA;MAAvCA;QAGEA,OAAOA,wBA0CXA;MAtCEA;uBAAkBA;epDmLAxgC;QoDlLcwgC;yBAAjBA;iBpDkLGxgC;UoDlLGwgC;YACWA;mCAAKA;mBAALA;YAAqBA;mCAAKA;YAAtDA,2BAAiDA;YADhCA;;;;UAAWA;;;QAEnBA;QACAA;QACAA;QACAA;;qBAMEA;apDuKGxgC;MoDvKcwgC;QAAcA;+BAAKA;sBAALA;;QAAdA;MAAhCA;QACEA,sBAAMA;;MAEGA,mDAAwBA,6BAAkBA,MAAMA;MAChDA;MACAA,wDACYA,6BAAkBA,MAAMA,SAAcA;qBAG9CA;apD8JGA;MoD9JlBA;QAA8BA,UAiBhCA;MAbsDA;QACvCA;uBACAA;;gCACPA;QADOA;;gCAEPA;QAFOA;;;gBAOFA;MACXA;MAEAA,OAAOA,wBACTA;K;cA/EOE;;K;uBAsGOC;MAINA;;;gBA5YwBA;yCAAiBA;MAAjBA,kCAAiBA;MA8Y/CA;QACUA;QACJA;UAAuCA;aACtCA;QACIA;QACLA;UAAqCA;aACpCA;QACuBA;QACCA;QAE7BA;UACUA;aACHA;UACIA;;MAIEA;sBACaA;QAAcA,aAmB5CA;;;QAfeA;;QADbA;UAKEA,QAAqBA,wBAWzBA;;UAhBEA;;MAna8BF,oBAMYE;QAqafA,QAHJA,wBAWzBA;MAPMA;QAAiBA,QAAqBA,oBAO5CA;MANMA;QAAkBA,QALCA,wBAWzBA;MALEA,OAAiBA,mCACTA,oCACAA,iBAAkBA,kCARHA,4BAUHA,qBACtBA;K;2BAIcC;MAGZA;;QAA4BA;gBAEHA;;MACDA;MAQxBA;QAAyCA,QAAqBA,wBAmLhEA;0DA7KEA;QACyBA;oCAAOA;QACRA;kCAAMA;QACvBA,yBAFkBA,uBACDA;UAEpBA,QAV0DA,wBAmLhEA;;MA1JwCA;MAA/BA;MARkBA;;MAQzBA;;;;UACuBA;gDAAOA;UAAPA;UACDA;6CAAMA;UAANA;UAChBA;YACEA;;YAKJA;YACAA;;;;UAKEA,wCACAA;YAEFA;;;;iBAESA,uCACPA;YACFA;;;UAUoCA;YACpCA;YAIAA;cAAkCA;YACjBA;kDAAOA;YAAPA;YAGbA;cAEFA;;;;;YAMFA;cACEA;cACiCA;gBACXA;sDAAOA;gBAAzBA,sBAAkBA;;gBADWA;cAAjCA;gBAEEA,QAAqBA,2BAqG/BA;;;UA3FyCA;YACnCA;YACAA;cAAgCA;YAChBA;+CAAMA;YAANA;YAEZA;cACFA;;;YAIFA;cACEA;cAC+BA;gBACTA;mDAAMA;gBAAxBA,sBAAkBA;gBADSA;;;cAA/BA;gBAEEA,QAxBqBA,2BAqG/BA;;;UApE2BA,mDACcA;YACnCA,QAnCyBA,2BAqG/BA;UA/D4BA,sDAJaA;YAMnCA,QAxCyBA,2BAqG/BA;UA1DIA,QAzH4DA,wBAmLhEA;;;MAjDEA;QACmCA;UACXA;gDAAOA;UAAzBA,sBAAkBA;;UADWA;QAAjCA;UAOyCA;;;QAAvBA;2BACcA;UAAQA,QAAqBA,oBAwCjEA;QAvCIA,sBAAmCA,uBA9DRA,+BA9EiCA,wBAmLhEA;;MA/BoBA;yBATgBA;QAkBMA,QAlBuBA,oBAwCjEA;yBAvCuCA;QA0BnCA,QAxF2BA,2BAqG/BA;MAJ4BA;yCAAMA;MAAhCA,OAAQA,iBAAkBA,iCAClBA,kCACYA,yBAjL0CA,wBAmLhEA;K;oBAeeC;MACTA;oBAGYA,kBAWaA,mDAX7BA;QAEEA;UAAuBA;YAAqBA;qCAAKA;YAAvBA,sBAAkBA;;YAJ5BA;;;UAKdA;;QAIFA;UAAsBA;QAIfA;QAAPA;UAAuBA;YAAsBA;sCAAKA;YAAvBA,uBAAkBA;;YAb7BA;;;UAcdA;;QAIEA;QAAeA;UAAGA;mCAAKA;UAALA;;UAlBNA;QAkBhBA;UAG2CA;YAAvCA;qCAAKA;YAALA;cACgBA;cAAhBA;wCAAKA;cAALA;;cAtBYA;;;UAoBTA;YAILA;YAGAA;cAAeA;YAIfA;cAA8BA;;YAG9BA;;QAIFA;UAAsBA;QAGtBA;;MAGFA;QAAeA,QAAsBA,mBAIvCA;MAHEA;QAAgBA,QAAsBA,mBAGxCA;MAFEA;QAAiBA,QAAsBA,mBAEzCA;MADEA,QAAsBA,mBACxBA;K;WAgJIC;;iBAz0B4BL;;QA20B5BK,OAAOA,4BAIXA;;QAFWA,SAx+BWA;QAw+BlBA,8BAA+BA,4BAx+BCA,wBA0+BpCA;;K;eA2BOC;MACYA;;MACJA,6CAAoBA,WAAeA;QAC9CA,OAAOA,sBAcXA;WAbsBA,wCACPA,qCACTA,WAAeA;QACjBA,OAAOA,sBAUXA;MAPeA,yBA7DQA,0BAAkBA;MA8D3BA;MAKZA,OAAOA,qBAAWA,UAASA,sBAAYA,oBACzCA;K;;EAnyByCC;UAAVA;MAAUA,+BAAUA;K;;;EA8DLC;UAAVA;MAAUA,wBnDoC1BhjC,amDpCyCgjC;K;;;;UAowBlDC;MAASA;mDAA+BA;K;;;;cAgC5CC;MAAcA,gBAAIA;K;;;cA6BlBC;MAAcA,gBAAIA;K;;;asDloCjBC;MACSA;;MACfA;QAAgBA,OAAOA,gDAEzBA;MADSA;QAAuBA;iCAAIA;iBAAJA;;QAAUA;MAAxCA,SACFA;K;uBAaIC;;iBzGoVgBA;MyGnVlBA;QAAkBA,OAAOA,uCAO3BA;MnDpBuBA,mCmDcIA;MAIYA;MAArBA;gCAAKA;MAAjBA,uBAAYA;QAAmCA;MACnDA,OAAOA,0CACTA;K;oBAQKC;MAAgDA,8BAAsBA;K;gBAMtEC;MAA0CA,sBAAcA;K;;;4BrDIpDC;mBACLA;YrD6nBgBzhC;QqD7nBWyhC,oDAAyBA,sCAAXA;;QAAxBA;MAAjBA,SAA+DA;K;8BAE9DC;MACHA;;kBAAOA;QAA0BA,QrD0nBf1hC,wBqD1nBe0hC;;QAC/BA;kBACAA;;gCAAWA;QAAXA;;gBAEEA;arDsnBc1hC;MqDtnBlB0hC;QAA2BA;IAC7BA,C;eAEKC;MAGsBA;;qBACRA,eAAjBA;;QACMA;mCAAeA;UAERA;yBrD4mBK3hC;YqD1mBd2hC;cACEA;4CAASA;cAATA;;cAGAA;;YAGFA;;eA7EiBA;QAmFnBA,2CAA2BA;kBrD6lBXA,sBqDhrBGA;QAwFnBA;MAIFA;gBAEqCA;MADrCA,qBACSA,2BAAgBA,aAAkBA;gBA9FtBA;MA+FmBA,0BrDilBtBA;QqDhlBhBA;gBAIEA;MAA+BA;UAEtBA;QpD9ENA,KoD8ELA;;MAEFA;IACFA,C;cAGOC;;kBAEDA;;MACJA,qBAAoBA,MAAMA,SAA1BA;kBACgBA;;+BAAUA;Q3CoeXA,W2CpeCA;kBACAA;;+BAAKA;Q3CmeNA,qB2CneCA;;M3CmeDA,U2CjeUA,gCAAXA;MAEdA,sCACFA;K;aApIaC;;K;kBAOAC;;K;;;cCnBNC;MAAcA,+BAAiBA,QAAQA;K;;;ECuEzBC;cAAdA;MAAcA,sBAAIA;K;;EoDvDcC;uBAAlCA;MAAkCA,+CAAkBA;K;iBAGpDC;MAA6BA,sBAAuBA;K;oBAGpDC;;iB1GgXelkC;M0G/WAkkC;QAAqCA;QAArBA;kCAAKA;QAALA;QAAhBA;;;MAAhBA,SAAiEA;K;0BAGjEC;mB1G4WgBnkC;M0G3WEmkC;QAAeA;iCAAKA;QAALA;;QAAfA;MAApBA;QAAwDA,QAE1DA;MADEA,QACFA;K;gBAHIC;;K;oBAMCC;MAA+BA,YAAKA;K;iBAMlCC;MACLA;MAAQA,+BAAoBA;QACKA;QAA/BA,OjE6qCUA,2BAC8BA,UAAQA,wBiE3qCpDA;;MADEA,sBAAMA,0BAAoBA;IAC5BA,C;uBAGIC;MACwBA;mBACfA;Y3G0pBOA;Q2GtpBTA,+BAAaA;WACJA;QAGTA;MAGTA,OAAOA,8BAAyCA,eAClDA;K;;;;;;;;EC5CuCC;uBAAlCA;MAAkCA,+CAAkBA;K;iBAGpDC;MAA6BA,sBAAuBA;K;oBAGpDC;;iB3GgXeA;M2G/WlBA;QAAkBA,YAQpBA;MALwCA;MAArBA;gCAAKA;MAALA;QAAmCA,WAKtDA;MADEA,OAAOA,8CAAwBA,8BACjCA;K;0BAGIC;;iB3GoWgBA;M2GnWlBA;QAAkBA,QAyBpBA;MAxBkBA;+BAAKA;MAALA;QAAqBA,QAwBvCA;MAtBEA;QACmBA;QACjBA;UAA2BA,QAoB/BA;QAnBIA;UACEA;YAAYA,QAkBlBA;UAboBA,gDADVA;UAEJA;YAAgBA,SAYtBA;UARMA;YAA2CA,YAQjDA;UAPWA;YAA4BA,YAOvCA;UANWA;YAAgCA,YAM3CA;UAL4BA;UAAtBA,iCAKNA;;;MADEA,QACFA;K;gBA1BIC;;K;oBA6BCC;mB3GuUe7kC;M2GtUA6kC;QAAeA;iCAAKA;QAALA;;QAAfA;MAAhBA,SAAkDA;K;iBAM/CC;MAAwBA,wBAAcA;K;uBAGzCC;MAAkCA,OAAIA,iBAAWA;K;uBAEjDC;MAAkCA,OAAIA,iBAAWA;K;;;;;;;;ECtDdC;uBAAlCA;MAAkCA,+CAAkBA;K;iBAGpDC;MACDA,yCAAsDA;K;oBAGrDC;;iB5G0WeA;M4GzWlBA;QAAkBA,YAEpBA;MAD2CA;MAArBA;gCAAKA;MAALA;MAApBA,gCACFA;K;0BAGIC;;iB5GoWgBA;M4GnWlBA;QAAkBA,QAuBpBA;MAtBMA;+BAAKA;MAALA;QAAmCA,QAsBzCA;MArBMA;QACkBA;UAAGA;mCAAKA;UAALA;;UAAHA;QAApBA;UAA8DA,QAoBlEA;QAjBgBA;QACZA;UACUA;UACRA;YAAeA,YAcrBA;;QAZIA,SAYJA;;MAREA;QAAqBA,QAQvBA;MANOA,oBAAaA;QAAqBA,QAMzCA;MAJMA;QAAmCA,QAIzCA;MAFmBA;MAAjBA;QAAsCA,QAExCA;MADEA,QACFA;K;gBAxBIC;;K;oBA2BCC;MAA+BA,oCAAqBA;K;iBAUlDC;MACLA;MAAQA,+BAAoBA;QAC1BA,sBAAMA,0BAAoBA;MAGbA;MACPA;QAIkBA,QAAfA,8DAAuCA;UACvCA;;QAISA;M5GpCbA;M4GsCPA,OnE6nCYA,2BAC8BA,UAAQA,wBmE7nCpDA;K;uBAGIC;MACwBA;;mBACfA;QAAIA;;QzG6TjB5/B,gCyGxTiC4/B,uD7G4JGA,+B6G5JiBA;QAC1CA,4CAA0BA;QAEtBA;UAGFA;QAGTA,OAAOA,YAC6BA,4CAA4BA,eAmBpEA;;QAXuCA,UAAxBA,M7GqlBKA;U6GplBPA;mBAKFA;mBACeA;UAAIA;Q5G1ErBA;Q4GyEEA,kC5GzEFA;Q4G4ELA,OAAOA,8BAAyCA,eAEpDA;;K;oBAGKC;MACHA;;QAA4BA,WAa9BA;MAVEA;QAA8BA,uBAUhCA;MATEA;QAAkCA,uBASpCA;MALEA;QAA4CA,YAK9CA;MAFqBA;MACnBA,4CACFA;K;gBAGKC;MACHA;;QAA6BA,WAQ/BA;gBAPYA;gBAAgBA;MAA1BA;QAAkCA,YAOpCA;MANEA;QAC2CA;kCAAMA;QAA1CA,2BAAeA,qBAAqBA;UACvCA,YAINA;;MADEA,WACFA;K;;;;;;;;EA1D+DC;UAAVA;MAAUA,+BAAUA;K;;;;UrDxFpCC;MACjCA;aAAaA,mBAAKA,qBAAcA,YAAWA,6BAC7BA,gBAAsBA,kBAAqBA,UAC1DA;K;;;;UAM2BA;MACxBA;MAAOA;MAAMA;MAGjBA;QAAkBA,WAsCnBA;MAnCoBA;;QAAUA;MAKzBA,0DAAmDA,gBAAIA;MAI3DA;QAAkBA,WA0BnBA;MAxBsBA,iCAAUA;eAC3BA;MAAoBA,+BJ+hBtBA,wCAAkDA;QI9hB1BA,mCAAIA;MAatBA;MACCA,sBAAMA;MACNA,sBAAMA;MAMiBA;QAAMA;MAA5BA;MATVA,OOkRFA,mCPxQCA;K;;;EAekBC;UAAXA;MAAWA,wCAAUA,kBAAQA,QAAQA;K;;;;UAaKA;MAAWA;QAAQA;MAARA,eAAeA;K;;;;;yCEM5E3gC;MAEEA;MAAoBA,mEwBtEMA,0B9E8R5B8oB,uBAEyBA,mBAFzBA,kDsD7LM9oB,iBAjBFA,sBACAA,6DtDkNsBA,0BsD7NxBA;etD6NeA;;UAASA;QsD5NSA,gBAAlBA;QACbA;UAAoBA,sBAAMA;QAEAA,iBAAfA;QACXA;UAAkBA,sBAAMA;QAEMA,mBAAjBA;QACbA;UAAoBA,sBAAMA;QAE1BA;QACAA;QAEyBA,mBAAfA;QACeA,aAAfA;QAEFA;QAARA;UACEA,sBAAMA;aACDA;UAGGA;UAANA;eAKGA;UACLA,4BAAUA;;UAEVA,sBAAMA;;Y1D2kBQA;Q0DvkBhBA,sBAAMA;IAEVA,C;eAEI4gC;MACFA;oBAAoBA,oBAAWA,kBAESA,sCAFxCA;eACaA;QAAXA;UAA0BA,YAI9BA;QAH8BA;UAAYA;iCAAYA;0BAAZA;;UAAZA;QAA1BA;UAAuDA,YAG3DA;;MADEA,aACFA;K;uBAGeC;MAIDA;;kBACLA;;iCAAKA;aAALA;gBACIA;;iCAAUA;aAAVA;gBAA4BA;;iCAAYA;MADnDA,OAAYA,yCAC2BA,eAEzCA;K;iBAReC;;K;mBAAAC;;K;cAWRC;MhD/FiBA;;qBgDiGFA,uBAKRA,yBAEAA,qBAPmBA,SAA/BA;eAGYA;QAEAA;+BAAYA;eAAZA;QAEAA;+BAAKA;QhD0cFA,wCgD1cHA;;MAGDA;MACXA,sCACFA;K;;;mCAmKA/gC;MASuBA;;;yDACfA,eACAA,iBAAyCA,uBAAtBA;;kBAIvBA;kBAA8CA;;;MAHhDA;eAAyBA;0CAA6BA;;;UACvCA;6CAAcA;iCAAdA;UACbA;;UAC8CA;iCAAIA;iBAAJA;UvD3QlD7C;U2G5DyB6jC;UAiDOC,+CAAiBA;UAbjDjhC,8C5Fw5BaghC,oB4F14B6BC;UAd1CA;UpDmSIjhC;;QAH4DA;;MAYZA,iBAAhBA;aA2RXA;MAFzBA;;MAxR6BA;gBA2CJA;MA0PKA;MAAeA;gBAhSrCA;MAlBOA;;;;;;MAebA;uBAmSoBA;;;UAlSJA,4BAASA;uB1DkWPpD;c0DhWZoD,4BAqPRA;cApP+BA;;YAEzBA;;YArBSA;;;UAsCGA,4BAASA;YAAcA,sBAAMA;UAsRxBA;UApRJA;mBA4TEA,iBAAcA,oBAAiBA;YA3T9CA,iCA4ONA;;YAuCuBA;8BAhRIA;cACnBA,sBAAMA,0CACuBA;YAEhBA;qBAoTAA,iBAAcA,oBAAiBA;cApTbA,sBAAMA;YA4QtBA;YA1QFA;qBAkTAA,iBAAcA,oBAAiBA;cAlTbA,sBAAMA;YA0QtBA;YAxQFA;qBAgTAA,iBAAcA,oBAAiBA;cA/S5CA,iCAgORA;;cAuCuBA;iCApQQA;gBACrBA,sBAAMA,oCAA8BA;cAEtCA,iCA0NRA;;;UAtNkBA,4BAASA;;;;iB1DmTPpD;Q0DhThBoD,4BAqMJA;MAlMEA,iBAAYA;IAGdA,C;mBAqEWkhC;MACPA,OrD4EJA,gHqD3E8CA,wCAAwBA;K;eAKrDC;MACHA;iBAAaA;mCAAOA;;QACVA;;QAAaA;QAANA;gCAAKA;eAALA;;;MAA7BA,SACFA;K;iBAOaC;MACXA;wCAAmCA,Q1DmNjBA;Q0DnNkCA,WAKtDA;MAJuDA,aAAvCA;QAAcA,2CAAiBA,SAI/CA;yBAH0BA;MACZA,gCAAsBA;;;;QACGA;QAARA;qCAAOA;oBAAPA;;MAA7BA,SACFA;K;uBAGeC;MAEDA;kDAA0BA;MACtCA;QAAmBA,WAkCrBA;yBAhC0BA;MACxBA;QAAyBA,WA+B3BA;gBA7BYA;;uCAAIA;cAAJA;gBACNA;MAAJA;QAKkBA;0BADOA;gBAaRA;;;;gBACCA;MAFJA,kCAGMA;MAGlBA;kBACyCA;;0CAAKA;eAALA;eC9gBAA;QAAnCA,4BAAqBA,mBAGHA,mBADFA,YADKA;QAJ/BA;QAAAC;QDihBMD,SAKNA;;QAHMA,OAAOA,yCAGbA;K;iBArCeE;;K;mBAAAC;;K;cAwCRC;MhD3eiBA;0FAkjBPA,SgDpEDA,iChDoECA,SgDlEDA,4BhDkECA,SgDhEDA,uBhDgECA,SgD9DDA,wBhD8DCA,SgD5DDA;MAVdA,sCAaFA;K;;;UAxJcC;MACNA;;QAAuBA;IAC5BA,C;;;EA8EsCC;UAAPA;MAAOA,mCAAEA,YAAOA,KAAIA;K;;;EAaXC;UAAPA;MAAOA,+BAAEA,cAASA,OAAMA;K;;;EhD9bpCC;cgDsiBjBA;MAAcA,qEAAgBA,cAAMA,iBAAQA;K;;;cAkB5CC;MAAcA;ahDxjBGA,iEgDyjBjBA,iBAASA,gCAAcA,+BAAaA,iCAAeA,6BAAcA;K;;;cAcnEC;MAAcA,0BAAUA,gBAAOA;K;eAGzBC;mBAAYA;iCAAsBA;iBACvCA;;;gCAASA;eAATA;;QACAA,uBrD/NNA,mBAIwCA;MqDyNlBA,SAEwBA;K;iBAErCC;mBAAqBA;MAARA,oCAAkCA;K;gBAEzCC;MACbA;MAAKA;QAAWA,QAAkBA,4BAKpCA;eAJaA;eAAUA;MAAVA;8BAASA;eAATA;MACXA;QAAiBA,QAAkBA,4BAGrCA;MAFEA;QAAiBA,QAAkBA,4BAErCA;MADEA,QAAkBA,6BACpBA;K;cAcOC;MhDzDPA;;qBgD4DeA,4CADOA,QAApBA;QACaA;+BAASA;4BAATA;;;;QAIAA;;QAGXA,0BAJFA;;;;oBAMaA,YAAbA;QACaA;+BAASA;4BAATA;;oCAEEA;ehDzC6BA;MgD0C5CA,sCACFA;K;;;;;;UElqB+BC;MACRA;;MACvBA;QACEA,+BAAIA;MAENA,UACDA;K;;;;ckDaSC;MAAUA,yBAAcA,OAAMA;K;4BAkCtCrB;MAGEA;oBAAoBA,uBAAcA,kBAOlBA,qBAPhBA;cACUA;QACRA;UAEYA;UACoBA;YAAGA;mCAAaA;mBAAbA;;YAAHA;UAA9BA;YAAqDA;;QAEvDA;UAAcA;;IAElBA,C;;;cjD/BIsB;mBACEA;qBAAmBA;QACrBA,sBAAMA,mCAA6BA,+BACpBA;MAEjBA,OAAeA,aAAPA,UAAeA,mBACzBA;K;eASIC;MACFA;MAAiBA;eAAbA;qBAAmBA;QACrBA,sBAAMA,mCAA6BA,+BACpBA;MAEjBA,WAAOA,UAAeA,kBACxBA;K;OAGcC;MAAEA;oBAGUA;MAFtBA,OAAMA,mCACNA,sBAAmBA,8BACnBA,YAAgBA,kBAAMA;K;gBAGlBC;mBAAaA;MAAWA;MAAZA,gBAA6BA,OAAMA;K;cAGhDC;MnDtBiBA;;MmDsBHA,8BAAiBA,iBA3D3BA,KADMA,uCACGA,yBAAYA,mBA2D0BA;K;;;;;;;;;;;;;;;;oBkDQ1DC;;iBACMA;iBAAiBA;MAAbA,wBAAUA,OAASA;QACzBA,sBAAMA,mCAAoCA,gDAC5BA;WACDA,sBAAeA;QAC5BA,sBAAMA,0BAAoBA,+CAA2BA;;iBAC5CA;QAAeA,MAAVA;UACdA,sBAAMA,gDAAsCA;;IAGhDA,C;;;;;;;;;;;EC7FsBC;iBAAbA;MAAaA,wBAAMA,eAASA;K;cAG7BC;MAAUA,sBAAIA,eAASA,iBAAMA,YAAMA;K;eAGvCC;MACIA;MAAyBA;MAAhBA,0BAAMA,eAAgBA;MACrCA,sBAAqBA,eAAIA,eAAgBA,yBAC3CA;K;OA+CcC;MAAEA;oBACmDA;MAA/DA,OAAMA,+BAAiBA,iBAAMA,OAASA,sBAASA,eAAIA,OAASA,gBAAGA;K;gBAG3DC;MAAYA,OAAOA,cAAKA,kBAAOA,qDAAIA;K;cAGpCC;MAAcA;mBtGVGA,gEsGUmBA,2CAAUA,uCAAMA,uBAAOA;K;;;;;avDiK5DC;mBAAmBA;;MAANA,gBrDqNnBC,0DJzLwCD,IyD5BDA,gCrDqNvCC,6CqDrNgED;K;cAGzDE;mBAESA;;MAQdA,OrD2JFlnC,qDJ7F4CknC,IyD7DjCA,6BrD0JXlnC,kDJ7F4CknC,IyDrEjCA,kCrDkKXlnC,yCqD/JOknC,gBAAaA,yBrD+JpBlnC,4CqDtJOknC,2BACPA;K;;;;;;;UAxKkBC;MACdA;;QACSA;QAAPA,SAYHA;;QAbCA;QAEEA;QAGKA,ClC+egBA;QkCzeTA;QAAZA,WAEHA;;K;cAdeC;;K;;EAsFOC;UAAVA;MAAUA,wBxD8NL1oC,awD9NoB0oC;K;;;EA+DUC;UAAXA;MAAWA,8BAAMA,YAAMA;K;;;;UAMnDC;MAAWA,gCAAMA;;MAANA,OrDkKtBvnC,kDJ7F4CunC,IyDpE7BA,mCrDiKfvnC,yCqDhKWunC,gBAAaA,qBAAIA;K;;;EADFC;UAAXA;MAAWA,8BAAMA,cAASA,OAAMA;K;;;;UAOpCD;MAAWA,gCAAMA;;MAANA,OrD0JtBvnC,qDJ7F4CunC,IyD5D7BA,8CrDyJfvnC,4CqDvJWunC,SAAMA;K;;;;UAFFC;MACEA;MAAHA,OAASA,wDAAkBA,mBAAmBA,8BAAUA;K;;;;eM7J3DC;mBACLA;MAAIA;QAAkBA,iBAE5BA;MADEA,OgBsXqBA,kBAAQA,ehBrX/BA;K;gBAUWC;;kBACLA;MAAJA;QAAkBA,OAAOA,mBAG3BA;gBAFMA;MAAJA;QAAoBA,OAASA,4BAASA,OAExCA;MADEA,OAASA,4BAASA,gBAAMA,OAC1BA;K;cA8NOC;MAAcA,OAAEA,+BAAaA,gBAAOA;K;;;;;;;;;;;;;;;UA7MyBC;;iBAG1DA;MAAJA;QACEA,OAsMRA,YAtMqBA,6DAqBhBA;MAlBaA,0BAASA;MACrBA;QAAmBA,OCpHzBA,oBAjBgBziC,iDDsJXyiC;gBlDmC8CpuB;;6BAAMA;;QkDhD9BouB;MACLA;M9DvFbA;;MYsI0CpuB;6BAAMA;aAANA;;QkD7C3BouB;;QACRA;;;UACcA;QAAdA;;MlD2CmCpuB;6BAAMA;MkDzCvBouB;wBAEVA;MAAiBA,yCAAMA;MAGzCA,OAkLNA,gCAnLyCA,yBAAMA,4BAE1CA;K;;;;UAG+DC;MAClDA;iBAAoBA;kCAAXA;MACrBA;QAAmBA,OC1IzBA,oBAjBgB1iC,8CDoMX0iC;MArCoBA;gBlD0B0BruB;;;6BAAMA;aAANA;MkDJ7CquB;;UAKcA;;UACAA;Q9DxIXA;;Q8DsIDA,OAAOA,c9DtINA,8D8DiJJA;;QlDX8CruB;+BAAMA;;QkDS1CquB,EAAsBA;QAA7BA,0BAEHA;;K;;;;UArCCC;MACkBA;;;aAChBA;sBlDwB2CtuB;;+BAAMA;;UkDvBxBsuB;QACXA;;MAGdA;QACEA,OAgKVA,YAhK2BA,4CAWrBA;MARiBA,mCAAeA;MAC9BA;QAAsBA,OC1J9BA,oBAjBgB3iC,kDD2KmC2iC,OAO7CA;mBlDO6CtuB;;6BAAMA;;QkDZVsuB;MAA3BA;MlDY+BtuB;6BAAMA;;QkDXfsuB;MAAjBA;MlDW0BtuB;6BAAMA;MkD8IzDsuB,gBAvJuBA;MACfA,oDADyCA,gDAE3CA;K;;;;UAmC2BC;MACbA;iBAAgCA;8CAAXA;MACnCA;QAAmBA,OCtMzBA,oBAjBgB5iC,iDD+NX4iC;gBlDtC8CvuB;;6BAAMA;;QkD+B9BuuB;M9DrKlBA;MYsI0CvuB;6BAAMA;;QkDgCfuuB;MAAxBA;MlDhCiCvuB;6BAAMA;;QkDiCpBuuB;MAAdA;MAIjBA,OAyGNA,oC9DgEoBA,0D8DxKfA;K;;;;UAGoEC;MACvDA;iBAA+BA;6CAAXA;MAChCA;QAAmBA,OCnNzBA,oBAjBgB7iC,iDD8PX6iC;gBlDrE8CxuB;;6BAAMA;aAANA;;QkD6CjCwuB;;QACVA,OAAaA,mCAuBhBA;;QAnBmCA;MAAxBA;;MlDlDmCxuB;6BAAMA;iBkDqD/CwuB;MAAJA;QlDrD6CxuB;+BAAMA;;UkDuDVwuB;QAAvBA;QAAPA,sDAAiCA;QAC1CA;UAA2BA;QAIlBA,mDAAoBA;;QAJFA;MlDxDgBxuB;6BAAMA;aAANA;;QkDoE3BwuB;;;UAHmCA;QAAdA;;MlDjEMxuB;6BAAMA;aAANA;;QkDoErBwuB;;;UAD0CA;QAAdA;;MACpDA,OA0ENA,sCAzEKA;K;;;;UAcqEC;MACxDA;iBAA0BA;wCAAXA;MAC3BA;QACEA,sBAAMA;gBlDtFqCzuB;;6BAAMA;aAANA;;QkD6FnCyuB;;;UACcA;QAAdA;;MAGFA;QgB6IOA;QAsBGA,iBAnUtBA,e3B04BqBC,uBAAkBA;;MvC30BU1uB;6BAAMA;aAANA;;QkDuG3ByuB;;;UAFqCA;QAAdA;;MlDrGIzuB;6BAAMA;aAANA;;QkDuGrByuB;;;UADiCA;QAAdA;;MlDtGEzuB;6BAAMA;MkDuGnDyuB,OAuCNA,iCAA6CA,IAtCxCA;K;;;;ckD3RYE;;;;QAASA;QAATA;;;;;K;cAKDC;MAAUA,yBAAOA,YAAMA;K;aAOjCC;MAAaA,O/CZnBA,gB+CY6BA,kBAAOA,cAAQA;K;cAErCC;MAAcA,yBAAOA,aAAUA;K;;;;;0B/ChBrBC;;;;QAASA;QAATA;;;;;K;cAKDC;MAAUA,qCAAOA,YAAMA;K;cAWhCC;MAAcA,qCAAOA,aAAUA;K;;;;;cJuDhCC;MACJA;;MAAUA;QAAUA,YAkBtBA;MpDEEA;qBoDjBeA,QpDkBWA;;uBoDlBOA;MACjCA;;QAIYA;UAAUA,OL8FxBA,YAAyCA,yBK9FJA,mDAUrCA;QATIA,OmD7EJA,gBnD6EqBA,kDASrBA;;QAFIA,OAkJJA,YAAyDA,oBAvJ3CA,2BAERA,SInFNA,gBJmFwBA,iFAGUA,WAElCA;K;yBAIgBC;MAEdA;wBAAoDA;MAxEpBA,WAAPA,CvC4iBAC,yBuC5iBQD;QAwElBA,OAAOA,yCAGxBA;MAgFUA;MAjFDA,SAiF2BA;MAjFlCA,0CAAqCA,gEAwIvCE,YAAyDA,qCAvIzDF;K;uBALgBG;;K;8BASQC;MAKtBA;qDAAyDA;MApFzBA,WAAPA,CvC4iBAH,yBuC5iBQG;QAoFlBA,OAAOA,kDAIxBA;MAmEUA;MArEDA,SAqE2BA;MArElCA,+CACUA,qEA2HZF,YAAyDA,6CA1HzDE;K;4BATwBC;;K;+BAaMC;MAE5BA;mEAA0DA;MA9F1BA,WAAPA,CvC4iBAL,yBuC5iBQK;QA8FlBA,OAAOA,uDAKxBA;MAwDUA;MA1DDA,SA0D2BA;MA1DlCA,gDACUA,sEAgHZJ,YAAyDA,qDA/GzDI;K;6BAP8BC;;K;0BAWzBC;;;MvCkyB2CA;;MuC/xBJA;MA1GVA,WAAPA,CvC4iBAP,yBuC5iBQO;QvCy4BjCA;QuC9xBEA,MAsBJA;;MAnBmBA;eACbA;MAAJA;QvC0xBAA,+DAAqDA;QuCxxBnDA,MAgBJA;;;QARSA,mBAAQA;;QAHfA;QAIEA;oBvC+wBFA;QuC9wBEA;UvC8wBFA,wCAAqDA;;UAArDA,iCAA8CA,kBAAOA;;IuCxwBvDA,C;oBAIYC;MAEVA;MAAiDA;MAAOA;MAvIxBA,WAAPA,CvC4iBAR,yBuC5iBQQ;QAuIlBA,OAAOA,gDAWxBA;MAREA;QAiBQA;kBAA0BA;QAuDpCP,yBAAyDA,4BAvEzBO;;kBAExBA;QpDzENA;cAC0BA;UoDsFlBA;oBAA0BA;UAdCA,4BAqErCP,YAAyDA;;;MAlEtCO;MACjBA,4BAAqBA,6CACvBA;K;YAiBEC;MACIA;;0BAAeA;WACnBA;;QAESA;QAAPA,SAUJA;;QATIA;kBAIAA;QpDxGSA;QAAXA;cAC0BA;UoDuGxBA;QACAA;;QAEAA;;IAEJA,C;mBAIMC;MAEJA,OI7MFA,gBJ6MmBA,yDADWA,+BAS9BA;K;kBAIOC;MACMA;gBACCA,mCAAaA;MACzBA,6BAA4BA,8CAC9BA;K;oBApLOC;;K;;EAsC0BC;UAAZA;MAAMA,2BAAiBA,WAALA,qBAAkBA;K;;;EAIrBA;UAAZA;MAAMA,2BAAYA,8BAAaA,WAAUA;K;;;;UAa1BC;;MAAMA,iCAAKA,SAAGA,eAAKA;K;cAAnBC;;K;;;UAa3BC;MAASA;;kCAAKA,kGAAcA,UAAKA;K;cAAjCC;;K;;EAAoBC;UAANA;MAAMA,yBAAEA,KAAIA;K;cAAZC;;K;;;UAWdC;MAAgBA;;kCAAKA,yHAAqBA,UAAKA;K;cAA/CC;;K;;EAA2BC;UAANA;MAAMA,yBAAEA,WAAMA,MAAKA;K;cAAnBC;;K;;;UAqFdC;MACJA,yCAAaA;aACNA,yBAGCA;MAAnBA,OAAOA,S9D+GEA,2B8D/GuBA,kB9D+GvBA,8C8D7GVA;K;;;;aAuBGC;MACeA;;MAEnBA;QACEA,mCAAeA;QLnEnBA,WKoEgBA;;MAEdA,mBLtEuCA,6CKuEzCA;K;;;cGkEOC;mBAGDA;;MAGJA,O7D+EFtqC,qDJ7F4CsqC,IiEcxBA,6B7D+EpBtqC,kDJ7F4CsqC,IiEW3BA,kC7DkFjBtqC,yC6DlFmDsqC,gBAAaA,yB7DkFhEtqC,4C6D5EKsqC,SACLA;K;;;;;;EAhO+BC;UAAZA;MAAMA,2BAAYA,yBAAiBA;K;;;EAyC/BC;UAAVA;MAAUA,wBhEyPH7rC,agEzPkB6rC;K;;;EAyBFC;UAAXA;MAAUA,wCAACA,mBAAgBA,sBAAaA;K;;;EASlCC;UAAVA;MAAUA,oCAAeA;K;;;;UAgBzBC;MAAUA;iBhEuMXhsC,yCgEvMqDgsC;K;;;EAkCrCC;UAAXA;MAAUA,wCAACA,2BAAwBA;K;;;EA4FhCC;UAAXA;MAAWA,8BAAMA,cAASA,OAAMA;K;;;;UAG7BA;MACZA;MAAiCA;QAATA,iCAE7BA;MADCA,OAAgBA,wDAAkBA,mBAAmBA,8BACtDA;K;;;;cDhTIC;MAAcA,kBAAMA;K;;;;;;;;;;;;;;;;;;;UGjBzBC;MACQA;;;oDADRA;QACQA;;;;;;;;cAAmCA,+BvB6D3CA;;kBuB3DMA;;;kBACUA;;;;;cAGQA;mCAAMA,wBAAeA,iBACjCA,+EADYA;;;;cAItBA;;sCACEA;cACQA,YnD+FMA;cmD/FNA,qBnD+FMA;cmD9FNA,YnD8FMA;cmD9FNA,qBnD8FMA;;gBmD3FdA,sBAAMA;cAGiCA,qCAAzBA,kCAAcA;cvB0ChCA,gBAkEKA;cuBzGHA;;;;;;cACDA;;;MAvBOA;IAuBPA,C;;;;UAXGC;iBAEEA,KAFFA;K;;;;UACAA;iBACEA,KADFA;K;;;;UAsBJD;MAC0DA;;;oDAD1DA;QAC0DA;;;;;;;;8BAAfA;cvByB3CA,gBAkEKA;cuBvF4BA;mCAAmBA,qBvBuP/CA,6IuBvP4BA;;;;cvBqBjCA,gBAkEKA,qBuBpFoBA;crBrCvBA,4EqByC0BA,sBAETA,4BAAmBA,uBvBYtCA,qBuBZwDA,mBvBYxDA;;cuBdEA;;;;cAIDA;;;MAfyDA;IAezDA,C;;;;UAG+DA;MACTA;;;oDADSA;QACTA;;;;;;;;8BAAjBA;cvBMtCA,gBAkEKA;cuBtEgBA;mCAAgBA,yBvBIrCA,yCuBJqBA;;;;cvBIrBA,gBAkEKA;cuBnEeA;mCAAgBA,uBvBCpCA,mDuBDoBA;;;;cvBCpBA,gBAkEKA;cuBhEYA,0CvBFjBA,8DuBKEA;;cAHFA;;;;cAKDA;;;MAbwDA;IAaxDA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gF1C2QOE;;K,EAAAC;;K,EAAAA;;K;;;0DAkvBIrzC;;K;;;;;wFF6RZszC;;K;kGAeAC;;K;oGAgBAC;;K;kHAgBcC;;K;4HAKQC;;K;8HAKMC;;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6E8Cp5C5BC;;K;0GQCEC;;K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qD5EoTA5+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFFnQS6+B,MACTA,6CADSA,A;mDI2FMC,MAAkBA,sBAASA,uDAA3BA,A;uGIonCaC,MAC1BA,kCAAeA;;;;OADWA,A;mGAKAC,MAC1BA,kCAAeA;;;;OADWA,A;+FAKAC,MAC1BA,kCAAeA,4CADWA,A;6GAKAC,MAC1BA,kCA+N2BA;;;;;;;QAhODA,A;yGAKAC,MAC1BA,kCAAeA,8CADWA,A;uHAKAC,MAC1BA,kCAoO2BA;;;;;;;QArODA,A;uGAKAC,MAC1BA,kCAAeA,gDADWA,A;qHAKAC,MAC1BA,kCAsP2BA;;;;;;QAvPDA,A;iHAKAC,MAC1BA,kCAAeA,kDADWA,A;+HAKAC,MAC1BA,kCA0P2BA;;;;;;QA3PDA,A;qGcnyCRC,MAClBA,0CADkBA,A;mEI4MKC,kCAAyBA,IAAXA,oBAAdA,A;mEFizCdC;MAAWA;MAAXA;K;uEYnlCAC,MAAWA,qCAKvBA,QALYA,A;uFAMAC,MAAmBA,6CAK/BA,QALYA,A;6FCoFUC,MlBsWnBA,0BAASA,oBkBtW+CA,4hBAArCA,A;yE1BkPLC,mI;yEASEC,MAAuBA,gDAAvBA,A;sEAkCjBC,iC;iD+B3QKC,M/B/f8BA,kB+B+fDA,iBAA7BA,A;2DCo6GYC,MAAiBA,iBAAjBA,A;6C6Dh9HLC;;aA2BLA,oBAC2CC,yBACFA,wBA7BpCD;K;2DCsBQE,MAAiBA,+BAIzCA,QAJwBA,A;6CzBaXC,MAAUA,kBAAqBA,uBAA/BA,A;qCAMAC,MAAMA,kBAAqBA,mBAA3BA,A;+CAOAJ,M3BRZK,cACoBA,8B2BORL,A;qDxB1COM,MoDJfA,iBAUqBC,6BAEKA,iCAEVA,6BpDVDD,A;yDAKAE,MsDJfA,mBAUqBC,mCAEKA,qCAEVA,6EAEQA,8CtDZTD,A;iDAQAE,MqDjBfA,eAUqBC,6BAEKA,+DAEVA,2DAEQA,6BrDCTD,A;2DAMAE,MAAWA,2BAAXA,A;6CKLEC,MAAUA,wBAMhCA,QANsBA,A;+CAQbC,MAAuBA,SAAXA,iBAAZA,A;+CACAC,OAAwBA,SAAXA,aAAbA,A;+CHlBJC,MhBMEA,cgBNFA,A;+CMNAC,MAAWA,wEAAXA,A;+CAOAC,MACFA,qFADEA,A;2DAKAC,MAAiBA,4DAAjBA,A;6DAMAC,MACFA,6EADEA,A;uEAKAC,MACFA,iFADEA,A;qEAQAC,MAAsBA,0GAAtBA,A;2DAmBAC,MAAiBA,wEAAjBA,A;mDAIAC,MAAaA,kEAAbA,A;qDAEAC,MAAcA,8BAAdA,A;+DA2OSC,MAAaA,qDAAbA,A;uEAGAC,MAAiBA,sDAAjBA,A;iGD9QAC,MrBZPA,cqBYOA,A;+CGfTC,MAAWA,qCAAXA,A;uDAMAC,MAAeA,kCAAfA,A;iEASAC,MAAoBA,uEAApBA,A;qEAeAC,MAAsBA,uEAAtBA,A;2DAYAC,MACFA,uEADEA,A;mDiDrDAC,MAAaA,wDAAbA,A;;;;;;;;;;;;;;;;;;;;;;;UnHoEQC,AAAAtkD,AAAAC,AAAAI,4BQ0rFgBkkD,AAAA1kD", "x_org_dartlang_dart2js": { "minified_names": { - "global": "wrapMain,472,Closure_fromTearOff,1706,StaticClosure,1707,BoundClosure,1708,Closure_forwardCallTo,1709,Closure__computeSignatureFunctionNewRti,1710,LateError,1711,throwExpressionWithWrapper,64,_asStringQ,203,initializeExceptionWrapper,61,TypeError,1712,toStringWrapper,62,getIsolateAffinityTag,95,Primitives_objectTypeName,1713,Primitives__objectTypeNameNewRti,1714,Object,1715,instanceType,147,_rtiToString,209,_asString,201,_unminifyOrTag,211,_rtiArrayToString,204,_recordRtiToString,205,_functionRtiToString,206,ioore,56,diagnoseIndexError,57,wrapException,60,_isInt,192,ArgumentError,384,_asInt,193,IndexError$withLength,1716,RangeError$value,1717,_asNumQ,199,S,30,Error_safeToString,1718,_isBool,185,Primitives_safeToString,1718,Closure,1719,_Record,1720,_Record__computedFieldKeys,1721,_arrayInstanceType,149,UnsupportedError$,1722,throwExpression,63,UnsupportedError,394,JSArray_JSArray$allocateGrowable,1723,List_List$unmodifiable,1724,List_List$from,1725,JSArray_markUnmodifiableList,1726,JSArray,1727,_setArrayType,143,JSArray_markFixedList,1728,ArrayIterator,1729,throwConcurrentModificationError,65,ConcurrentModificationError$,1722,ConcurrentModificationError,397,ListIterator,1730,ListBase,1731,_checkValidIndex,128,Iterable,1732,ArgumentError$,1722,_asBool,186,RangeError,387,IndexError,1733,unminifyOrTag,28,Iterable_iterableToFullString,1734,isToStringVisiting,18,StringBuffer,1735,toStringVisiting,1736,StringBuffer__writeAll,1737,initNativeDispatchFlag,1738,initNativeDispatch,102,UnimplementedError$,1722,_JS_INTEROP_INTERCEPTOR_TAG,1739,lookupAndCacheInterceptor,97,getTagFunction,1740,dispatchRecordsForInstanceTags,1741,interceptorsForUncacheableTags,1742,alternateTagFunction,1743,makeLeafDispatchRecord,100,patchInteriorProto,99,makeDispatchRecord,0,JavaScriptIndexingBehavior,1744,UnimplementedError,395,initNativeDispatchContinue,103,initHooks,105,prototypeForTagFunction,1745,makeDefaultDispatchRecord,101,applyHooksTransformer,106,initHooks_closure,1746,initHooks_closure0,1746,initHooks_closure1,1746,_CyclicInitializationError,1747,_TypeError__TypeError$forType,1748,_TypeError,1749,_Error_compose,1750,_structuralTypeOf,156,evaluateRtiForRecord,162,closureFunctionType,144,createRuntimeType,158,_createRuntimeType,160,_Type,161,_Universe_eval,1751,_Parser_create,1752,_Parser_parse,1423,_Parser_handleDigit,1753,_Parser_handleIdentifier,1754,_Parser_toType,1755,_Universe__lookupGenericFunctionParameterRti,1756,_Universe__lookupTerminalRti,1757,_Parser_handleTypeArguments,1758,_Parser_handleExtendedOperations,1759,_Universe__lookupStarRti,1760,_Universe__lookupQuestionRti,1761,_Universe__lookupFutureOrRti,1762,_Parser_handleArguments,1763,_Parser_toTypes,1764,_Parser_toTypesNamed,1765,_Parser_collectArray,1766,_FunctionParameters,1767,_Universe__lookupFunctionRti,1768,_Universe__lookupRecordRti,1769,AssertionError$,1722,AssertionError,383,_Universe__canonicalRecipeJoin,1770,Rti,1771,_Universe__installTypeTests,1772,_installSpecializedAsCheck,166,_installSpecializedIsTest,164,_Universe__canonicalRecipeJoinNamed,1773,_Universe__createFutureOrRti,1774,Future,1775,isStrongTopType,273,_Universe__lookupInterfaceRti,1776,_Universe__createQuestionRti,1777,isNullable,272,Rti__getQuestionFromStar,1778,_Universe__createStarRti,1779,_Universe__lookupGenericFunctionRti,1780,_Universe__lookupBindingRti,1781,_Universe__createGenericFunctionRti,1782,_Utils_newArrayOrEmpty,1783,_substitute,138,_substituteArray,139,_substituteFunctionParameters,141,_substituteNamed,140,_Parser_indexToType,1784,_Universe_findRule,1785,Rti__getCanonicalRecipe,1786,_Universe_evalInEnvironment,1787,getRuntimeTypeOfDartObject,154,_instanceType,150,_instanceTypeFromConstructor,151,_instanceTypeFromConstructorMiss,152,_Universe_findErasedType,1788,getTypeFromTypesTable,153,_Universe_bind,1789,_failedAsCheck,174,_TypeError$fromMessage,1790,_generalAsCheckImplementation,172,_asTop,183,_asObject,181,_generalNullableAsCheckImplementation,173,_nullIs,167,instanceOrFunctionType,145,isSubtype,266,Rti__getIsSubtypeCache,1791,_isSubtype,267,Rti__getFutureFromFutureOr,1792,_isFunctionSubtype,268,_isInterfaceSubtype,269,_isRecordSubtype,271,_areArgumentsSubtypes,270,Rti__isUnionOfFunctionType,1793,List,1794,_isObject,180,_finishIsFn,165,_isTop,182,_generalNullableIsTestImplementation,169,_isNever,184,_isFutureOr,179,_isNum,196,_isString,200,isTopType,207,_isListTestViaProperty,171,_isTestViaProperty,170,createRecordTypePredicate,107,_generalIsTestImplementation,168,BoundClosure_evalRecipe,1795,Closure_forwardInterceptedCallTo,1796,Closure_cspForwardCall,1797,BoundClosure_receiverOf,1798,BoundClosure__interceptorFieldNameCache,1799,BoundClosure__computeFieldNamed,1800,BoundClosure__receiverFieldNameCache,1801,Closure_cspForwardInterceptedCall,1802,BoundClosure_interceptorOf,1803,RuntimeError,1804,_installChromedriver_closure,1805,Core_withGroup,535,ToolCache_find,538,_installChromedriver_closure0,1805,_installChromedriver_closure1,1805,_installChromedriver,531,_asyncStartSync,285,_asyncAwait,286,_asyncReturn,287,_asyncRethrow,288,_wrapJsFunctionForAsync,290,_makeAsyncAwaitCompleter,283,_Future,1806,Zone__current,1807,_wrapJsFunctionForAsync_closure,1808,checkNotNullable,17,_StreamIterator,1809,StreamSubscription,1810,unwrapException,70,getTraceFromException,73,ExceptionAndStackTrace,1811,_StackTrace,1812,NullThrownFromJavaScriptException,1813,saveStackTrace,71,_unwrapNonDartException,72,JsNoSuchMethodError$,1722,NullError,1814,UnknownJsTypeError,1815,StackOverflowError,1816,TypeErrorDecoder_extractPattern,1817,quoteStringForRegExp,112,TypeErrorDecoder,1818,TypeErrorDecoder_provokePropertyErrorOn,1819,TypeErrorDecoder_provokeCallErrorOn,1820,JsNoSuchMethodError,69,_awaitOnObject,289,_awaitOnObject_closure,1821,_awaitOnObject_closure0,1821,ArgumentError$value,1717,_registerErrorHandler,310,_FutureListener,1822,_Future__addListener_closure,1823,_rootScheduleMicrotask,331,_scheduleAsyncCallback,313,_RootZone_bindCallback_closure,1117,_rootRun,324,_RootZone_bindCallbackGuarded_closure,1824,_rootHandleError,323,_rootHandleError_closure,1825,_schedulePriorityAsyncCallback,314,_nextCallback,1826,_lastPriorityCallback,1827,_lastCallback,1828,_AsyncCallbackEntry,1829,Error_throwWithStackTrace,1830,Error__throw,1831,_isInCallbackLoop,1832,_microtaskLoop,311,_AsyncRun__initializeScheduleImmediate,1833,_AsyncRun__initializeScheduleImmediate_internalCallback,1834,convertDartClosureToJS,78,_AsyncRun__initializeScheduleImmediate_closure,1835,Timer__createTimer,1836,_TimerImpl$,1722,_asIntQ,195,_TimerImpl,281,_TimerImpl_internalCallback,1837,_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback,1838,_AsyncRun__scheduleImmediateJsOverride_internalCallback,1839,convertDartClosureToJSUncached,79,_invokeClosure,77,Exception_Exception,1722,_Exception,1840,_Future__propagateToListeners,1841,_Future__propagateToListeners_handleWhenCompleteCallback,1842,_Future__propagateToListeners_handleValueCallback,1843,_Future__propagateToListeners_handleError,1844,_Future__chainCoreFutureSync,1845,_Future__prependListeners_closure,1846,AsyncError$,1722,AsyncError,292,AsyncError_defaultStackTrace,1847,_rootRunUnary,325,_rootRunBinary,326,_Future__propagateToListeners_handleWhenCompleteCallback_closure,1848,_AsyncAwaitCompleter,1849,_Future__asyncCompleteError_closure,1850,_Future__chainCoreFutureAsync,1851,_Future__chainForeignFuture_closure,1852,_Future__chainForeignFuture_closure0,1852,_Future__chainForeignFuture_closure1,1852,scheduleMicrotask,315,get$scheduleMicrotask,315,_Future__chainCoreFutureAsync_closure,1853,_Future__asyncCompleteWithValue_closure,1854,ToolCache_downloadTool,539,ToolCache_extractZip,540,ToolCache_cacheDir,541,promiseToFuture,468,_AsyncCompleter,1855,promiseToFuture_closure,1856,promiseToFuture_closure0,1856,StateError$,1722,StateError,396,NullRejectionException,1857,HttpClient_getJson,537,_$AllChromeDownloadsFromJson,474,Process_get_platform,542,Process_get_arch,543,ChromePlatform_fromOsArch,1858,AllChromeDownloads_chromeDriverUrl_closure,1859,IterableExtension_firstWhereOrNull,1860,WhereIterable,1861,bool,1862,AllChromeDownloads_chromeDriverUrl_closure0,1859,List_List$of,1863,AllChromeDownloads_chromeDriverUrl_closure1,1859,instantiate1,26,mergeSortBy,546,IterableExtension_get_lastOrNull,1864,Comparable,1865,checkTypeBound,175,_asNum,197,Iterable_iterableToShortString,1866,_iterablePartsToStrings,402,RangeError_checkNotNegative,1867,RangeError$range,1868,WhereIterator,1869,boolConversionCheck,92,assertThrow,93,_AssertionError,1870,Iterator,1871,IterableElementError_noElement,1872,RangeError_checkValidRange,1873,_movingInsertionSort,547,List_List$filled,1874,_mergeSort,548,_merge,549,IterableElementError_tooFew,1875,SubListIterable$,1722,ListIterable,1876,JSArray_JSArray$fixed,1877,JSArray_JSArray$markFixed,1878,SubListIterable,19,JSArray_JSArray$growable,1879,Instantiation1,27,instantiatedGenericFunctionType,136,int_parse,1423,Primitives_parseInt,1880,FormatException$,1722,FormatException,399,List_List$_of,1881,StringMatch,1882,ChromeVersion_chromeDriverUrl_closure,1883,_Record_2,1884,ChromePlatform_fromOsArch_closure,1885,_InitializedCell$named,1886,ChromePlatform_fromOsArch_closure0,1885,ChromePlatform_fromOsArch_closure1,1885,ChromePlatform_fromOsArch_closure2,1885,_InitializedCell,1887,_$AllChromeDownloadsFromJson_closure,1888,AllChromeDownloads,1889,MappedIterable_MappedIterable,1722,MappedIterator,1890,EfficientLengthMappedIterable,1891,MappedIterable,20,MappedListIterable,1892,LinkedHashMap_LinkedHashMap$from,1725,ChromeVersion,1893,_$ChromeVersionDownloadsFromJson,475,_$ChromeVersionDownloadsFromJson_closure,1894,_$ChromeVersionDownloadsFromJson_closure0,1894,ChromeVersionDownloads,1895,_$ChromeDownloadFromJson,476,ChromeDownload,1896,$enumDecode,553,MapBase_mapToString,1897,MapBase_mapToString_closure,1898,JsConstantLinkedHashMap,1899,fillLiteralMap,76,LinkedHashMapKeyIterable,1900,LinkedHashMapKeyIterator,818,MapBase,1901,_Record2,1902,getRuntimeTypeOfClosure,155,Duration,1903,Object_hash,1904,SystemHash_combine,1905,SystemHash_finish,1906,objectHashCode,74,Primitives_objectHashCode,74,Primitives__identityHashCodeProperty,1907,constantHashCode,75,Symbol,1908,LinkedHashMapCell,1909,_SyncStarIterable,1910,MapEntry,1911,_SyncStarIterator,1912,_SyncStarIterator__terminatedBody,1913,JsLinkedHashMap_values_closure,811,LinkedHashMap_LinkedHashMap,1722,LinkedHashMap_LinkedHashMap$from_closure,1914,JsLinkedHashMap,1915,jsify,467,dartify,471,_KeysOrValues,1916,_KeysOrValuesOrElementsIterator,1917,Map_castFrom,1918,CastMap,1919,CastIterable_CastIterable,1722,EmptyIterable,1920,SkipIterable_SkipIterable,1722,SkipIterator,1921,ArgumentError_checkNotNull,1922,SkipIterable,22,EfficientLengthSkipIterable,23,CastIterator,1923,EfficientLengthIterable,1924,_EfficientLengthCastIterable,1925,CastIterable,13,CastMap_forEach_closure,677,Map,1926,_noDartifyRequired,470,dartify_convert,1927,_IdentityHashMap,1928,_HashMap__getTableEntry,1929,_HashMapKeyIterable,1930,_HashMapKeyIterator,1931,DateTime,1932,LinkedHashMap_LinkedHashMap$_empty,1933,Primitives_getYear,1934,DateTime__fourDigits,1935,Primitives_getMonth,1936,DateTime__twoDigits,1937,Primitives_getDay,1938,Primitives_getHours,1939,Primitives_getMinutes,1940,Primitives_getSeconds,1941,Primitives_getMilliseconds,1942,DateTime__threeDigits,1943,Primitives_lazyAsJsDate,1944,_HashMap__newHashTable,1945,_HashMap__setTableEntry,1946,_noJsifyRequired,466,jsify__convert,1947,JSString__skipLeadingWhitespace,1948,JSString__skipTrailingWhitespace,1949,JSString__isWhitespace,1950,Core_withGroup$body,535,_installChromedriver__closure,1951,_installChromedriver__closure0,1951,_ControllerStream,1952,StreamTransformer,1953,Stream,1954,String,1955,NodeProcessManager_run_closure,1956,NodeProcessManager_run_closure0,1956,ProcessResult,1957,FutureExtensions_ignore,1958,Stream_length_closure,954,Stream_length_closure0,954,_BufferingStreamSubscription__registerErrorHandler,310,_ControllerSubscription,1959,_StreamControllerAddStreamState,961,_StreamController__subscribe_closure,1960,nullFuture_closure,1961,Future_Future$value,1717,_StreamController__recordCancel_complete,1962,_AddStreamState_cancel_closure,1963,_PendingEvents,1964,_BufferingStreamSubscription,972,_StreamControllerLifecycle,1965,_runGuarded,318,_EventDispatch,1966,_PendingEvents_schedule_closure,1967,EventEmitter_once,480,Future_any,1968,_SyncCompleter,1969,Future_any_onValue,906,Future_any_onError,1970,EventEmitter_once_closure,1971,allowInterop,465,_convertDartFunctionFast,463,_callDartFunctionFast,464,Primitives_applyFunction,1972,Primitives__generalApplyFunction,1973,Primitives_functionNoSuchMethod,1974,Primitives_functionNoSuchMethod_closure,1975,JSInvocationMirror,1976,NoSuchMethodError_NoSuchMethodError$withInvocation,1977,NoSuchMethodError_toString_closure,1978,NoSuchMethodError,1979,ConstantMapView,1980,CastMap_entries_closure,679,MapBase_entries_closure,1173,_HashMap_values_closure,1138,_MapBaseValueIterable,1981,_MapBaseValueIterator,1982,UnmodifiableMapView,1983,_BoundSinkStream,1984,LineSplitter_bind_closure,1985,_SinkTransformerStreamSubscription,1042,EventSink,1986,_EventSinkWrapper,1987,_EventSink,1988,throwLateFieldNI,121,_BufferingStreamSubscription__sendDone_sendDone,1989,_DelayedError,1990,_BufferingStreamSubscription__sendError_sendError,1991,_DelayedData,1992,_LineSplitterEventSink,1242,_StringAdapterSink,1993,Converter_bind_closure,1994,Converter,1995,_ConverterStreamEventSink,1996,Sink,1997,_Utf8ConversionSink,1252,_Utf8Decoder,1998,_Utf8Decoder__makeUint8List,1999,_Utf8Decoder_errorDescription,2000,Primitives_stringFromCharCode,2001,String_String$fromCharCodes,2002,Primitives_stringFromCharCodes,2003,Primitives_stringFromNativeUint8List,2004,String__stringFromIterable,2005,argumentErrorValue,59,Primitives_stringFromCodePoints,2006,Primitives__fromCharCodeApply,2007,CastList,2008,NodeProcess,1453,ChildProcess_spawn,477,StreamController_StreamController,1722,_IOSinkImpl,2009,_StreamSinkWrapper,2010,NodeProcess__init_closure,2011,NodeReadableStream_get_stream,478,StreamForward_forward,2012,NodeProcess__init_closure0,2011,_StreamSinkImpl,2013,_StreamSinkImpl__controller_closure,2014,_StreamSinkImpl__controller_closure0,2014,StreamController,317,StreamConsumer,2015,ProcessException,2016,StreamForward_forward_closure,1467,StreamForward_forward_closure0,1467,StreamForward_forward_closure1,1467,NodeReadableStream_get_stream_onData,2017,NodeReadableStream_get_stream_closure,2018,NodeReadableStream_get_stream_onDone,2019,NodeReadableStream_get_stream_onError,2020,NodeReadableStream_get_stream_closure0,2018,_ensureNativeList,125,_SyncStreamController,2021,unreachable,481,ChildProcess_spawn_closure,2022,Process_get_env,544,JsLinkedHashMap_addAll_closure,813,_UnreachableError,2023,processManager_closure,2024,NodeProcessManager,1448,Future_wait,2025,_Future$value,1717,_Cell$named,1886,Future_wait_handleError,2026,Future_wait_closure,903,Null,2027,_Cell,2028,ActionContext,1670,wrapMain_closure,1422,wrapMain_closure0,1422,Chain_capture,2029,StackZoneSpecification,2030,Expando,2031,Chain_capture_closure,1575,_ZoneSpecification,2032,runZoned,337,_Node,2033,Trace_Trace$from,1725,Expando__checkType,2034,Trace_toString_closure,2035,int,2036,Trace_toString_closure0,2035,UnparsedFrame,518,Expando__badExpandoKey,2037,Chain,2038,Chain_toString_closure,2039,Chain_toString_closure0,2039,Chain_toString__closure,2040,Chain_toString__closure0,2040,LazyTrace,2041,Trace_Trace$from_closure,2042,throwLateFieldADI,122,ExpandIterable,2043,Frame,2044,Chain_toTrace_closure,2045,Trace$,1722,ExpandIterator,712,Trace,529,Trace_Trace$parse,1423,Trace$parseV8,2046,Trace$parseJSCore,2047,Trace$parseFirefox,2048,Chain_Chain$parse,1423,Trace$parseFriendly,2049,Trace$parseVM,2050,Trace__parseVM,2051,stringReplaceAllUnchecked,113,Trace__parseVM_closure,2052,TakeIterable_TakeIterable,1722,Frame_Frame$parseVM,2050,_parseUri,484,ParsedPath_ParsedPath$parse,1423,Context_split_closure,2053,ParsedPath,2054,WindowsStyle,1678,RegExp_RegExp,1722,isDriveLetter,556,_Uri__uriDecode,2055,CodeUnits,2056,_Uri__hexCharPairToByte,2057,Utf8Decoder__convertIntercepted,2058,Utf8Decoder__convertInterceptedUint8List,2059,Utf8Decoder__useTextDecoder,2060,Utf8Decoder__decoder_closure,2061,Utf8Decoder__decoderNonfatal_closure,2062,RangeError_checkValueInInterval,2063,stringReplaceFirstUnchecked,119,stringReplaceRangeUnchecked,120,JSSyntaxRegExp,2064,escapeReplacement,110,stringReplaceFirstRE,111,_StringAllMatchesIterable,2065,_StringAllMatchesIterator,2066,_MatchImplementation,2067,JSSyntaxRegExp_makeNative,2068,isAlphabetic,555,_AllMatchesIterable,2069,_AllMatchesIterator,2070,UrlStyle,1680,Context,483,current,554,get$current,554,PathException$,1722,_validateArgList,485,WhereTypeIterable,2071,WhereTypeIterator,2072,Context_joinAll_closure,2073,_validateArgList_closure,2074,PathException,489,Uri_base,2075,_current,1807,set$_current,1807,_currentUriBase,2076,Primitives_currentUri,2077,Uri__cachedBaseUri,2078,Uri__cachedBaseString,2079,Uri_parse,1423,UriData__parse,2080,_scan,459,_SimpleUri,2081,_Uri__makeScheme,2082,_Uri__fail,2083,_Uri__makeUserInfo,2084,_Uri__makeHost,2085,_Uri__makePort,2086,_Uri__makePath,2087,_Uri__makeQuery,2088,_Uri__makeFragment,2089,_Uri$_internal,2090,_Uri__defaultPort,2091,_Uri__toWindowsFilePath,2092,_Uri__checkNonWindowsPathReservedCharacters,2093,_Uri__checkWindowsDriveLetter,2094,_Uri__checkWindowsPathReservedCharacters,2095,String_String$fromCharCode,2096,_Uri__removeDotSegments,2097,_Uri__packageNameEnd,2098,_Uri__normalizeRelativePath,2099,_Uri__mayContainDotSegments,2100,_Uri__escapeScheme,2101,_Uri__isAlphabeticCharacter,2102,_skipPackageNameChars,461,_caseInsensitiveCompareStart,462,_SimpleUri__packageNameEnd,2098,_Uri,413,_Uri__normalizeOrSubstring,2103,_Uri__normalize,2104,_Uri__normalizeEscape,2105,_Uri__escapeChar,2106,iae,55,hexDigitValue,14,_Uri__makePath_closure,2107,_Uri__normalizePath,2108,_Uri__uriEncode,2109,ByteConversionSink,2110,_ByteAdapterSink,2111,_Utf8EncoderSink,2112,_checkValidRange,129,diagnoseRangeError,58,_Utf8Encoder,2113,_Uri__checkZoneID,2114,_Uri__normalizeZoneID,2115,Uri_parseIPv6Address,2116,_Uri__normalizeRegName,2117,Uri_parseIPv6Address_error,2118,Uri_parseIPv6Address_parseHex,2119,Uri__parseIPv4Address,2120,Uri__parseIPv4Address_error,2121,_Uri__canonicalizeScheme,2122,_createTables,458,_createTables_build,2123,_createTables_setChars,2124,_createTables_setRange,2125,UnmodifiableListMixin,2126,_asDouble,189,_DataUri,2127,UriData,2128,_Utf8Base64EncoderSink,1215,_Base64Encoder,2129,_AsciiBase64EncoderSink,1216,_BufferCachingBase64Encoder,2130,_Base64Encoder_encodeChunk,2131,NativeUint8List_NativeUint8List$view,2132,Base64Codec__checkPadding,2133,NativeInt8List__create1,2134,Style__getPlatformStyle,2135,_Uri__Uri,1722,PosixStyle,1676,TakeIterator,2136,Frame_Frame$parseVM_closure,2137,Frame__catchFormatException,2138,Uri_Uri$dataFromString,2139,UriData__writeUri,2140,UriData__uriEncodeBytes,2141,Codec,2142,_UnicodeSubsetEncoderSink,2143,UriData__validateMimeType,2144,EfficientLengthTakeIterable,2145,TakeIterable,21,stringReplaceAllUncheckedString,115,stringReplaceAllGeneral,114,Trace$parseFriendly_closure,2146,Frame_Frame$parseFriendly,2049,Frame_Frame$parseFriendly_closure,2147,WindowsStyle_absolutePathToUri_closure,2148,Context_Context,1722,Chain_Chain$parse_closure,2149,Trace$parseFirefox_closure,2150,Frame_Frame$parseFirefox,2048,Frame_Frame$parseFirefox_closure,2151,Frame_Frame$_parseFirefoxEval,2152,Frame__uriOrPathToUri,2153,_Uri__Uri$file,2154,_Uri__makeWindowsFileUrl,2155,_Uri__makeFileUri,2156,Frame_Frame$_parseFirefoxEval_closure,2157,Trace$parseJSCore_closure,2158,Frame_Frame$parseV8,2046,Frame_Frame$parseV8_closure,2159,Frame_Frame$parseV8_closure_parseLocation,2160,Trace$parseV8_closure,2161,SkipWhileIterable,2162,SkipWhileIterator,2163,stringContainsUnchecked,109,StackZoneSpecification__currentTrace_closure,2164,StackTrace_current,554,_RootZone__rootDelegate,2165,_ZoneDelegate,2166,LazyChain,2167,StackZoneSpecification_chainFor_closure,2168,StackZoneSpecification_chainFor_closure0,2168,StackZoneSpecification__registerBinaryCallback_closure,1620,StackZoneSpecification__registerBinaryCallback__closure,1622,StackZoneSpecification__registerUnaryCallback_closure,1616,StackZoneSpecification__registerUnaryCallback__closure,1618,StackZoneSpecification__registerCallback_closure,1614,_runZoned,338,_rootFork,335,HashMap_HashMap$from,1725,_CustomZone,336,_ZoneFunction,2169,_CustomZone_bindCallbackGuarded_closure,2170,_CustomZone_bindCallback_closure,1076,printString,532,_TimerImpl$periodic,2171,_CustomZone_bindUnaryCallback_closure,1078,_RootZone_bindUnaryCallback_closure,1119,_TimerImpl$periodic_closure,2172,HashMap_HashMap,1722,_HashMap,2173,HashMap_HashMap$from_closure,2174,parseJson,495,mapStackTrace,491,wrapMain__closure,2175,Core_setFailed,536,Process_exit,545,mapStackTrace_closure,2176,mapStackTrace_closure0,2176,_prettifyMember,493,_prettifyMember_closure,2177,stringReplaceAllFuncUnchecked,117,_prettifyMember_closure0,2177,_stringIdentity,116,MultiSectionMapping,2178,SingleMapping$fromJson,2179,SourceLocation$,1722,SourceMapSpan,498,SourceMapSpan$,1722,RangeError$,1722,SourceLocation,500,SingleMapping__findColumn_closure,2180,binarySearch,557,SingleMapping__findLine_closure,2181,SingleMapping,2182,SourceFile,2183,_MappingTokenizer,2184,TargetLineEntry,2185,decodeVlq,499,TargetEntry,2186,SingleMapping$fromJson_closure,2187,pow,534,_digits_closure,2188,_parseJson,348,_convertJsonToDartLazy,349,_JsonMap,2189,_JsonMap_values_closure,2190,_JsonMapKeyIterable,2191,_JsonDecoderSink,1239,_Utf8StringSinkAdapter,1257,_StringSinkConversionSink,2192,wrapMain__closure0,2175,_Utils_objectAssign,2193,JS_CONST,2194,Interceptor,2195,TrustedGetRuntimeType,2196,JSBool,2197,JSNull,2198,JSObject,2199,JavaScriptObject,2200,LegacyJavaScriptObject,2201,PlainJavaScriptObject,2202,UnknownJavaScriptObject,2203,Function,2204,JavaScriptFunction,2205,JavaScriptBigInt,2206,JavaScriptSymbol,2207,JSIndexable,2208,JSUnmodifiableArray,2209,double,2210,num,2211,JSNumber,2212,JSInt,2213,JSNumNotInt,2214,Pattern,2215,JSString,2216,_CastIterableBase,2217,_CastListBase,2218,SentinelValue,2219,EmptyIterator,2220,FixedLengthListMixin,2221,UnmodifiableListBase,2222,Symbol0,1908,ConstantMap,2223,ConstantStringMap,2224,GeneralConstantMap,2225,Instantiation,772,Invocation,2226,Exception,398,StackTrace,2227,Closure0Args,2228,Closure2Args,2229,TearOffClosure,2230,_Required,2231,RegExp,370,RegExpMatch,2232,Match,2233,JSAny,2234,JSObject0,2199,JSFunction,2235,JSExportedDartFunction,2236,JSArray0,1727,JSBoxedDartObject,2237,JSArrayBuffer,2238,JSDataView,2239,JSTypedArray,2240,JSInt8Array,2241,JSUint8Array,2242,JSUint8ClampedArray,2243,JSInt16Array,2244,JSUint16Array,2245,JSInt32Array,2246,JSUint32Array,2247,JSFloat32Array,2248,JSFloat64Array,2249,JSNumber0,2212,JSBoolean,2250,JSString0,2216,JSSymbol,2251,JSBigInt,2252,JSPromise,2253,ByteBuffer,2254,NativeByteBuffer,2255,NativeTypedData,2256,ByteData,2257,NativeByteData,2258,NativeTypedArray,2259,NativeTypedArrayOfDouble,2260,NativeTypedArrayOfInt,2261,Float32List,2262,NativeFloat32List,2263,Float64List,2264,NativeFloat64List,2265,Int16List,2266,NativeInt16List,2267,Int32List,2268,NativeInt32List,2269,Int8List,2270,NativeInt8List,2271,Uint16List,2272,NativeUint16List,2273,Uint32List,2274,NativeUint32List,2275,Uint8ClampedList,2276,NativeUint8ClampedList,2277,NativeUint8List,2278,Uint8List,2279,_Error,2280,Timer,2281,Completer,469,Error,2282,_Completer,2283,StreamTransformerBase,2284,_StreamController,2285,_SyncStreamControllerDispatch,2286,_AddStreamState,960,_StreamImpl,2287,_DelayedEvent,2288,_DelayedDone,2289,ZoneSpecification,2290,ZoneDelegate,2291,Zone,2292,_Zone,2293,_RootZone,2294,_UnmodifiableMapMixin,2295,MapView,2296,AsciiCodec,2297,_UnicodeSubsetEncoder,2298,AsciiEncoder,2299,Base64Codec,2300,Base64Encoder,2301,_Base64EncoderSink,2302,_FusedCodec,2303,Encoding,2304,JsonCodec,2305,JsonDecoder,2306,LineSplitter,2307,_LineSplitterSink,2308,StringConversionSink,2309,Utf8Codec,2310,Utf8Encoder,2311,Utf8Decoder,2312,Enum,2313,_Enum,2314,OutOfMemoryError,2315,_StringStackTrace,2316,StringSink,2317,Uri,2318,IOSink,2319,ProcessStartMode,2320,ActionResult,2321,ChromePlatform,2322,OS,2323,Arch,2324,Process,2325,AbortSignal,2326,AbortController,2327,Window,2328,Document,2329,Element,2330,Event,2331,EventTarget,2332,GlobalScope,2333,MessageEvent,2334,MessagePort,2335,Location,2336,WorkerInit,2337,Worker,2338,ErrorEvent,2339,MessageChannel,2340,JSON,2341,JSObject1,2199,RequestInit,2342,Headers,2343,Request,2344,Response,2345,Promise,2346,UnderlyingSource,2347,ReadableStreamController,2348,ReadableStreamDefaultController,2349,ReadableByteStreamController,2350,ReadableStream,2351,ReadableStreamReader,2352,ReadableStreamBYOBReader,2353,ReadableStreamDefaultReader,2354,ReadableStreamChunk,2355,_PathDirection,2356,_PathRelation,2357,InternalStyle,2358,Style,2359,Mapping,2360,_TokenKind,2361,SourceSpanBase,1564,SourceSpan,2362,SourceSpanMixin,2363,__CastListBase__CastIterableBase_ListMixin,2364,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin,2365,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin,2366,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin,2367,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin,2368,_UnmodifiableMapView_MapView__UnmodifiableMapMixin,2369,__Utf8EncoderSink__Utf8Encoder_StringConversionSink,2370,main,530,getNativeInterceptor,1,isJsIndexable,29,closureFromTearOff,86,throwCyclicInit,94,defineProperty,96,findType,135,typeLiteral,163,_asBoolS,187,_asBoolQ,188,_asDoubleS,190,_asDoubleQ,191,_asIntS,194,_asNumS,198,_asStringS,202,_Universe_addRules,2371,_Universe_addErasedTypes,2372,_AsyncRun__scheduleImmediateJsOverride,2373,_AsyncRun__scheduleImmediateWithSetImmediate,2374,_AsyncRun__scheduleImmediateWithTimer,2375,Future___value_tearOff,2376,FutureExtensions__ignore,2377,_startMicrotaskLoop,312,StreamIterator_StreamIterator,1722,_nullErrorHandler,320,_nullDoneHandler,321,_rootHandleUncaughtError,322,_rootRegisterCallback,327,_rootRegisterUnaryCallback,328,_rootRegisterBinaryCallback,329,_rootErrorCallback,330,_rootCreateTimer,332,_rootCreatePeriodicTimer,333,_rootPrint,334,Uri_decodeComponent,2378,Frame___parseVM_tearOff,2379,Frame___parseV8_tearOff,2380,Frame___parseFirefox_tearOff,2381,Frame___parseFriendly_tearOff,2382,Trace___parseVM_tearOff,2379,Trace___parseFriendly_tearOff,2382,max,533,compareComparable,552,DART_CLOSURE_PROPERTY_NAME,1646,nullFuture,1647,TypeErrorDecoder_noSuchMethodPattern,2383,TypeErrorDecoder_notClosurePattern,2384,TypeErrorDecoder_nullCallPattern,2385,TypeErrorDecoder_nullLiteralCallPattern,2386,TypeErrorDecoder_undefinedCallPattern,2387,TypeErrorDecoder_undefinedLiteralCallPattern,2388,TypeErrorDecoder_nullPropertyPattern,2389,TypeErrorDecoder_nullLiteralPropertyPattern,2390,TypeErrorDecoder_undefinedPropertyPattern,2391,TypeErrorDecoder_undefinedLiteralPropertyPattern,2392,_AsyncRun__scheduleImmediateClosure,2393,Future__nullFuture,2394,_RootZone__rootMap,2395,Utf8Decoder__decoder,2396,Utf8Decoder__decoderNonfatal,2397,_Base64Decoder__inverseAlphabet,2398,_Uri__isWindowsCached,2399,_Uri__needsNoEncoding,2400,_hasErrorStackProperty,1666,_hashSeed,1667,_scannerTables,1668,context,1669,get$context,1669,processManager,1671,windows,1672,url,1673,context0,1669,Style_posix,2401,Style_windows,1672,Style_url,1673,Style_platform,2402,_digits,1682,maxInt32,1683,minInt32,1684,_specKey,1685,_vmFrame,1686,_v8Frame,1687,_v8UrlLocation,1688,_v8EvalLocation,1689,_firefoxEvalLocation,1690,_firefoxSafariFrame,1691,_friendlyFrame,1692,_asyncBody,1693,_initialDot,1694,Frame__uriRegExp,2403,Frame__windowsRegExp,2404,StackZoneSpecification_disableKey,2405,_v8Trace,1698,_v8TraceLine,1699,_firefoxEvalTrace,1700,_firefoxSafariTrace,1701,_friendlyTrace,1702,vmChainGap,1703,Record,2406,$get$DART_CLOSURE_PROPERTY_NAME,1646,$get$TypeErrorDecoder_noSuchMethodPattern,2383,$get$TypeErrorDecoder_notClosurePattern,2384,$get$TypeErrorDecoder_nullCallPattern,2385,$get$TypeErrorDecoder_nullLiteralCallPattern,2386,$get$TypeErrorDecoder_undefinedCallPattern,2387,$get$TypeErrorDecoder_undefinedLiteralCallPattern,2388,$get$TypeErrorDecoder_nullPropertyPattern,2389,$get$TypeErrorDecoder_nullLiteralPropertyPattern,2390,$get$TypeErrorDecoder_undefinedPropertyPattern,2391,$get$TypeErrorDecoder_undefinedLiteralPropertyPattern,2392,$get$_AsyncRun__scheduleImmediateClosure,2393,$get$_hashSeed,1667,$get$processManager,1671,$get$Future__nullFuture,2394,$get$nullFuture,1647,$get$context,1669,$get$_specKey,1685,$get$StackZoneSpecification_disableKey,2405,$get$_v8Trace,1698,$get$_firefoxSafariTrace,1701,$get$_firefoxEvalTrace,1700,$get$_friendlyTrace,1702,$get$vmChainGap,1703,$get$context0,1669,$get$Style_url,1673,$get$Style_windows,1672,$get$Utf8Decoder__decoderNonfatal,2397,$get$Utf8Decoder__decoder,2396,$get$Style_platform,2402,$get$_Uri__isWindowsCached,2399,$get$_Uri__needsNoEncoding,2400,$get$_scannerTables,1668,$get$_Base64Decoder__inverseAlphabet,2398,$get$Style_posix,2401,$get$_vmFrame,1686,$get$_asyncBody,1693,$get$_friendlyFrame,1692,$get$_firefoxSafariFrame,1691,$get$_initialDot,1694,$get$Frame__uriRegExp,2403,$get$Frame__windowsRegExp,2404,$get$windows,1672,$get$_firefoxEvalLocation,1690,$get$_v8Frame,1687,$get$_v8EvalLocation,1689,$get$_v8UrlLocation,1688,$get$_v8TraceLine,1699,$get$_hasErrorStackProperty,1666,$get$_RootZone__rootMap,2395,$get$url,1673,$get$_digits,1682,$get$minInt32,1684,$get$maxInt32,1683,setup_chromedriver___installChromedriver$closure,2407,getInterceptor$,2408,getInterceptor$asx,2409,async___startMicrotaskLoop$closure,2410,async__AsyncRun__scheduleImmediateJsOverride$closure,2411,async__AsyncRun__scheduleImmediateWithSetImmediate$closure,2412,async__AsyncRun__scheduleImmediateWithTimer$closure,2413,utils__compareComparable$closure,2414,getInterceptor$ax,2415,async___nullDoneHandler$closure,2416,async___nullErrorHandler$closure,2417,async__FutureExtensions__ignore$closure,2418,frame_Frame___parseVM_tearOff$closure,2419,getInterceptor$s,2420,core_Uri_decodeComponent$closure,2421,frame_Frame___parseFriendly_tearOff$closure,2422,trace_Trace___parseVM_tearOff$closure,2423,trace_Trace___parseFriendly_tearOff$closure,2424,frame_Frame___parseFirefox_tearOff$closure,2425,frame_Frame___parseV8_tearOff$closure,2426,getInterceptor$ns,2427,getInterceptor$n,2428,async_Future___value_tearOff$closure,2429,async___rootHandleUncaughtError$closure,2430,async___rootRun$closure,2431,async___rootRunUnary$closure,2432,async___rootRunBinary$closure,2433,async___rootRegisterCallback$closure,2434,async___rootRegisterUnaryCallback$closure,2435,async___rootRegisterBinaryCallback$closure,2436,async___rootErrorCallback$closure,2437,async___rootScheduleMicrotask$closure,2438,async___rootCreateTimer$closure,2439,async___rootCreatePeriodicTimer$closure,2440,async___rootPrint$closure,2441,async___rootFork$closure,2442,math__max$closure,2443", - "instance": "super$LegacyJavaScriptObject$toString,2444,prototypeForTag,2445,getUnknownTag,2446,getTag,2447,$protected,2448,R,2449,$this,2450,f,2451,error,2452,stackTrace,2453,get$stackTrace,2453,_TimerImpl$2,1722,callback,2454,_box_0,2455,div,2456,span,2457,listener,2458,_box_1,2459,sourceResult,2460,hasError,2461,originalSource,2462,bodyFunction,2463,e,2464,s,2465,target,2466,value,1717,set$value,1717,chromeDriverUrl,2467,get$chromeDriverUrl,2467,chromeVersion,2468,completer,2469,T,2470,Instantiation$1,1722,patchVersion,2471,platform,2402,version,2472,_0_1,2473,_0_4,2474,_0_0,2475,result,2476,entries$body$ConstantMap,2477,K,2478,V,2479,_convertedObjects,2480,run$body$NodeProcessManager,2481,dispatch,2482,future,2483,get$future,2483,sb,2484,namedArgumentList,2485,$arguments,2486,echoOutput,2487,stderr,2488,get$stderr,2488,stdout,2489,get$stdout,2489,super$_BufferingStreamSubscription$_addError,2490,super$_BufferingStreamSubscription$_close,2491,super$_BufferingStreamSubscription$_add,2492,super$Converter$bind,1789,start$body$NodeProcessManager,2493,_init$body$NodeProcess,2494,controller,2495,_this,2496,onData,2497,onDone,2498,onError,2499,pos,2500,_future,2501,eagerError,2502,longest,2503,trace,2504,SubListIterable$3,1722,host,2505,get$host,2505,tables,2506,frame,2507,super$Iterable$skipWhile,2508,level,2509,original,2510,T1,2511,T2,2512,node,2513,arg1,2514,arg2,2515,arg,2516,registered,2517,_TimerImpl$periodic$2,2171,milliseconds,2518,start,2493,get$start,2493,$call$body$wrapMain_closure,2519,sourceMap,2520,sdkLib,2521,minified,2522,packageMap,2523,sdkRoot,2524,MultiSectionMapping$fromJson$3$mapUrl,2179,SourceSpanBase$3,1722,column,2525,get$column,2525,line,2526,get$line,2526,SingleMapping$fromJson$2$mapUrl,2179,SourceFile$decoded$2$url,2527,super$_StringSinkConversionSink$close,2528,mainFn,2529,TakeIterator$2,1722,SkipIterator$2,1722,LinkedHashMapKeyIterator$2,1722,_MatchImplementation$2,1722,_Cell$named$1,1886,_InitializedCell$named$2,1886,_Type$1,1722,cleanUp,2530,_Future$immediate$1,2531,_Future$zoneValue$2,2532,_Future$immediateError$2,2533,_StreamControllerAddStreamState$4,1722,_SinkTransformerStreamSubscription$6,1722,_CustomZone$3,1722,DateTime$_withValue$2$isUtc,2534,closeWhenDone,2535,SourceLocation$4$column$line$sourceUrl,1722,_interceptor,2536,_message,2537,toString$0,2444,_receiver,2538,_is,2539,_kind,2540,_primary,2541,_rest,2542,length,2543,get$length,2543,set$length,2543,end,2544,get$end,2544,name,2545,get$name,2545,message,2546,_errorName,2547,get$_errorName,2547,_hasValue,2548,_errorExplanation,2549,get$_errorExplanation,2549,invalidValue,2550,get$invalidValue,2550,_toString$1,2551,_fieldKeys$0,2552,_getFieldValues$0,2553,add$1,2554,_computeFieldKeys$0,2555,_precomputed1,2556,_as,2557,iterator,2558,get$iterator,2558,_eval$1,2559,moveNext$0,2560,current,554,get$current,554,_iterable,2561,_length,2562,_index,2563,_current,2564,set$_current,2564,modifiedObject,2565,__internal$_iterable,2566,__internal$_length,2567,__internal$_index,2568,__internal$_current,2569,set$__internal$_current,2569,elementAt$1,2570,_contents,2571,_requiredPositional,2572,_optionalPositional,2573,_named,2574,variableName,2575,__rti$_message,2576,runtimeType,2577,get$runtimeType,2577,_rti,2578,_cachedRuntimeType,2579,_canonicalRecipe,2580,_bindCache,2581,_evalCache,2582,_specializedTestResource,2583,_unsoundIsSubtypeCache,2584,_isSubtypeCache,2585,isSync,2586,registerBinaryCallback$3$1,2587,_bind$1,2588,completeError$2,2589,_trace,2590,_exception,2591,dartException,2592,_irritant,2593,_shrOtherPositive$1,2594,matchTypeError$1,2595,__js_helper$_message,2596,_method,2597,_pattern,2598,_arguments,2599,_argumentsExpr,2600,_expr,2601,_shrBothPositive$1,2602,complete$1,2603,_thenAwait$1$2,2604,then$1$2$onError,2605,_state,2606,_resultOrListeners,2607,_zone,2608,get$_zone,2608,registerUnaryCallback$2$1,2609,_addListener$1,2610,errorCallback,2611,get$errorCallback,2611,state,2612,_nextListener,2613,_cloneResult$1,2614,scheduleMicrotask$1,315,errorZone,2615,get$errorZone,2615,bindCallbackGuarded$1,2616,bindCallback$1$1,2617,run$1$1,2481,runGuarded$1,2618,next,2619,get$next,2619,set$next,2619,storedCallback,2620,padLeft$2,2621,_tick,2622,source,2623,handleUncaughtError$2,2624,listenerHasError,2625,listenerValueOrError,2626,_reverseListeners$1,2627,_removeListeners$0,2628,_setChained$1,2629,_prependListeners$1,2630,listeners,2631,matchesErrorTest$1,2632,handleError$1,2633,_stackTrace,2634,runBinary$3$3,2635,runUnary$2$2,2636,then$1$1,2605,_completeError$2,2637,_asyncCompleteError$2,2638,_setErrorObject$1,2639,_asyncComplete$1,2640,_chainFuture$1,2641,_completeWithValue$1,2642,_chainForeignFuture$1,2643,_scheduleMicrotask,2644,get$_scheduleMicrotask,2644,zone,2645,registerCallback$1$1,2646,$function,2647,_asyncCompleteWithValue$1,2648,errorCallback$2,2611,completeError$1,2589,isUndefined,2649,chromeDriverUrl$2,2467,versions,2650,chromeDriverUrl$1,2467,sublist$2,2651,join$1,2652,compareTo$1,2653,isNegative,2654,get$isNegative,2654,_f,2655,_iterator,2656,_enumToString$0,2657,last,2658,get$last,2658,setRange$4,2659,skip$1,2660,toList$1$growable,2661,_start,2662,_endOrLength,2663,_startIndex,2664,get$_startIndex,2664,_endIndex,2665,get$_endIndex,2665,_genericClosure,2666,offset,2667,get$offset,2667,substring$2,2668,startsWith$1,2669,matchAsPrefix$2,2670,pattern,2671,downloads,2672,chromedriver,2673,url,1673,_readFinal$0,2674,_name,2675,_initializer,2676,_value,2677,__late_helper$_name,2678,_0,2679,_1,2680,map$1$1,2681,_source,2682,get$_source,2682,first,2683,get$first,2683,forEach$1,2684,_getMap$0,2685,_first,2686,_modifications,2687,hashMapCellKey,2688,hashMapCellValue,2689,_next,2690,_jsData,2691,keys,2692,get$keys,2692,_map,2693,_cell,2694,__js_helper$_current,2695,set$__js_helper$_current,2695,__js_helper$_length,2696,_strings,2697,_nums,2698,internalGet$1,2699,__js_helper$_rest,2700,internalComputeHashCode$1,2701,internalFindBucketIndex$2,2702,hashCode,2703,get$hashCode,2703,__internal$_name,2704,_last,2705,_newHashTable$0,2706,_addHashTableEntry$3,2707,internalSet$2,2708,_newLinkedCell$2,2709,values,2710,get$values,2710,entries,2477,get$entries,2477,key,2711,_outerHelper,2712,_suspendedBodies,2713,_body,2714,_nestedIterator,2715,set$_nestedIterator,2715,_async$_current,2716,set$_async$_current,2716,_resumeBody$2,2717,_datum,2718,_yieldStar$1,2719,cast$2$0,2720,_values,2721,_elements,2722,__js_helper$_index,2723,_keys,2724,get$_keys,2724,_jsIndex,2725,containsKey$1,2726,_skipCount,2727,_computeKeys$0,2728,_collection$_keys,2729,_collection$_length,2730,_collection$_strings,2731,_collection$_nums,2732,_collection$_rest,2733,_get$1,2734,_getBucket$2,2735,_findBucketIndex$2,2736,_computeHashCode$1,2737,_collection$_map,2738,_offset,2739,_collection$_current,2740,set$_collection$_current,2740,_core$_value,2741,isUtc,2742,_collection$_addHashTableEntry$3,2743,_set$2,2744,_containsKey$1,2745,addAll$1,2746,_addAllFromArray$1,2747,trim$0,2748,run$2$echoOutput,2481,exitCode,2749,get$exitCode,2749,start$7$environment$includeParentEnvironment$mode$pipe$runInShell$workingDirectory,2493,pid,2750,get$pid,2750,_stdout,2751,bind$1,1789,listen$1,2752,_stderr,2753,cancel$0,2754,_allowMalformed,2755,_mode,2756,count,2757,_completeError,2637,get$_completeError,2637,listen$4$cancelOnError$onDone$onError,2752,_controller,2758,_subscribe$4,2759,_pendingEvents,2760,get$_pendingEvents,2760,_varData,2761,varData,2762,addSubscription,2763,resume$0,2764,_setPendingEvents$1,2765,_guardCallback$1,2766,_cancel$0,2767,_cancelFuture,2768,_pending,2769,set$_pending,2769,_onCancel$0,2770,_recordCancel$1,2771,onCancel,2772,set$onCancel,2772,whenComplete$1,2773,_doneFuture,2774,addStreamFuture,2775,_onDone,2776,_onError,2777,get$_onError,2777,_onData,2778,_checkState$1,2779,lastPendingEvent,2780,_onPause$0,2781,_onResume$0,2782,schedule$1,2783,onResume,2784,pause$0,2785,onPause,2786,_onPause,2781,get$_onPause,2781,firstPendingEvent,2787,perform$1,2788,onListen,2789,set$onListen,2789,_onResume,2782,get$_onResume,2782,_complete$1,2790,_jsProcess,2791,noSuchMethod$1,2792,argumentCount,2793,names,2794,_typeArgumentCount,2795,_namedArgumentNames,2796,__js_helper$_kind,2797,_memberName,2798,comma,2799,_core$_arguments,2800,_namedArguments,2801,_core$_receiver,2802,_core$_memberName,2803,memberName,2804,get$memberName,2804,positionalArguments,2805,get$positionalArguments,2805,namedArguments,2806,get$namedArguments,2806,___SinkTransformerStreamSubscription__transformerSink_A,2807,set$___SinkTransformerStreamSubscription__transformerSink_A,2807,_sinkMapper,2808,_subscription,2809,get$_subscription,2809,set$_subscription,2809,_stream,2810,_handleData,2811,get$_handleData,2811,_handleDone,2812,get$_handleDone,2812,_handleError,2813,get$_handleError,2813,listen$3$onDone$onError,2752,_sink,2814,close$0,2528,_sendDone$0,2815,_addPending$1,2816,_sendError$2,2817,runBinaryGuarded$2$3,2818,runUnaryGuarded$1$2,2819,addError$2,2820,_sendData$1,2821,_convert$_sink,2822,addSlice$4,2823,_skipLeadingLF,2824,_addLines$4,2825,_carry,2826,_useCarry$2,2827,_multiCarry,2828,_eventSink,2829,startChunkedConversion$1,2830,_chunkedSink,2831,asUtf8Sink$1,2832,_charOrIndex,2833,_convert$_state,2834,allowMalformed,2835,_buffer,2836,_decoder,2837,convertGeneral$4,2838,_convertRecursive$4,2839,_tdivFast$1,2840,decodeGeneral$4,2841,_tdivSlow$1,2842,flush$1,2843,sublist$1,2651,_init$0,2844,_activeProcesses,2845,_stdinSink,2846,_stdinSub,2847,set$_stdinSub,2847,_stdin,2848,executable,2849,getRange$2,2850,stdin,2851,_isBound,2852,_isClosed,2853,_controllerInstance,2854,set$_controllerInstance,2854,_closeTarget$0,2855,_doneCompleter,2856,_target,2857,_async$_target,2858,_completeDoneValue,2859,get$_completeDoneValue,2859,_completeDoneError,2860,get$_completeDoneError,2860,_hasError,2861,_io$_controller,2862,get$_io$_controller,2862,_badEventState$0,2863,_addError$2,2864,_ensurePendingEvents$0,2865,_controllerCompleter,2866,addStream$1,2867,_completeDoneError$2,2860,_add,2868,get$_add,2868,_close,2869,get$_close,2869,_addError,2864,get$_addError,2864,_add$1,2868,_encoding,2870,_ensureDoneFuture$0,2871,complete$0,2603,addError$1,2820,_close$0,2869,close,2528,get$close,2528,_successTearDowns,2872,_errorTearDowns,2873,remaining,2874,_readLocal$0,2875,_handleUncaughtError,2876,get$_handleUncaughtError,2876,_registerCallback,2877,get$_registerCallback,2877,_registerUnaryCallback,2878,get$_registerUnaryCallback,2878,_registerBinaryCallback,2879,get$_registerBinaryCallback,2879,_errorCallback,2880,get$_errorCallback,2880,fork,2881,get$fork,2881,print,2882,createPeriodicTimer,2883,createTimer,2884,scheduleMicrotask,315,get$scheduleMicrotask,315,registerBinaryCallback,2587,get$registerBinaryCallback,2587,registerUnaryCallback,2609,get$registerUnaryCallback,2609,registerCallback,2646,get$registerCallback,2646,runBinary,2635,get$runBinary,2635,runUnary,2636,get$runUnary,2636,run,2481,get$run,2481,handleUncaughtError,2624,get$handleUncaughtError,2624,_jsWeakMap,2885,errorCallback$3,2611,_currentTrace$1,2886,_currentNode,2887,set$_currentNode,2887,toChain$0,2888,_chains,2889,frames,2890,get$frames,2890,fold$1$2,2891,join$0,2652,location,2892,get$location,2892,padRight$1,2893,member,2894,get$member,2894,previous,2895,traces,2896,get$traces,2896,toTrace$0,2897,_lazy_trace$_trace,2898,get$_lazy_trace$_trace,2898,__LazyTrace__trace_FI,2899,_thunk,2900,_currentExpansion,2901,set$_currentExpansion,2901,contains$1,2902,endsWith$1,2903,library,2904,get$library,2904,uri,2905,get$uri,2905,scheme,2906,get$scheme,2906,prettyUri$1,2907,style,2908,pathFromUri$1,2909,normalize$1,2910,relative$1,2911,split$1,2912,parts,2913,set$parts,2913,root,2914,insert$2,2915,separators,2916,set$separators,2916,getRoot$1,2917,isRootRelative$1,2918,substring$1,2668,isSeparator$1,2919,rootLength$1,2920,_needsNormalization$1,2921,normalize$0,2910,insertAll$2,2922,separator,2923,get$separator,2923,needsSeparator$1,2924,removeTrailingSeparators$0,2925,removeLast$0,2926,path,2927,get$path,2927,replaceFirst$2,2928,convert$1,2929,_string,2930,allMatches$2,2931,_nativeRegExp,2932,replaceRange$3,2933,_input,2934,_execGlobal$2,2935,_match,2936,_nativeGlobalVersion,2937,get$_nativeGlobalVersion,2937,_nativeGlobalRegExp,2938,indexOf$2,2939,relativeRootPattern,2940,rootPattern,2941,needsSeparatorPattern,2942,separatorPattern,2943,_execAnchored$2,2944,_nativeAnchoredVersion,2945,get$_nativeAnchoredVersion,2945,_nativeAnchoredRegExp,2946,_re,2947,__js_helper$_string,2948,__js_helper$_start,2949,_nextIndex,2950,_regExp,2951,toList$0,2661,setRange$3,2659,startsWith$2,2669,_context$_current,2952,absolute$1,2953,pathsEqual$2,2954,removeAt$1,2955,codeUnitsEqual$2,2956,join$16,2652,joinAll$1,2957,rootLength$2$withDrive,2920,containsSeparator$1,2958,resolve$1,2959,toFilePath$0,2960,_host,2961,hasAuthority,2962,get$hasAuthority,2962,_userInfo,2963,userInfo,2964,get$userInfo,2964,port,2965,get$port,2965,_query,2966,hasQuery,2967,get$hasQuery,2967,query,2968,get$query,2968,_fragment,2969,hasFragment,2970,get$hasFragment,2970,fragment,2971,get$fragment,2971,_fragmentStart,2972,_uri,2973,_queryStart,2974,hasPort,2975,get$hasPort,2975,_portStart,2976,_pathStart,2977,_schemeEnd,2978,_hostStart,2979,_port,2980,_text,2981,get$_text,2981,___Uri__text_FI,2982,pathSegments,2983,get$pathSegments,2983,___Uri_pathSegments_FI,2984,set$___Uri_pathSegments_FI,2984,codeUnitAt$1,2985,hasAbsolutePath,2986,get$hasAbsolutePath,2986,resolveUri$1,2987,_mergePaths$2,2988,indexOf$1,2939,lastIndexOf$1,2989,lastIndexOf$2,2989,isScheme$1,2990,___Uri_hashCode_FI,2991,_hashCodeCache,2992,_simpleMerge$2,2993,_toNonSimple$0,2994,_isPort$1,2995,_schemeCache,2996,removeFragment$0,2997,_computeScheme$0,2998,_shrReceiverPositive$1,2999,_bufferIndex,3000,_writeSurrogate$2,3001,_fillBuffer$3,3002,_writeReplacementCharacter$0,3003,fillRange$3,3004,_uriCache,3005,_separatorIndices,3006,normalize$3,2910,bufferCache,3007,_encoder,3008,_alphabet,3009,_convert$_add$4,3010,encode$4,3011,createBuffer$1,3012,toRadixString$1,3013,_takeCount,3014,_remaining,3015,firstMatch$1,3016,encode$1,3011,_second,3017,_convert$_first,3018,_subsetMask,3019,allMatches$1,2931,absolute$15,2953,toUri$1,3020,relativePathToUri$1,3021,join$2,2652,absolutePathToUri$1,3022,hasTrailingSeparator,3023,get$hasTrailingSeparator,3023,_defaultSplit$1,3024,_hasSkipped,3025,isEmpty,3026,get$isEmpty,3026,_trimVMChain$1,3027,_delegationTarget,3028,_async$_errorCallback,3029,get$_async$_errorCallback,3029,set$_async$_errorCallback,3029,_parentDelegate,3030,get$_parentDelegate,3030,_processUncaughtError$3,3031,chainFor$1,3032,_stack_zone_specification$_onError,3033,parent,3034,get$parent,3034,_chain,3035,get$_chain,3035,__LazyChain__chain_FI,3036,_lazy_chain$_thunk,3037,toTrace,2897,get$toTrace,2897,_async$_handleUncaughtError,3038,get$_async$_handleUncaughtError,3038,set$_async$_handleUncaughtError,3038,registerBinaryCallback$3$2,2587,_run$1$2,3039,_async$_registerBinaryCallback,3040,get$_async$_registerBinaryCallback,3040,set$_async$_registerBinaryCallback,3040,registerUnaryCallback$2$2,2609,_async$_registerUnaryCallback,3041,get$_async$_registerUnaryCallback,3041,set$_async$_registerUnaryCallback,3041,registerCallback$1$2,2646,_async$_registerCallback,3042,get$_async$_registerCallback,3042,set$_async$_registerCallback,3042,_errorZone,3043,fork$2$specification$zoneValues,2881,_async$_map,3044,get$_async$_map,3044,_async$_run,3045,get$_async$_run,3045,_runUnary,3046,get$_runUnary,3046,_runBinary,3047,get$_runBinary,3047,_createTimer,3048,get$_createTimer,3048,_createPeriodicTimer,3049,get$_createPeriodicTimer,3049,_print,3050,get$_print,3050,_fork,3051,get$_fork,3051,_delegate,3052,get$_delegate,3052,_delegateCache,3053,bindUnaryCallback$2$1,3054,decode$2$reviver,3055,runTearDowns$1,3056,spanFor$3$uri,3057,sourceUrl,3058,get$sourceUrl,3058,_isWithinOrEquals$2,3059,relative$2$from,2911,_isWithinOrEqualsFast$2,3060,_pathDirection$2,3061,targetUrl,3062,sourceRoot,3063,urls,3064,lines,3065,get$lines,3065,_findLine$1,3066,_findColumn$3,3067,sourceUrlId,3068,sourceNameId,3069,_mapUrl,3070,sourceLine,3071,sourceColumn,3072,text,3073,get$text,3073,isIdentifier,3074,distance$1,3075,extensions,3076,files,3077,_lineStart,3078,_columnStart,3079,_maps,3080,_indexFor$2,3081,spanFor$3$files,3057,index,3082,nextKind,3083,get$nextKind,3083,isNewLine,3084,isNewSegment,3085,_segmentError$2,3086,isEof,3087,_internal,3088,_parser$_length,3089,_cachedLine,3090,_decodedChars,3091,_lineStarts,3092,_shlPositive$1,3093,hasTokens,3094,get$hasTokens,3094,cast$1$0,2720,decoder,3095,get$decoder,3095,_reviver,3096,_processed,3097,_data,3098,_convert$_computeKeys$0,3099,_original,3100,_parent,3101,_process$1,3102,_stringSink,3103,code,3104,__,3105,get$__,3105,toString,2444,get$toString,2444,noSuchMethod,2792,get$noSuchMethod,2792,checkMutable$1,3106,checkGrowable$1,3107,cast,2720,get$cast,2720,add,2554,get$add,2554,removeAt,2955,get$removeAt,2955,insert,2915,get$insert,2915,insertAll,2922,get$insertAll,2922,setAll$2,3108,removeLast,2926,get$removeLast,2926,where$1,3109,expand$1$1,3110,addAll,2746,get$addAll,2746,_addAllFromArray,2747,get$_addAllFromArray,2747,clear$0,3111,_clear$0,3112,map,2681,get$map,2681,join,2652,get$join,2652,take$1,3113,skip,2660,get$skip,2660,skipWhile$1,2508,elementAt,2570,get$elementAt,2570,sublist,2651,get$sublist,2651,getRange,2850,get$getRange,2850,setRange,2659,get$setRange,2659,every$1,3114,contains,2902,get$contains,2902,isNotEmpty,3115,get$isNotEmpty,3115,toList,2661,get$toList,2661,_toListGrowable$0,3116,_toListFixed$0,3117,_setLengthUnsafe$1,3118,__0,3119,get$__0,3119,___,3120,get$___,3120,whereType$1$0,3121,moveNext,2560,get$moveNext,2560,compareTo,2653,get$compareTo,2653,isNaN,3122,get$isNaN,3122,isFinite,3123,get$isFinite,3123,remainder$1,3124,abs$0,3125,toRadixString,3013,get$toRadixString,3013,_,3126,get$_,3126,_isInt32$1,3127,__1,3128,get$__1,3128,_tdivFast,2840,get$_tdivFast,2840,_tdivSlow,2842,get$_tdivSlow,2842,_shlPositive,3093,get$_shlPositive,3093,_shrOtherPositive,2594,get$_shrOtherPositive,2594,_shrReceiverPositive,2999,get$_shrReceiverPositive,2999,_shrBothPositive,2602,get$_shrBothPositive,2602,isOdd,3129,get$isOdd,3129,codeUnitAt,2985,get$codeUnitAt,2985,_codeUnitAt$1,3130,allMatches,2931,get$allMatches,2931,matchAsPrefix,2670,get$matchAsPrefix,2670,_2,3131,get$_2,3131,endsWith,2903,get$endsWith,2903,replaceAll$2,3132,replaceAllMapped$2,3133,splitMapJoin$2$onMatch,3134,replaceFirst,2928,get$replaceFirst,2928,split,2912,get$split,2912,replaceRange,2933,get$replaceRange,2933,_defaultSplit,3024,get$_defaultSplit,3024,startsWith,2669,get$startsWith,2669,substring,2668,get$substring,2668,toLowerCase$0,3135,toUpperCase$0,3136,trim,2748,get$trim,2748,_3,3137,get$_3,3137,padLeft,2621,get$padLeft,2621,padRight,2893,get$padRight,2893,codeUnits,3138,get$codeUnits,3138,indexOf,2939,get$indexOf,2939,lastIndexOf,2989,get$lastIndexOf,2989,containsKey,2726,get$containsKey,2726,forEach,2684,get$forEach,2684,_captured_this_0,3139,_captured_f_1,3140,id,3141,fold,2891,get$fold,2891,$$1,3142,get$$$1,3142,$$2,3143,get$$$2,3143,_setKeys$1,3144,_getMap,2685,get$_getMap,2685,_types,3145,get$_types,3145,isGetter,3146,get$isGetter,3146,isAccessor,3147,get$isAccessor,3147,_internalName,3148,_captured_namedArgumentList_1,3149,_captured_arguments_2,3150,matchTypeError,2595,get$matchTypeError,2595,$call,2519,get$$call,2519,__js_helper$_name,3151,get$__js_helper$_name,3151,__js_helper$_target,3152,get$__js_helper$_target,3152,internalContainsKey$1,3153,internalGet,2699,get$internalGet,2699,internalSet,2708,get$internalSet,2708,_addHashTableEntry,2707,get$_addHashTableEntry,2707,_modified$0,3154,_newLinkedCell,2709,get$_newLinkedCell,2709,internalComputeHashCode,2701,get$internalComputeHashCode,2701,__js_helper$_getBucket$2,3155,internalFindBucketIndex,2702,get$internalFindBucketIndex,2702,_getTableCell$2,3156,_getTableBucket$2,3157,_setTableEntry$3,3158,_deleteTableEntry$2,3159,_containsTableEntry$2,3160,_newHashTable,2706,get$_newHashTable,2706,__js_helper$_captured_this_0,3161,_previous,3162,_captured_getTag_0,3163,_captured_getUnknownTag_0,3164,_captured_prototypeForTag_0,3165,_shapeTag,3166,get$_shapeTag,3166,_sameShape$1,3167,_getRti$0,3168,_toString,2551,get$_toString,2551,_fieldKeys,2552,get$_fieldKeys,2552,_computeFieldKeys,2555,get$_computeFieldKeys,2555,_getFieldValues,2553,get$_getFieldValues,2553,_equalFields$1,3169,_isMultiLine,3170,get$_isMultiLine,3170,_isCaseSensitive,3171,get$_isCaseSensitive,3171,_isUnicode,3172,get$_isUnicode,3172,_isDotAll,3173,get$_isDotAll,3173,firstMatch,3016,get$firstMatch,3016,hasMatch$1,3174,_execGlobal,2935,get$_execGlobal,2935,_execAnchored,2944,get$_execAnchored,2944,isUnicode,3175,get$isUnicode,3175,group$1,3176,input,3177,readLocal$1$0,3178,_readLocal,2875,get$_readLocal,2875,readFinal$1$0,3179,_readFinal,2674,get$_readFinal,2674,asUint8List$2,3180,buffer,3181,get$buffer,3181,offsetInBytes,3182,get$offsetInBytes,3182,_invalidPosition$3,3183,_checkPosition$3,3184,_setRangeFast$4,3185,_eval,2559,get$_eval,2559,_bind,2588,get$_bind,2588,_dynamicCheckData,3186,_async$_box_0,3187,_captured_div_1,3188,_captured_span_2,3189,_captured_callback_0,3190,_once,3191,_handle,3192,_async$_captured_this_0,3193,_captured_callback_1,3194,_captured_milliseconds_1,3195,_captured_start_2,3196,_captured_callback_3,3197,complete,2603,get$complete,2603,completeError,2589,get$completeError,2589,isCompleted,3198,get$isCompleted,3198,_captured_bodyFunction_0,3199,_captured_protected_0,3200,_resumeBody,2717,get$_resumeBody,2717,_yieldStar,2719,get$_yieldStar,2719,_modelGeneratedCode$0,3201,_captured_cleanUp_1,3202,_captured_eagerError_2,3203,_captured__future_3,3204,_captured_error_4,3205,_captured_stackTrace_5,3206,_captured_pos_1,3207,_captured__future_2,3208,_captured_cleanUp_3,3209,_captured_eagerError_4,3210,_captured_error_5,3211,_captured_stackTrace_6,3212,_captured_T_7,3213,_captured_completer_0,3214,_captured_T_1,3215,handlesValue,3216,get$handlesValue,3216,handlesError,3217,get$handlesError,3217,hasErrorTest,3218,get$hasErrorTest,3218,handlesComplete,3219,get$handlesComplete,3219,_onValue,3220,get$_onValue,3220,_errorTest,3221,get$_errorTest,3221,_whenCompleteAction,3222,get$_whenCompleteAction,3222,hasErrorCallback,3223,get$hasErrorCallback,3223,handleValue$1,3224,matchesErrorTest,2632,get$matchesErrorTest,2632,handleError,2633,get$handleError,2633,handleWhenComplete$0,3225,shouldChain$1,3226,_mayComplete,3227,get$_mayComplete,3227,_isPendingComplete,3228,get$_isPendingComplete,3228,_mayAddListener,3229,get$_mayAddListener,3229,_isChained,3230,get$_isChained,3230,_isComplete,3231,get$_isComplete,3231,_async$_hasError,3232,get$_async$_hasError,3232,_ignoreError,3233,get$_ignoreError,3233,_setChained,2629,get$_setChained,2629,then,2605,get$then,2605,_thenAwait,2604,get$_thenAwait,2604,_ignore$0,3234,whenComplete,2773,get$whenComplete,2773,_setPendingComplete$0,3235,_clearPendingComplete$0,3236,_error,3237,get$_error,3237,_chainSource,3238,get$_chainSource,3238,_setValue$1,3239,_setErrorObject,2639,get$_setErrorObject,2639,_setError$2,3240,_cloneResult,2614,get$_cloneResult,2614,_addListener,2610,get$_addListener,2610,_prependListeners,2630,get$_prependListeners,2630,_removeListeners,2628,get$_removeListeners,2628,_reverseListeners,2627,get$_reverseListeners,2627,_chainForeignFuture,2643,get$_chainForeignFuture,2643,_complete,2790,get$_complete,2790,_completeWithValue,2642,get$_completeWithValue,2642,_asyncComplete,2640,get$_asyncComplete,2640,_asyncCompleteWithValue,2648,get$_asyncCompleteWithValue,2648,_chainFuture,2641,get$_chainFuture,2641,_asyncCompleteError,2638,get$_asyncCompleteError,2638,_captured_listener_1,3241,_captured_this_1,3242,_captured_e_1,3243,_captured_s_2,3244,_captured_target_1,3245,_captured_value_1,3246,_captured_error_1,3247,_captured_stackTrace_2,3248,_captured_hasError_2,3249,_captured_originalSource_0,3250,_captured_sourceResult_1,3251,transform$1$1,3252,_captured_future_1,3253,stream,3254,get$stream,3254,sink,3255,get$sink,3255,_isCanceled,3256,get$_isCanceled,3256,hasListener,3257,get$hasListener,3257,_isInitialState,3258,get$_isInitialState,3258,isClosed,3259,get$isClosed,3259,isPaused,3260,get$isPaused,3260,_isAddingStream,3261,get$_isAddingStream,3261,_mayAddEvent,3262,get$_mayAddEvent,3262,_ensurePendingEvents,2865,get$_ensurePendingEvents,2865,_badEventState,2863,get$_badEventState,2863,addStream,2867,get$addStream,2867,done,3263,get$done,3263,_ensureDoneFuture,2871,get$_ensureDoneFuture,2871,addError,2820,get$addError,2820,_closeUnchecked$0,3264,_subscribe,2759,get$_subscribe,2759,_recordCancel,2771,get$_recordCancel,2771,_recordPause$1,3265,_recordResume$1,3266,_sendData,2821,get$_sendData,2821,_sendError,2817,get$_sendError,2817,_sendDone,2815,get$_sendDone,2815,_createSubscription$4,3267,_onCancel,2770,get$_onCancel,2770,cancel,2754,get$cancel,2754,_setPendingEvents,2765,get$_setPendingEvents,2765,pause,2785,get$pause,2785,resume,2764,get$resume,2764,_isInputPaused,3268,get$_isInputPaused,3268,_async$_isClosed,3269,get$_async$_isClosed,3269,_waitsForCancel,3270,get$_waitsForCancel,3270,_inCallback,3271,get$_inCallback,3271,_hasPending,3272,get$_hasPending,3272,_isPaused,3273,get$_isPaused,3273,_canFire,3274,get$_canFire,3274,_mayResumeInput,3275,get$_mayResumeInput,3275,_cancelOnError,3276,get$_cancelOnError,3276,_cancel,2767,get$_cancel,2767,_decrementPauseCount$0,3277,_addPending,2816,get$_addPending,2816,_guardCallback,2766,get$_guardCallback,2766,_checkState,2779,get$_checkState,2779,listen,2752,get$listen,2752,_onListen$1,3278,perform,2788,get$perform,2788,isScheduled,3279,get$isScheduled,3279,_eventScheduled,3280,get$_eventScheduled,3280,schedule,2783,get$schedule,2783,cancelSchedule$0,3281,handleNext$1,3282,_captured_dispatch_1,3283,_stateData,3284,_async$_hasValue,3285,_transformerSink,3286,get$_transformerSink,3286,set$_transformerSink,3286,_handleData$1,2811,_handleError$2,2813,_handleDone$0,2812,handleUncaughtError$3,2624,inSameErrorZone$1,3287,_processUncaughtError,3031,get$_processUncaughtError,3031,runGuarded,2618,get$runGuarded,2618,runUnaryGuarded,2819,get$runUnaryGuarded,2819,runBinaryGuarded,2818,get$runBinaryGuarded,2818,bindCallback,2617,get$bindCallback,2617,bindUnaryCallback,3054,get$bindUnaryCallback,3054,bindCallbackGuarded,2616,get$bindCallbackGuarded,2616,print$1,2882,_captured_registered_1,3288,_captured_R_2,3289,_captured_T_2,3290,_captured_R_3,3291,_captured_error_0,3292,_captured_stackTrace_1,3293,_async$_captured_f_1,3294,_containsKey,2745,get$_containsKey,2745,_get,2734,get$_get,2734,_set,2744,get$_set,2744,_computeKeys,2728,get$_computeKeys,2728,_collection$_addHashTableEntry,2743,get$_collection$_addHashTableEntry,2743,_computeHashCode,2737,get$_computeHashCode,2737,_getBucket,2735,get$_getBucket,2735,_findBucketIndex,2736,get$_findBucketIndex,2736,_collection$_captured_this_0,3295,_captured_result_0,3296,_captured_K_1,3297,_captured_V_2,3298,_closeGap$2,3299,fillRange,3004,get$fillRange,3004,_collection$_box_0,3300,_captured_result_1,3301,_isUpgraded,3302,get$_isUpgraded,3302,_upgradedMap,3303,get$_upgradedMap,3303,_convert$_computeKeys,3099,get$_convert$_computeKeys,3099,_upgrade$0,3304,_process,3102,get$_process,3102,_convert$_captured_this_0,3305,encode,3011,get$encode,3011,decode$1,3055,encoder,3306,get$encoder,3306,_allowInvalid,3307,convert,2929,get$convert,2929,startChunkedConversion,2830,get$startChunkedConversion,2830,addSlice,2823,get$addSlice,2823,normalize,2910,get$normalize,2910,_urlSafe,3308,createBuffer,3012,get$createBuffer,3012,_convert$_add,3010,get$_convert$_add,3010,fuse$1$1,3309,bind,1789,get$bind,1789,decode,3055,get$decode,3055,_toEncodable,3310,_addLines,2825,get$_addLines,2825,_addCarry$2,3311,_useCarry,2827,get$_useCarry,2827,asUtf8Sink,2832,get$asUtf8Sink,2832,asStringSink$0,3312,_writeReplacementCharacter,3003,get$_writeReplacementCharacter,3003,_writeSurrogate,3001,get$_writeSurrogate,3001,_fillBuffer,3002,get$_fillBuffer,3002,convertSingle$3,3313,convertChunked$3,3314,convertGeneral,2838,get$convertGeneral,2838,_convertRecursive,2839,get$_convertRecursive,2839,flush,2843,get$flush,2843,decodeGeneral,2841,get$decodeGeneral,2841,_core$_box_0,3315,_captured_sb_1,3316,millisecondsSinceEpoch,3317,get$millisecondsSinceEpoch,3317,year,3318,get$year,3318,month,3319,get$month,3319,day,3320,get$day,3320,hour,3321,get$hour,3321,minute,3322,get$minute,3322,second,3323,get$second,3323,millisecond,3324,get$millisecond,3324,microsecond,3325,get$microsecond,3325,inMilliseconds,3326,get$inMilliseconds,3326,inMicroseconds,3327,get$inMicroseconds,3327,_duration,3328,indexable,3329,_existingArgumentNames,3330,skipWhile,2508,get$skipWhile,2508,write$1,3331,writeCharCode$1,3332,writeAll$2,3333,writeln$1,3334,_writeString$1,3335,_captured_host_0,3336,_core$_captured_error_0,3337,_captured_host_1,3338,isScheme,2990,get$isScheme,2990,_mergePaths,2988,get$_mergePaths,2988,resolve,2959,get$resolve,2959,resolveUri,2987,get$resolveUri,2987,hasScheme,3339,get$hasScheme,3339,hasEmptyPath,3340,get$hasEmptyPath,3340,toFilePath,2960,get$toFilePath,2960,_toFilePath$0,3341,_writeAuthority$1,3342,_initializeText$0,3343,___Uri_queryParameters_FI,3344,___Uri_queryParametersAll_FI,3345,_computeUri$0,3346,_captured_tables_0,3347,_isFile,3348,get$_isFile,3348,_isHttp,3349,get$_isHttp,3349,_isHttps,3350,get$_isHttps,3350,_isPackage,3351,get$_isPackage,3351,_computeScheme,2998,get$_computeScheme,2998,_isPort,2995,get$_isPort,2995,removeFragment,2997,get$removeFragment,2997,_simpleMerge,2993,get$_simpleMerge,2993,_toNonSimple,2994,get$_toNonSimple,2994,_core$_data,3352,_closeTarget,2855,get$_closeTarget,2855,_completeDoneValue$1,2859,_io$_captured_this_0,3353,_encodingMutable,3354,errorCode,3355,_captured__convertedObjects_0,3356,_js_util$_captured_completer_0,3357,_js_util$_captured_T_1,3358,_captured_mainFn_0,3359,onExit$1,3360,runTearDowns,3056,get$runTearDowns,3056,_enumToString,2657,get$_enumToString,2657,_captured_version_0,3361,_captured_patchVersion_0,3362,revision,3363,_captured_platform_0,3364,chrome,3365,_captured__0_0_0,3366,_captured__0_4_0,3367,_captured__0_1_0,3368,_captured_controller_0,3369,_captured__this_0,3370,_captured_onData_1,3371,_captured_onDone_2,3372,_captured_onError_3,3373,_child_process$_captured_completer_0,3374,_child_process$_captured_T_1,3375,_captured_echoOutput_0,3376,_captured_stdout_1,3377,_captured_stderr_1,3378,_init,2844,get$_init,2844,kill$0,3379,_process_manager$_box_0,3380,_process_manager$_captured_this_0,3381,_stream$_captured_controller_0,3382,_stream$_captured_T_1,3383,_captured_closeWhenDone_0,3384,_captured_controller_1,3385,_captured_completer_2,3386,absolute,2953,get$absolute,2953,isAbsolute$1,3387,isRelative$1,3388,joinAll,2957,get$joinAll,2957,_needsNormalization,2921,get$_needsNormalization,2921,relative,2911,get$relative,2911,isWithin$2,3389,_isWithinOrEquals,3059,get$_isWithinOrEquals,3059,_isWithinOrEqualsFast,3060,get$_isWithinOrEqualsFast,3060,_pathDirection,3061,get$_pathDirection,3061,fromUri$1,1589,toUri,3020,get$toUri,3020,prettyUri,2907,get$prettyUri,2907,_parse$1,3390,getRoot,2917,get$getRoot,2917,relativePathToUri,3021,get$relativePathToUri,3021,codeUnitsEqual,2956,get$codeUnitsEqual,2956,pathsEqual,2954,get$pathsEqual,2954,canonicalizePart$1,3391,isAbsolute,3387,get$isAbsolute,3387,removeTrailingSeparators,2925,get$removeTrailingSeparators,2925,isRootRelative,2918,get$isRootRelative,2918,context,1669,get$context,1669,containsSeparator,2958,get$containsSeparator,2958,isSeparator,2919,get$isSeparator,2919,needsSeparator,2924,get$needsSeparator,2924,rootLength,2920,get$rootLength,2920,pathFromUri,2909,get$pathFromUri,2909,absolutePathToUri,3022,get$absolutePathToUri,3022,_captured_sourceMap_0,3392,_captured_minified_1,3393,_captured_packageMap_2,3394,_captured_sdkRoot_3,3395,_captured_sdkLib_1,3396,_captured_minified_3,3397,_indexFor,3081,get$_indexFor,3081,spanFor$4$files$uri,3057,spanFor,3057,get$spanFor,3057,toJson$0,3398,_segmentError,3086,get$_segmentError,3086,_findLine,3066,get$_findLine,3066,_findColumn,3067,get$_findColumn,3067,_parser$_captured_this_0,3399,_captured_line_0,3400,_captured_column_0,3401,_consumeValue$0,3402,_consumeNewLine$0,3403,_consumeNewSegment$0,3404,isValue,3405,get$isValue,3405,span$2,3406,location$1,2892,getLine$1,3407,_isNearCachedLine$1,3408,_binarySearch$1,3409,getColumn$1,3410,getOffset$2,3411,getText$2,3412,toolString,3413,get$toolString,3413,distance,3075,get$distance,3075,_chain$_captured_callback_0,3414,_chain$_captured_T_1,3415,_captured_longest_0,3416,_captured_frame_0,3417,_disabled,3418,get$_disabled,3418,toSpec$0,3419,chainFor,3032,get$chainFor,3032,_registerCallback$1$4,2877,_registerCallback$4,2877,_registerUnaryCallback$2$4,2878,_registerUnaryCallback$4,2878,_registerBinaryCallback$3$4,2879,_registerBinaryCallback$4,2879,_handleUncaughtError$5,2876,_errorCallback$5,2880,_createNode$1,3420,_run,3039,get$_run,3039,_currentTrace,2886,get$_currentTrace,2886,_trimVMChain,3027,get$_trimVMChain,3027,_stack_zone_specification$_box_0,3421,_stack_zone_specification$_captured_this_0,3422,_captured_original_1,3423,_stack_zone_specification$_captured_f_1,3424,_captured_node_2,3425,_stack_zone_specification$_captured_R_3,3426,_captured_T_3,3427,_captured_R_4,3428,_captured_f_0,3429,_captured_arg_1,3430,_stack_zone_specification$_captured_R_2,3431,_captured_T1_3,3432,_captured_T2_4,3433,_captured_R_5,3434,_captured_arg1_1,3435,_captured_arg2_2,3436,_stack_zone_specification$_captured_stackTrace_1,3437,_captured_level_2,3438,toChain,2888,get$toChain,2888,_captured_trace_0,3439,_trace$_captured_longest_0,3440,isCore,3441,$package,3442,_setup_chromedriver$_captured__0_0_0,3443,_captured_chromeVersion_0,3444,_captured_chromeDriverUrl_0,3445,_captured_chromeVersion_1,3446,FutureExtensions__ignore$1,2377,_rootRun$4,3447,_rootRunUnary$5,3448,_rootRunBinary$6,3449,_rootRegisterCallback$4,3450,_rootRegisterUnaryCallback$4,3451,_rootRegisterBinaryCallback$4,3452,max$2,533,compareComparable$2,552,$indexSet,3453,$index,3454,$add,3455,$mul,3456,$le,3457,$sub,3458,$lt,3459,$eq,3460,$mod,3461,$tdiv,3462,$negate,3463,$div,3464,$shl,3465,$shr,3466,$and,3467,$or,3468,$xor,3469,$gt,3470,$ge,3471,$not,3472" + "global": "wrapMain,472,Closure_fromTearOff,1706,StaticClosure,1707,BoundClosure,1708,Closure_forwardCallTo,1709,Closure__computeSignatureFunctionNewRti,1710,LateError,1711,throwExpressionWithWrapper,64,_asStringQ,203,initializeExceptionWrapper,61,TypeError,1712,toStringWrapper,62,getIsolateAffinityTag,95,Primitives_objectTypeName,1713,Primitives__objectTypeNameNewRti,1714,Object,1715,instanceType,147,_rtiToString,209,_asString,201,_unminifyOrTag,211,_rtiArrayToString,204,_recordRtiToString,205,_functionRtiToString,206,ioore,56,diagnoseIndexError,57,wrapException,60,_isInt,192,ArgumentError,384,_asInt,193,IndexError$withLength,1716,RangeError$value,1717,_asNumQ,199,S,30,Error_safeToString,1718,_isBool,185,Primitives_safeToString,1718,Closure,1719,_Record,1720,_Record__computedFieldKeys,1721,_arrayInstanceType,149,UnsupportedError$,1722,throwExpression,63,UnsupportedError,394,JSArray_JSArray$allocateGrowable,1723,List_List$unmodifiable,1724,List_List$from,1725,JSArray_markUnmodifiableList,1726,JSArray,1727,_setArrayType,143,JSArray_markFixedList,1728,ArrayIterator,1729,throwConcurrentModificationError,65,ConcurrentModificationError$,1722,ConcurrentModificationError,397,ListIterator,1730,ListBase,1731,_checkValidIndex,128,Iterable,1732,ArgumentError$,1722,_asBool,186,RangeError,387,IndexError,1733,unminifyOrTag,28,Iterable_iterableToFullString,1734,isToStringVisiting,18,StringBuffer,1735,toStringVisiting,1736,StringBuffer__writeAll,1737,initNativeDispatchFlag,1738,initNativeDispatch,102,UnimplementedError$,1722,_JS_INTEROP_INTERCEPTOR_TAG,1739,lookupAndCacheInterceptor,97,getTagFunction,1740,dispatchRecordsForInstanceTags,1741,interceptorsForUncacheableTags,1742,alternateTagFunction,1743,makeLeafDispatchRecord,100,patchInteriorProto,99,makeDispatchRecord,0,JavaScriptIndexingBehavior,1744,UnimplementedError,395,initNativeDispatchContinue,103,initHooks,105,prototypeForTagFunction,1745,makeDefaultDispatchRecord,101,applyHooksTransformer,106,initHooks_closure,1746,initHooks_closure0,1746,initHooks_closure1,1746,_CyclicInitializationError,1747,_TypeError__TypeError$forType,1748,_TypeError,1749,_Error_compose,1750,_structuralTypeOf,156,evaluateRtiForRecord,162,closureFunctionType,144,createRuntimeType,158,_createRuntimeType,160,_Type,161,_Universe_eval,1751,_Parser_create,1752,_Parser_parse,1423,_Parser_handleDigit,1753,_Parser_handleIdentifier,1754,_Parser_toType,1755,_Universe__lookupGenericFunctionParameterRti,1756,_Universe__lookupTerminalRti,1757,_Parser_handleTypeArguments,1758,_Parser_handleExtendedOperations,1759,_Universe__lookupStarRti,1760,_Universe__lookupQuestionRti,1761,_Universe__lookupFutureOrRti,1762,_Parser_handleArguments,1763,_Parser_toTypes,1764,_Parser_toTypesNamed,1765,_Parser_collectArray,1766,_FunctionParameters,1767,_Universe__lookupFunctionRti,1768,_Universe__lookupRecordRti,1769,AssertionError$,1722,AssertionError,383,_Universe__canonicalRecipeJoin,1770,Rti,1771,_Universe__installTypeTests,1772,_installSpecializedAsCheck,166,_installSpecializedIsTest,164,_Universe__canonicalRecipeJoinNamed,1773,_Universe__createFutureOrRti,1774,Future,1775,isStrongTopType,273,_Universe__lookupInterfaceRti,1776,_Universe__createQuestionRti,1777,isNullable,272,Rti__getQuestionFromStar,1778,_Universe__createStarRti,1779,_Universe__lookupGenericFunctionRti,1780,_Universe__lookupBindingRti,1781,_Universe__createGenericFunctionRti,1782,_Utils_newArrayOrEmpty,1783,_substitute,138,_substituteArray,139,_substituteFunctionParameters,141,_substituteNamed,140,_Parser_indexToType,1784,_Universe_findRule,1785,Rti__getCanonicalRecipe,1786,_Universe_evalInEnvironment,1787,getRuntimeTypeOfDartObject,154,_instanceType,150,_instanceTypeFromConstructor,151,_instanceTypeFromConstructorMiss,152,_Universe_findErasedType,1788,getTypeFromTypesTable,153,_Universe_bind,1789,_failedAsCheck,174,_TypeError$fromMessage,1790,_generalAsCheckImplementation,172,_asTop,183,_asObject,181,_generalNullableAsCheckImplementation,173,_nullIs,167,instanceOrFunctionType,145,isSubtype,266,Rti__getIsSubtypeCache,1791,_isSubtype,267,Rti__getFutureFromFutureOr,1792,_isFunctionSubtype,268,_isInterfaceSubtype,269,_isRecordSubtype,271,_areArgumentsSubtypes,270,Rti__isUnionOfFunctionType,1793,List,1794,_isObject,180,_finishIsFn,165,_isTop,182,_generalNullableIsTestImplementation,169,_isNever,184,_isFutureOr,179,_isNum,196,_isString,200,isTopType,207,_isListTestViaProperty,171,_isTestViaProperty,170,createRecordTypePredicate,107,_generalIsTestImplementation,168,BoundClosure_evalRecipe,1795,Closure_forwardInterceptedCallTo,1796,Closure_cspForwardCall,1797,BoundClosure_receiverOf,1798,BoundClosure__interceptorFieldNameCache,1799,BoundClosure__computeFieldNamed,1800,BoundClosure__receiverFieldNameCache,1801,Closure_cspForwardInterceptedCall,1802,BoundClosure_interceptorOf,1803,RuntimeError,1804,_installChromedriver_closure,1805,Core_withGroup,535,ToolCache_find,538,_installChromedriver_closure0,1805,_installChromedriver_closure1,1805,_installChromedriver,531,_asyncStartSync,285,_asyncAwait,286,_asyncReturn,287,_asyncRethrow,288,_wrapJsFunctionForAsync,290,_makeAsyncAwaitCompleter,283,_Future,1806,Zone__current,1807,_wrapJsFunctionForAsync_closure,1808,checkNotNullable,17,_StreamIterator,1809,StreamSubscription,1810,unwrapException,70,getTraceFromException,73,ExceptionAndStackTrace,1811,_StackTrace,1812,NullThrownFromJavaScriptException,1813,saveStackTrace,71,_unwrapNonDartException,72,JsNoSuchMethodError$,1722,NullError,1814,UnknownJsTypeError,1815,StackOverflowError,1816,TypeErrorDecoder_extractPattern,1817,quoteStringForRegExp,112,TypeErrorDecoder,1818,TypeErrorDecoder_provokePropertyErrorOn,1819,TypeErrorDecoder_provokeCallErrorOn,1820,JsNoSuchMethodError,69,_awaitOnObject,289,_awaitOnObject_closure,1821,_awaitOnObject_closure0,1821,ArgumentError$value,1717,_registerErrorHandler,310,_FutureListener,1822,_Future__addListener_closure,1823,_rootScheduleMicrotask,331,_scheduleAsyncCallback,313,_RootZone_bindCallback_closure,1117,_rootRun,324,_RootZone_bindCallbackGuarded_closure,1824,_rootHandleError,323,_rootHandleError_closure,1825,_schedulePriorityAsyncCallback,314,_nextCallback,1826,_lastPriorityCallback,1827,_lastCallback,1828,_AsyncCallbackEntry,1829,Error_throwWithStackTrace,1830,Error__throw,1831,_isInCallbackLoop,1832,_microtaskLoop,311,_AsyncRun__initializeScheduleImmediate,1833,_AsyncRun__initializeScheduleImmediate_internalCallback,1834,convertDartClosureToJS,78,_AsyncRun__initializeScheduleImmediate_closure,1835,Timer__createTimer,1836,_TimerImpl$,1722,_asIntQ,195,_TimerImpl,281,_TimerImpl_internalCallback,1837,_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback,1838,_AsyncRun__scheduleImmediateJsOverride_internalCallback,1839,convertDartClosureToJSUncached,79,_invokeClosure,77,Exception_Exception,1722,_Exception,1840,_Future__propagateToListeners,1841,_Future__propagateToListeners_handleWhenCompleteCallback,1842,_Future__propagateToListeners_handleValueCallback,1843,_Future__propagateToListeners_handleError,1844,_Future__chainCoreFutureSync,1845,_Future__prependListeners_closure,1846,AsyncError$,1722,AsyncError,292,AsyncError_defaultStackTrace,1847,_rootRunUnary,325,_rootRunBinary,326,_Future__propagateToListeners_handleWhenCompleteCallback_closure,1848,_AsyncAwaitCompleter,1849,_Future__asyncCompleteError_closure,1850,_Future__chainCoreFutureAsync,1851,_Future__chainForeignFuture_closure,1852,_Future__chainForeignFuture_closure0,1852,_Future__chainForeignFuture_closure1,1852,scheduleMicrotask,315,get$scheduleMicrotask,315,_Future__chainCoreFutureAsync_closure,1853,_Future__asyncCompleteWithValue_closure,1854,ToolCache_downloadTool,539,ToolCache_extractZip,540,ToolCache_cacheDir,541,promiseToFuture,468,_AsyncCompleter,1855,promiseToFuture_closure,1856,promiseToFuture_closure0,1856,StateError$,1722,StateError,396,NullRejectionException,1857,HttpClient_getJson,537,_$AllChromeDownloadsFromJson,474,Process_get_platform,542,Process_get_arch,543,ChromePlatform_fromOsArch,1858,AllChromeDownloads_chromeDriverUrl_closure,1859,IterableExtension_firstWhereOrNull,1860,WhereIterable,1861,bool,1862,AllChromeDownloads_chromeDriverUrl_closure0,1859,List_List$of,1863,AllChromeDownloads_chromeDriverUrl_closure1,1859,instantiate1,26,mergeSortBy,546,IterableExtension_get_lastOrNull,1864,Comparable,1865,checkTypeBound,175,_asNum,197,Iterable_iterableToShortString,1866,_iterablePartsToStrings,402,RangeError_checkNotNegative,1867,RangeError$range,1868,WhereIterator,1869,boolConversionCheck,92,assertThrow,93,_AssertionError,1870,Iterator,1871,IterableElementError_noElement,1872,RangeError_checkValidRange,1873,_movingInsertionSort,547,List_List$filled,1874,_mergeSort,548,_merge,549,IterableElementError_tooFew,1875,SubListIterable$,1722,ListIterable,1876,JSArray_JSArray$fixed,1877,JSArray_JSArray$markFixed,1878,SubListIterable,19,JSArray_JSArray$growable,1879,Instantiation1,27,instantiatedGenericFunctionType,136,int_parse,1423,Primitives_parseInt,1880,FormatException$,1722,FormatException,399,List_List$_of,1881,StringMatch,1882,ChromeVersion_chromeDriverUrl_closure,1883,_Record_2,1884,ChromePlatform_fromOsArch_closure,1885,_InitializedCell$named,1886,ChromePlatform_fromOsArch_closure0,1885,ChromePlatform_fromOsArch_closure1,1885,ChromePlatform_fromOsArch_closure2,1885,_InitializedCell,1887,_$AllChromeDownloadsFromJson_closure,1888,AllChromeDownloads,1889,MappedIterable_MappedIterable,1722,MappedIterator,1890,EfficientLengthMappedIterable,1891,MappedIterable,20,MappedListIterable,1892,LinkedHashMap_LinkedHashMap$from,1725,ChromeVersion,1893,_$ChromeVersionDownloadsFromJson,475,_$ChromeVersionDownloadsFromJson_closure,1894,_$ChromeVersionDownloadsFromJson_closure0,1894,ChromeVersionDownloads,1895,_$ChromeDownloadFromJson,476,ChromeDownload,1896,$enumDecode,553,MapBase_mapToString,1897,MapBase_mapToString_closure,1898,JsConstantLinkedHashMap,1899,fillLiteralMap,76,LinkedHashMapKeyIterable,1900,LinkedHashMapKeyIterator,818,MapBase,1901,_Record2,1902,getRuntimeTypeOfClosure,155,Duration,1903,Object_hash,1904,SystemHash_combine,1905,SystemHash_finish,1906,objectHashCode,74,Primitives_objectHashCode,74,Primitives__identityHashCodeProperty,1907,constantHashCode,75,Symbol,1908,LinkedHashMapCell,1909,_SyncStarIterable,1910,MapEntry,1911,_SyncStarIterator,1912,_SyncStarIterator__terminatedBody,1913,JsLinkedHashMap_values_closure,811,LinkedHashMap_LinkedHashMap,1722,LinkedHashMap_LinkedHashMap$from_closure,1914,JsLinkedHashMap,1915,dartify,471,Map_castFrom,1916,CastMap,1917,CastIterable_CastIterable,1722,EmptyIterable,1918,SkipIterable_SkipIterable,1722,SkipIterator,1919,ArgumentError_checkNotNull,1920,SkipIterable,22,EfficientLengthSkipIterable,23,CastIterator,1921,EfficientLengthIterable,1922,_EfficientLengthCastIterable,1923,CastIterable,13,CastMap_forEach_closure,677,Map,1924,_noDartifyRequired,470,dartify_convert,1925,_IdentityHashMap,1926,_HashMap__getTableEntry,1927,_HashMapKeyIterable,1928,_HashMapKeyIterator,1929,DateTime,1930,LinkedHashMap_LinkedHashMap$_empty,1931,Primitives_getYear,1932,DateTime__fourDigits,1933,Primitives_getMonth,1934,DateTime__twoDigits,1935,Primitives_getDay,1936,Primitives_getHours,1937,Primitives_getMinutes,1938,Primitives_getSeconds,1939,Primitives_getMilliseconds,1940,DateTime__threeDigits,1941,Primitives_lazyAsJsDate,1942,_HashMap__newHashTable,1943,_HashMap__setTableEntry,1944,JSString__skipLeadingWhitespace,1945,JSString__skipTrailingWhitespace,1946,JSString__isWhitespace,1947,Core_withGroup$body,535,_installChromedriver__closure,1948,_installChromedriver__closure0,1948,_ControllerStream,1949,StreamTransformer,1950,Stream,1951,String,1952,NodeProcessManager_run_closure,1953,NodeProcessManager_run_closure0,1953,ProcessResult,1954,FutureExtensions_ignore,1955,Stream_length_closure,954,Stream_length_closure0,954,_BufferingStreamSubscription__registerErrorHandler,310,_ControllerSubscription,1956,_StreamControllerAddStreamState,961,_StreamController__subscribe_closure,1957,nullFuture_closure,1958,Future_Future$value,1717,_StreamController__recordCancel_complete,1959,_AddStreamState_cancel_closure,1960,_PendingEvents,1961,_BufferingStreamSubscription,972,_StreamControllerLifecycle,1962,_runGuarded,318,_EventDispatch,1963,_PendingEvents_schedule_closure,1964,EventEmitter_once,480,Future_any,1965,_SyncCompleter,1966,Future_any_onValue,906,Future_any_onError,1967,EventEmitter_once_closure,1968,allowInterop,465,_convertDartFunctionFast,463,_callDartFunctionFast,464,Primitives_applyFunction,1969,Primitives__generalApplyFunction,1970,Primitives_functionNoSuchMethod,1971,Primitives_functionNoSuchMethod_closure,1972,JSInvocationMirror,1973,NoSuchMethodError_NoSuchMethodError$withInvocation,1974,NoSuchMethodError_toString_closure,1975,NoSuchMethodError,1976,ConstantMapView,1977,_KeysOrValues,1978,_KeysOrValuesOrElementsIterator,1979,CastMap_entries_closure,679,MapBase_entries_closure,1173,_HashMap_values_closure,1138,_MapBaseValueIterable,1980,_MapBaseValueIterator,1981,UnmodifiableMapView,1982,_BoundSinkStream,1983,LineSplitter_bind_closure,1984,_SinkTransformerStreamSubscription,1042,EventSink,1985,_EventSinkWrapper,1986,_EventSink,1987,throwLateFieldNI,121,_BufferingStreamSubscription__sendDone_sendDone,1988,_DelayedError,1989,_BufferingStreamSubscription__sendError_sendError,1990,_DelayedData,1991,_LineSplitterEventSink,1242,_StringAdapterSink,1992,Converter_bind_closure,1993,Converter,1994,_ConverterStreamEventSink,1995,Sink,1996,_Utf8ConversionSink,1252,_Utf8Decoder,1997,_Utf8Decoder__makeUint8List,1998,_Utf8Decoder_errorDescription,1999,Primitives_stringFromCharCode,2000,String_String$fromCharCodes,2001,Primitives_stringFromCharCodes,2002,Primitives_stringFromNativeUint8List,2003,String__stringFromIterable,2004,argumentErrorValue,59,Primitives_stringFromCodePoints,2005,Primitives__fromCharCodeApply,2006,CastList,2007,NodeProcess,1453,ChildProcess_spawn,477,StreamController_StreamController,1722,_IOSinkImpl,2008,_StreamSinkWrapper,2009,NodeProcess__init_closure,2010,NodeReadableStream_get_stream,478,StreamForward_forward,2011,NodeProcess__init_closure0,2010,_StreamSinkImpl,2012,_StreamSinkImpl__controller_closure,2013,_StreamSinkImpl__controller_closure0,2013,StreamController,317,StreamConsumer,2014,ProcessException,2015,StreamForward_forward_closure,1467,StreamForward_forward_closure0,1467,StreamForward_forward_closure1,1467,NodeReadableStream_get_stream_onData,2016,NodeReadableStream_get_stream_closure,2017,NodeReadableStream_get_stream_onDone,2018,NodeReadableStream_get_stream_onError,2019,NodeReadableStream_get_stream_closure0,2017,_ensureNativeList,125,_SyncStreamController,2020,unreachable,481,ChildProcess_spawn_closure,2021,Process_get_env,544,jsify,467,_noJsifyRequired,466,jsify__convert,2022,JsLinkedHashMap_addAll_closure,813,_UnreachableError,2023,processManager_closure,2024,NodeProcessManager,1448,Future_wait,2025,_Future$value,1717,_Cell$named,1886,Future_wait_handleError,2026,Future_wait_closure,903,Null,2027,_Cell,2028,ActionContext,1670,wrapMain_closure,1422,wrapMain_closure0,1422,Chain_capture,2029,StackZoneSpecification,2030,Expando,2031,Chain_capture_closure,1575,_ZoneSpecification,2032,runZoned,337,_Node,2033,Trace_Trace$from,1725,Expando__checkType,2034,Trace_toString_closure,2035,int,2036,Trace_toString_closure0,2035,UnparsedFrame,518,Expando__badExpandoKey,2037,Chain,2038,Chain_toString_closure,2039,Chain_toString_closure0,2039,Chain_toString__closure,2040,Chain_toString__closure0,2040,LazyTrace,2041,Trace_Trace$from_closure,2042,throwLateFieldADI,122,ExpandIterable,2043,Frame,2044,Chain_toTrace_closure,2045,Trace$,1722,ExpandIterator,712,Trace,529,Trace_Trace$parse,1423,Trace$parseV8,2046,Trace$parseJSCore,2047,Trace$parseFirefox,2048,Chain_Chain$parse,1423,Trace$parseFriendly,2049,Trace$parseVM,2050,Trace__parseVM,2051,stringReplaceAllUnchecked,113,Trace__parseVM_closure,2052,TakeIterable_TakeIterable,1722,Frame_Frame$parseVM,2050,_parseUri,484,ParsedPath_ParsedPath$parse,1423,Context_split_closure,2053,ParsedPath,2054,WindowsStyle,1678,RegExp_RegExp,1722,isDriveLetter,556,_Uri__uriDecode,2055,CodeUnits,2056,_Uri__hexCharPairToByte,2057,Utf8Decoder__convertIntercepted,2058,Utf8Decoder__convertInterceptedUint8List,2059,Utf8Decoder__useTextDecoder,2060,Utf8Decoder__decoder_closure,2061,Utf8Decoder__decoderNonfatal_closure,2062,RangeError_checkValueInInterval,2063,stringReplaceFirstUnchecked,119,stringReplaceRangeUnchecked,120,JSSyntaxRegExp,2064,escapeReplacement,110,stringReplaceFirstRE,111,_StringAllMatchesIterable,2065,_StringAllMatchesIterator,2066,_MatchImplementation,2067,JSSyntaxRegExp_makeNative,2068,isAlphabetic,555,_AllMatchesIterable,2069,_AllMatchesIterator,2070,UrlStyle,1680,Context,483,current,554,get$current,554,PathException$,1722,_validateArgList,485,WhereTypeIterable,2071,WhereTypeIterator,2072,Context_joinAll_closure,2073,_validateArgList_closure,2074,PathException,489,Uri_base,2075,_current,1807,set$_current,1807,_currentUriBase,2076,Primitives_currentUri,2077,Uri__cachedBaseUri,2078,Uri__cachedBaseString,2079,Uri_parse,1423,UriData__parse,2080,_scan,459,_SimpleUri,2081,_Uri__makeScheme,2082,_Uri__fail,2083,_Uri__makeUserInfo,2084,_Uri__makeHost,2085,_Uri__makePort,2086,_Uri__makePath,2087,_Uri__makeQuery,2088,_Uri__makeFragment,2089,_Uri$_internal,2090,_Uri__defaultPort,2091,_Uri__toWindowsFilePath,2092,_Uri__checkNonWindowsPathReservedCharacters,2093,_Uri__checkWindowsDriveLetter,2094,_Uri__checkWindowsPathReservedCharacters,2095,String_String$fromCharCode,2096,_Uri__removeDotSegments,2097,_Uri__packageNameEnd,2098,_Uri__normalizeRelativePath,2099,_Uri__mayContainDotSegments,2100,_Uri__escapeScheme,2101,_Uri__isAlphabeticCharacter,2102,_skipPackageNameChars,461,_caseInsensitiveCompareStart,462,_SimpleUri__packageNameEnd,2098,_Uri,413,_Uri__normalizeOrSubstring,2103,_Uri__normalize,2104,_Uri__normalizeEscape,2105,_Uri__escapeChar,2106,iae,55,hexDigitValue,14,_Uri__makePath_closure,2107,_Uri__normalizePath,2108,_Uri__uriEncode,2109,ByteConversionSink,2110,_ByteAdapterSink,2111,_Utf8EncoderSink,2112,_checkValidRange,129,diagnoseRangeError,58,_Utf8Encoder,2113,_Uri__checkZoneID,2114,_Uri__normalizeZoneID,2115,Uri_parseIPv6Address,2116,_Uri__normalizeRegName,2117,Uri_parseIPv6Address_error,2118,Uri_parseIPv6Address_parseHex,2119,Uri__parseIPv4Address,2120,Uri__parseIPv4Address_error,2121,_Uri__canonicalizeScheme,2122,_createTables,458,_createTables_build,2123,_createTables_setChars,2124,_createTables_setRange,2125,UnmodifiableListMixin,2126,_asDouble,189,_DataUri,2127,UriData,2128,_Utf8Base64EncoderSink,1215,_Base64Encoder,2129,_AsciiBase64EncoderSink,1216,_BufferCachingBase64Encoder,2130,_Base64Encoder_encodeChunk,2131,NativeUint8List_NativeUint8List$view,2132,Base64Codec__checkPadding,2133,NativeInt8List__create1,2134,Style__getPlatformStyle,2135,_Uri__Uri,1722,PosixStyle,1676,TakeIterator,2136,Frame_Frame$parseVM_closure,2137,Frame__catchFormatException,2138,Uri_Uri$dataFromString,2139,UriData__writeUri,2140,UriData__uriEncodeBytes,2141,Codec,2142,_UnicodeSubsetEncoderSink,2143,UriData__validateMimeType,2144,EfficientLengthTakeIterable,2145,TakeIterable,21,stringReplaceAllUncheckedString,115,stringReplaceAllGeneral,114,Trace$parseFriendly_closure,2146,Frame_Frame$parseFriendly,2049,Frame_Frame$parseFriendly_closure,2147,WindowsStyle_absolutePathToUri_closure,2148,Context_Context,1722,Chain_Chain$parse_closure,2149,Trace$parseFirefox_closure,2150,Frame_Frame$parseFirefox,2048,Frame_Frame$parseFirefox_closure,2151,Frame_Frame$_parseFirefoxEval,2152,Frame__uriOrPathToUri,2153,_Uri__Uri$file,2154,_Uri__makeWindowsFileUrl,2155,_Uri__makeFileUri,2156,Frame_Frame$_parseFirefoxEval_closure,2157,Trace$parseJSCore_closure,2158,Frame_Frame$parseV8,2046,Frame_Frame$parseV8_closure,2159,Frame_Frame$parseV8_closure_parseLocation,2160,Trace$parseV8_closure,2161,SkipWhileIterable,2162,SkipWhileIterator,2163,stringContainsUnchecked,109,StackZoneSpecification__currentTrace_closure,2164,StackTrace_current,554,_RootZone__rootDelegate,2165,_ZoneDelegate,2166,LazyChain,2167,StackZoneSpecification_chainFor_closure,2168,StackZoneSpecification_chainFor_closure0,2168,StackZoneSpecification__registerBinaryCallback_closure,1620,StackZoneSpecification__registerBinaryCallback__closure,1622,StackZoneSpecification__registerUnaryCallback_closure,1616,StackZoneSpecification__registerUnaryCallback__closure,1618,StackZoneSpecification__registerCallback_closure,1614,_runZoned,338,_rootFork,335,HashMap_HashMap$from,1725,_CustomZone,336,_ZoneFunction,2169,_CustomZone_bindCallbackGuarded_closure,2170,_CustomZone_bindCallback_closure,1076,printString,532,_TimerImpl$periodic,2171,_CustomZone_bindUnaryCallback_closure,1078,_RootZone_bindUnaryCallback_closure,1119,_TimerImpl$periodic_closure,2172,HashMap_HashMap,1722,_HashMap,2173,HashMap_HashMap$from_closure,2174,parseJson,495,mapStackTrace,491,wrapMain__closure,2175,Core_setFailed,536,Process_exit,545,mapStackTrace_closure,2176,mapStackTrace_closure0,2176,_prettifyMember,493,_prettifyMember_closure,2177,stringReplaceAllFuncUnchecked,117,_prettifyMember_closure0,2177,_stringIdentity,116,MultiSectionMapping,2178,SingleMapping$fromJson,2179,SourceLocation$,1722,SourceMapSpan,498,SourceMapSpan$,1722,RangeError$,1722,SourceLocation,500,SingleMapping__findColumn_closure,2180,binarySearch,557,SingleMapping__findLine_closure,2181,SingleMapping,2182,SourceFile,2183,_MappingTokenizer,2184,TargetLineEntry,2185,decodeVlq,499,TargetEntry,2186,SingleMapping$fromJson_closure,2187,pow,534,_digits_closure,2188,_parseJson,348,_convertJsonToDartLazy,349,_JsonMap,2189,_JsonMap_values_closure,2190,_JsonMapKeyIterable,2191,_JsonDecoderSink,1239,_Utf8StringSinkAdapter,1257,_StringSinkConversionSink,2192,wrapMain__closure0,2175,_Utils_objectAssign,2193,JS_CONST,2194,Interceptor,2195,TrustedGetRuntimeType,2196,JSBool,2197,JSNull,2198,JSObject,2199,JavaScriptObject,2200,LegacyJavaScriptObject,2201,PlainJavaScriptObject,2202,UnknownJavaScriptObject,2203,Function,2204,JavaScriptFunction,2205,JavaScriptBigInt,2206,JavaScriptSymbol,2207,JSIndexable,2208,JSUnmodifiableArray,2209,double,2210,num,2211,JSNumber,2212,JSInt,2213,JSNumNotInt,2214,Pattern,2215,JSString,2216,_CastIterableBase,2217,_CastListBase,2218,SentinelValue,2219,EmptyIterator,2220,FixedLengthListMixin,2221,UnmodifiableListBase,2222,Symbol0,1908,ConstantMap,2223,ConstantStringMap,2224,GeneralConstantMap,2225,Instantiation,772,Invocation,2226,Exception,398,StackTrace,2227,Closure0Args,2228,Closure2Args,2229,TearOffClosure,2230,_Required,2231,RegExp,370,RegExpMatch,2232,Match,2233,JSAny,2234,JSObject0,2199,JSFunction,2235,JSExportedDartFunction,2236,JSArray0,1727,JSBoxedDartObject,2237,JSArrayBuffer,2238,JSDataView,2239,JSTypedArray,2240,JSInt8Array,2241,JSUint8Array,2242,JSUint8ClampedArray,2243,JSInt16Array,2244,JSUint16Array,2245,JSInt32Array,2246,JSUint32Array,2247,JSFloat32Array,2248,JSFloat64Array,2249,JSNumber0,2212,JSBoolean,2250,JSString0,2216,JSSymbol,2251,JSBigInt,2252,JSPromise,2253,ByteBuffer,2254,NativeByteBuffer,2255,NativeTypedData,2256,ByteData,2257,NativeByteData,2258,NativeTypedArray,2259,NativeTypedArrayOfDouble,2260,NativeTypedArrayOfInt,2261,Float32List,2262,NativeFloat32List,2263,Float64List,2264,NativeFloat64List,2265,Int16List,2266,NativeInt16List,2267,Int32List,2268,NativeInt32List,2269,Int8List,2270,NativeInt8List,2271,Uint16List,2272,NativeUint16List,2273,Uint32List,2274,NativeUint32List,2275,Uint8ClampedList,2276,NativeUint8ClampedList,2277,NativeUint8List,2278,Uint8List,2279,_Error,2280,Timer,2281,Completer,469,Error,2282,_Completer,2283,StreamTransformerBase,2284,_StreamController,2285,_SyncStreamControllerDispatch,2286,_AddStreamState,960,_StreamImpl,2287,_DelayedEvent,2288,_DelayedDone,2289,ZoneSpecification,2290,ZoneDelegate,2291,Zone,2292,_Zone,2293,_RootZone,2294,_UnmodifiableMapMixin,2295,MapView,2296,AsciiCodec,2297,_UnicodeSubsetEncoder,2298,AsciiEncoder,2299,Base64Codec,2300,Base64Encoder,2301,_Base64EncoderSink,2302,_FusedCodec,2303,Encoding,2304,JsonCodec,2305,JsonDecoder,2306,LineSplitter,2307,_LineSplitterSink,2308,StringConversionSink,2309,Utf8Codec,2310,Utf8Encoder,2311,Utf8Decoder,2312,Enum,2313,_Enum,2314,OutOfMemoryError,2315,_StringStackTrace,2316,StringSink,2317,Uri,2318,IOSink,2319,ProcessStartMode,2320,ActionResult,2321,ChromePlatform,2322,OS,2323,Arch,2324,Process,2325,AbortSignal,2326,AbortController,2327,Window,2328,Document,2329,Element,2330,Event,2331,EventTarget,2332,GlobalScope,2333,MessageEvent,2334,MessagePort,2335,Location,2336,WorkerInit,2337,Worker,2338,ErrorEvent,2339,MessageChannel,2340,JSON,2341,JSObject1,2199,RequestInit,2342,Headers,2343,Request,2344,Response,2345,Promise,2346,UnderlyingSource,2347,ReadableStreamController,2348,ReadableStreamDefaultController,2349,ReadableByteStreamController,2350,ReadableStream,2351,ReadableStreamReader,2352,ReadableStreamBYOBReader,2353,ReadableStreamDefaultReader,2354,ReadableStreamChunk,2355,_PathDirection,2356,_PathRelation,2357,InternalStyle,2358,Style,2359,Mapping,2360,_TokenKind,2361,SourceSpanBase,1564,SourceSpan,2362,SourceSpanMixin,2363,__CastListBase__CastIterableBase_ListMixin,2364,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin,2365,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin,2366,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin,2367,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin,2368,_UnmodifiableMapView_MapView__UnmodifiableMapMixin,2369,__Utf8EncoderSink__Utf8Encoder_StringConversionSink,2370,main,530,getNativeInterceptor,1,isJsIndexable,29,closureFromTearOff,86,throwCyclicInit,94,defineProperty,96,findType,135,typeLiteral,163,_asBoolS,187,_asBoolQ,188,_asDoubleS,190,_asDoubleQ,191,_asIntS,194,_asNumS,198,_asStringS,202,_Universe_addRules,2371,_Universe_addErasedTypes,2372,_AsyncRun__scheduleImmediateJsOverride,2373,_AsyncRun__scheduleImmediateWithSetImmediate,2374,_AsyncRun__scheduleImmediateWithTimer,2375,Future___value_tearOff,2376,FutureExtensions__ignore,2377,_startMicrotaskLoop,312,StreamIterator_StreamIterator,1722,_nullErrorHandler,320,_nullDoneHandler,321,_rootHandleUncaughtError,322,_rootRegisterCallback,327,_rootRegisterUnaryCallback,328,_rootRegisterBinaryCallback,329,_rootErrorCallback,330,_rootCreateTimer,332,_rootCreatePeriodicTimer,333,_rootPrint,334,Uri_decodeComponent,2378,Frame___parseVM_tearOff,2379,Frame___parseV8_tearOff,2380,Frame___parseFirefox_tearOff,2381,Frame___parseFriendly_tearOff,2382,Trace___parseVM_tearOff,2379,Trace___parseFriendly_tearOff,2382,max,533,compareComparable,552,DART_CLOSURE_PROPERTY_NAME,1646,nullFuture,1647,TypeErrorDecoder_noSuchMethodPattern,2383,TypeErrorDecoder_notClosurePattern,2384,TypeErrorDecoder_nullCallPattern,2385,TypeErrorDecoder_nullLiteralCallPattern,2386,TypeErrorDecoder_undefinedCallPattern,2387,TypeErrorDecoder_undefinedLiteralCallPattern,2388,TypeErrorDecoder_nullPropertyPattern,2389,TypeErrorDecoder_nullLiteralPropertyPattern,2390,TypeErrorDecoder_undefinedPropertyPattern,2391,TypeErrorDecoder_undefinedLiteralPropertyPattern,2392,_AsyncRun__scheduleImmediateClosure,2393,Future__nullFuture,2394,_RootZone__rootMap,2395,Utf8Decoder__decoder,2396,Utf8Decoder__decoderNonfatal,2397,_Base64Decoder__inverseAlphabet,2398,_Uri__isWindowsCached,2399,_Uri__needsNoEncoding,2400,_hasErrorStackProperty,1666,_hashSeed,1667,_scannerTables,1668,context,1669,get$context,1669,processManager,1671,windows,1672,url,1673,context0,1669,Style_posix,2401,Style_windows,1672,Style_url,1673,Style_platform,2402,_digits,1682,maxInt32,1683,minInt32,1684,_specKey,1685,_vmFrame,1686,_v8Frame,1687,_v8UrlLocation,1688,_v8EvalLocation,1689,_firefoxEvalLocation,1690,_firefoxSafariFrame,1691,_friendlyFrame,1692,_asyncBody,1693,_initialDot,1694,Frame__uriRegExp,2403,Frame__windowsRegExp,2404,StackZoneSpecification_disableKey,2405,_v8Trace,1698,_v8TraceLine,1699,_firefoxEvalTrace,1700,_firefoxSafariTrace,1701,_friendlyTrace,1702,vmChainGap,1703,Record,2406,$get$DART_CLOSURE_PROPERTY_NAME,1646,$get$TypeErrorDecoder_noSuchMethodPattern,2383,$get$TypeErrorDecoder_notClosurePattern,2384,$get$TypeErrorDecoder_nullCallPattern,2385,$get$TypeErrorDecoder_nullLiteralCallPattern,2386,$get$TypeErrorDecoder_undefinedCallPattern,2387,$get$TypeErrorDecoder_undefinedLiteralCallPattern,2388,$get$TypeErrorDecoder_nullPropertyPattern,2389,$get$TypeErrorDecoder_nullLiteralPropertyPattern,2390,$get$TypeErrorDecoder_undefinedPropertyPattern,2391,$get$TypeErrorDecoder_undefinedLiteralPropertyPattern,2392,$get$_AsyncRun__scheduleImmediateClosure,2393,$get$_hashSeed,1667,$get$processManager,1671,$get$Future__nullFuture,2394,$get$nullFuture,1647,$get$context,1669,$get$_specKey,1685,$get$StackZoneSpecification_disableKey,2405,$get$_v8Trace,1698,$get$_firefoxSafariTrace,1701,$get$_firefoxEvalTrace,1700,$get$_friendlyTrace,1702,$get$vmChainGap,1703,$get$context0,1669,$get$Style_url,1673,$get$Style_windows,1672,$get$Utf8Decoder__decoderNonfatal,2397,$get$Utf8Decoder__decoder,2396,$get$Style_platform,2402,$get$_Uri__isWindowsCached,2399,$get$_Uri__needsNoEncoding,2400,$get$_scannerTables,1668,$get$_Base64Decoder__inverseAlphabet,2398,$get$Style_posix,2401,$get$_vmFrame,1686,$get$_asyncBody,1693,$get$_friendlyFrame,1692,$get$_firefoxSafariFrame,1691,$get$_initialDot,1694,$get$Frame__uriRegExp,2403,$get$Frame__windowsRegExp,2404,$get$windows,1672,$get$_firefoxEvalLocation,1690,$get$_v8Frame,1687,$get$_v8EvalLocation,1689,$get$_v8UrlLocation,1688,$get$_v8TraceLine,1699,$get$_hasErrorStackProperty,1666,$get$_RootZone__rootMap,2395,$get$url,1673,$get$_digits,1682,$get$minInt32,1684,$get$maxInt32,1683,setup_chromedriver___installChromedriver$closure,2407,getInterceptor$,2408,getInterceptor$asx,2409,async___startMicrotaskLoop$closure,2410,async__AsyncRun__scheduleImmediateJsOverride$closure,2411,async__AsyncRun__scheduleImmediateWithSetImmediate$closure,2412,async__AsyncRun__scheduleImmediateWithTimer$closure,2413,utils__compareComparable$closure,2414,getInterceptor$ax,2415,async___nullDoneHandler$closure,2416,async___nullErrorHandler$closure,2417,async__FutureExtensions__ignore$closure,2418,frame_Frame___parseVM_tearOff$closure,2419,getInterceptor$s,2420,core_Uri_decodeComponent$closure,2421,frame_Frame___parseFriendly_tearOff$closure,2422,trace_Trace___parseVM_tearOff$closure,2423,trace_Trace___parseFriendly_tearOff$closure,2424,frame_Frame___parseFirefox_tearOff$closure,2425,frame_Frame___parseV8_tearOff$closure,2426,getInterceptor$ns,2427,getInterceptor$n,2428,async_Future___value_tearOff$closure,2429,async___rootHandleUncaughtError$closure,2430,async___rootRun$closure,2431,async___rootRunUnary$closure,2432,async___rootRunBinary$closure,2433,async___rootRegisterCallback$closure,2434,async___rootRegisterUnaryCallback$closure,2435,async___rootRegisterBinaryCallback$closure,2436,async___rootErrorCallback$closure,2437,async___rootScheduleMicrotask$closure,2438,async___rootCreateTimer$closure,2439,async___rootCreatePeriodicTimer$closure,2440,async___rootPrint$closure,2441,async___rootFork$closure,2442,math__max$closure,2443", + "instance": "super$LegacyJavaScriptObject$toString,2444,prototypeForTag,2445,getUnknownTag,2446,getTag,2447,$protected,2448,R,2449,$this,2450,f,2451,error,2452,stackTrace,2453,get$stackTrace,2453,_TimerImpl$2,1722,callback,2454,_box_0,2455,div,2456,span,2457,listener,2458,_box_1,2459,sourceResult,2460,hasError,2461,originalSource,2462,bodyFunction,2463,e,2464,s,2465,target,2466,value,1717,set$value,1717,chromeDriverUrl,2467,get$chromeDriverUrl,2467,chromeVersion,2468,completer,2469,T,2470,Instantiation$1,1722,patchVersion,2471,platform,2402,version,2472,_0_1,2473,_0_4,2474,_0_0,2475,result,2476,entries$body$ConstantMap,2477,K,2478,V,2479,_convertedObjects,2480,run$body$NodeProcessManager,2481,dispatch,2482,future,2483,get$future,2483,sb,2484,namedArgumentList,2485,$arguments,2486,echoOutput,2487,stderr,2488,get$stderr,2488,stdout,2489,get$stdout,2489,super$_BufferingStreamSubscription$_addError,2490,super$_BufferingStreamSubscription$_close,2491,super$_BufferingStreamSubscription$_add,2492,super$Converter$bind,1789,start$body$NodeProcessManager,2493,_init$body$NodeProcess,2494,controller,2495,_this,2496,onData,2497,onDone,2498,onError,2499,pos,2500,_future,2501,eagerError,2502,longest,2503,trace,2504,SubListIterable$3,1722,host,2505,get$host,2505,tables,2506,frame,2507,super$Iterable$skipWhile,2508,level,2509,original,2510,T1,2511,T2,2512,node,2513,arg1,2514,arg2,2515,arg,2516,registered,2517,_TimerImpl$periodic$2,2171,milliseconds,2518,start,2493,get$start,2493,$call$body$wrapMain_closure,2519,sourceMap,2520,sdkLib,2521,minified,2522,packageMap,2523,sdkRoot,2524,MultiSectionMapping$fromJson$3$mapUrl,2179,SourceSpanBase$3,1722,column,2525,get$column,2525,line,2526,get$line,2526,SingleMapping$fromJson$2$mapUrl,2179,SourceFile$decoded$2$url,2527,super$_StringSinkConversionSink$close,2528,mainFn,2529,TakeIterator$2,1722,SkipIterator$2,1722,LinkedHashMapKeyIterator$2,1722,_MatchImplementation$2,1722,_Cell$named$1,1886,_InitializedCell$named$2,1886,_Type$1,1722,cleanUp,2530,_Future$immediate$1,2531,_Future$zoneValue$2,2532,_Future$immediateError$2,2533,_StreamControllerAddStreamState$4,1722,_SinkTransformerStreamSubscription$6,1722,_CustomZone$3,1722,DateTime$_withValue$2$isUtc,2534,closeWhenDone,2535,SourceLocation$4$column$line$sourceUrl,1722,_interceptor,2536,_message,2537,toString$0,2444,_receiver,2538,_is,2539,_kind,2540,_primary,2541,_rest,2542,length,2543,get$length,2543,set$length,2543,end,2544,get$end,2544,name,2545,get$name,2545,message,2546,_errorName,2547,get$_errorName,2547,_hasValue,2548,_errorExplanation,2549,get$_errorExplanation,2549,invalidValue,2550,get$invalidValue,2550,_toString$1,2551,_fieldKeys$0,2552,_getFieldValues$0,2553,add$1,2554,_computeFieldKeys$0,2555,_precomputed1,2556,_as,2557,iterator,2558,get$iterator,2558,_eval$1,2559,moveNext$0,2560,current,554,get$current,554,_iterable,2561,_length,2562,_index,2563,_current,2564,set$_current,2564,modifiedObject,2565,__internal$_iterable,2566,__internal$_length,2567,__internal$_index,2568,__internal$_current,2569,set$__internal$_current,2569,elementAt$1,2570,_contents,2571,_requiredPositional,2572,_optionalPositional,2573,_named,2574,variableName,2575,__rti$_message,2576,runtimeType,2577,get$runtimeType,2577,_rti,2578,_cachedRuntimeType,2579,_canonicalRecipe,2580,_bindCache,2581,_evalCache,2582,_specializedTestResource,2583,_unsoundIsSubtypeCache,2584,_isSubtypeCache,2585,isSync,2586,registerBinaryCallback$3$1,2587,_bind$1,2588,completeError$2,2589,_trace,2590,_exception,2591,dartException,2592,_irritant,2593,_shrOtherPositive$1,2594,matchTypeError$1,2595,__js_helper$_message,2596,_method,2597,_pattern,2598,_arguments,2599,_argumentsExpr,2600,_expr,2601,_shrBothPositive$1,2602,complete$1,2603,_thenAwait$1$2,2604,then$1$2$onError,2605,_state,2606,_resultOrListeners,2607,_zone,2608,get$_zone,2608,registerUnaryCallback$2$1,2609,_addListener$1,2610,errorCallback,2611,get$errorCallback,2611,state,2612,_nextListener,2613,_cloneResult$1,2614,scheduleMicrotask$1,315,errorZone,2615,get$errorZone,2615,bindCallbackGuarded$1,2616,bindCallback$1$1,2617,run$1$1,2481,runGuarded$1,2618,next,2619,get$next,2619,set$next,2619,storedCallback,2620,padLeft$2,2621,_tick,2622,source,2623,handleUncaughtError$2,2624,listenerHasError,2625,listenerValueOrError,2626,_reverseListeners$1,2627,_removeListeners$0,2628,_setChained$1,2629,_prependListeners$1,2630,listeners,2631,matchesErrorTest$1,2632,handleError$1,2633,_stackTrace,2634,runBinary$3$3,2635,runUnary$2$2,2636,then$1$1,2605,_completeError$2,2637,_asyncCompleteError$2,2638,_setErrorObject$1,2639,_asyncComplete$1,2640,_chainFuture$1,2641,_completeWithValue$1,2642,_chainForeignFuture$1,2643,_scheduleMicrotask,2644,get$_scheduleMicrotask,2644,zone,2645,registerCallback$1$1,2646,$function,2647,_asyncCompleteWithValue$1,2648,errorCallback$2,2611,completeError$1,2589,isUndefined,2649,chromeDriverUrl$2,2467,versions,2650,chromeDriverUrl$1,2467,sublist$2,2651,join$1,2652,compareTo$1,2653,isNegative,2654,get$isNegative,2654,_f,2655,_iterator,2656,_enumToString$0,2657,last,2658,get$last,2658,setRange$4,2659,skip$1,2660,toList$1$growable,2661,_start,2662,_endOrLength,2663,_startIndex,2664,get$_startIndex,2664,_endIndex,2665,get$_endIndex,2665,_genericClosure,2666,offset,2667,get$offset,2667,substring$2,2668,startsWith$1,2669,matchAsPrefix$2,2670,pattern,2671,downloads,2672,chromedriver,2673,url,1673,_readFinal$0,2674,_name,2675,_initializer,2676,_value,2677,__late_helper$_name,2678,_0,2679,_1,2680,map$1$1,2681,_source,2682,get$_source,2682,first,2683,get$first,2683,forEach$1,2684,_getMap$0,2685,_first,2686,_modifications,2687,hashMapCellKey,2688,hashMapCellValue,2689,_next,2690,_jsData,2691,keys,2692,get$keys,2692,_map,2693,_cell,2694,__js_helper$_current,2695,set$__js_helper$_current,2695,__js_helper$_length,2696,_strings,2697,_nums,2698,internalGet$1,2699,__js_helper$_rest,2700,internalComputeHashCode$1,2701,internalFindBucketIndex$2,2702,hashCode,2703,get$hashCode,2703,__internal$_name,2704,_last,2705,_newHashTable$0,2706,_addHashTableEntry$3,2707,internalSet$2,2708,_newLinkedCell$2,2709,values,2710,get$values,2710,entries,2477,get$entries,2477,key,2711,_outerHelper,2712,_suspendedBodies,2713,_body,2714,_nestedIterator,2715,set$_nestedIterator,2715,_async$_current,2716,set$_async$_current,2716,_resumeBody$2,2717,_datum,2718,_yieldStar$1,2719,cast$2$0,2720,_skipCount,2721,_computeKeys$0,2722,_keys,2723,_collection$_length,2724,_collection$_strings,2725,_collection$_nums,2726,_collection$_rest,2727,_get$1,2728,_getBucket$2,2729,_findBucketIndex$2,2730,_computeHashCode$1,2731,_collection$_map,2732,_offset,2733,_collection$_current,2734,set$_collection$_current,2734,containsKey$1,2735,_core$_value,2736,isUtc,2737,_collection$_addHashTableEntry$3,2738,_set$2,2739,_containsKey$1,2740,trim$0,2741,run$2$echoOutput,2481,exitCode,2742,get$exitCode,2742,start$7$environment$includeParentEnvironment$mode$pipe$runInShell$workingDirectory,2493,pid,2743,get$pid,2743,_stdout,2744,bind$1,1789,listen$1,2745,_stderr,2746,cancel$0,2747,_allowMalformed,2748,_mode,2749,count,2750,_completeError,2637,get$_completeError,2637,listen$4$cancelOnError$onDone$onError,2745,_controller,2751,_subscribe$4,2752,_pendingEvents,2753,get$_pendingEvents,2753,_varData,2754,varData,2755,addSubscription,2756,resume$0,2757,_setPendingEvents$1,2758,_guardCallback$1,2759,_cancel$0,2760,_cancelFuture,2761,_pending,2762,set$_pending,2762,_onCancel$0,2763,_recordCancel$1,2764,onCancel,2765,set$onCancel,2765,whenComplete$1,2766,_doneFuture,2767,addStreamFuture,2768,_onDone,2769,_onError,2770,get$_onError,2770,_onData,2771,_checkState$1,2772,lastPendingEvent,2773,_onPause$0,2774,_onResume$0,2775,schedule$1,2776,onResume,2777,pause$0,2778,onPause,2779,_onPause,2774,get$_onPause,2774,firstPendingEvent,2780,perform$1,2781,onListen,2782,set$onListen,2782,_onResume,2775,get$_onResume,2775,_complete$1,2783,_jsProcess,2784,addAll$1,2785,_addAllFromArray$1,2786,noSuchMethod$1,2787,argumentCount,2788,names,2789,_typeArgumentCount,2790,_namedArgumentNames,2791,__js_helper$_kind,2792,_memberName,2793,comma,2794,_core$_arguments,2795,_namedArguments,2796,_core$_receiver,2797,_core$_memberName,2798,memberName,2799,get$memberName,2799,positionalArguments,2800,get$positionalArguments,2800,namedArguments,2801,get$namedArguments,2801,_values,2802,_elements,2803,__js_helper$_index,2804,__js_helper$_keys,2805,get$__js_helper$_keys,2805,_jsIndex,2806,___SinkTransformerStreamSubscription__transformerSink_A,2807,set$___SinkTransformerStreamSubscription__transformerSink_A,2807,_sinkMapper,2808,_subscription,2809,get$_subscription,2809,set$_subscription,2809,_stream,2810,_handleData,2811,get$_handleData,2811,_handleDone,2812,get$_handleDone,2812,_handleError,2813,get$_handleError,2813,listen$3$onDone$onError,2745,_sink,2814,close$0,2528,_sendDone$0,2815,_addPending$1,2816,_sendError$2,2817,runBinaryGuarded$2$3,2818,runUnaryGuarded$1$2,2819,addError$2,2820,_sendData$1,2821,_convert$_sink,2822,addSlice$4,2823,_skipLeadingLF,2824,_addLines$4,2825,_carry,2826,_useCarry$2,2827,_multiCarry,2828,_eventSink,2829,startChunkedConversion$1,2830,_chunkedSink,2831,asUtf8Sink$1,2832,_charOrIndex,2833,_convert$_state,2834,allowMalformed,2835,_buffer,2836,_decoder,2837,convertGeneral$4,2838,_convertRecursive$4,2839,_tdivFast$1,2840,decodeGeneral$4,2841,_tdivSlow$1,2842,flush$1,2843,sublist$1,2651,_init$0,2844,_activeProcesses,2845,_stdinSink,2846,_stdinSub,2847,set$_stdinSub,2847,_stdin,2848,executable,2849,getRange$2,2850,stdin,2851,_isBound,2852,_isClosed,2853,_controllerInstance,2854,set$_controllerInstance,2854,_closeTarget$0,2855,_doneCompleter,2856,_target,2857,_async$_target,2858,_completeDoneValue,2859,get$_completeDoneValue,2859,_completeDoneError,2860,get$_completeDoneError,2860,_hasError,2861,_io$_controller,2862,get$_io$_controller,2862,_badEventState$0,2863,_addError$2,2864,_ensurePendingEvents$0,2865,_controllerCompleter,2866,addStream$1,2867,_completeDoneError$2,2860,_add,2868,get$_add,2868,_close,2869,get$_close,2869,_addError,2864,get$_addError,2864,_add$1,2868,_encoding,2870,_ensureDoneFuture$0,2871,complete$0,2603,addError$1,2820,_close$0,2869,close,2528,get$close,2528,_successTearDowns,2872,_errorTearDowns,2873,remaining,2874,_readLocal$0,2875,_handleUncaughtError,2876,get$_handleUncaughtError,2876,_registerCallback,2877,get$_registerCallback,2877,_registerUnaryCallback,2878,get$_registerUnaryCallback,2878,_registerBinaryCallback,2879,get$_registerBinaryCallback,2879,_errorCallback,2880,get$_errorCallback,2880,fork,2881,get$fork,2881,print,2882,createPeriodicTimer,2883,createTimer,2884,scheduleMicrotask,315,get$scheduleMicrotask,315,registerBinaryCallback,2587,get$registerBinaryCallback,2587,registerUnaryCallback,2609,get$registerUnaryCallback,2609,registerCallback,2646,get$registerCallback,2646,runBinary,2635,get$runBinary,2635,runUnary,2636,get$runUnary,2636,run,2481,get$run,2481,handleUncaughtError,2624,get$handleUncaughtError,2624,_jsWeakMap,2885,errorCallback$3,2611,_currentTrace$1,2886,_currentNode,2887,set$_currentNode,2887,toChain$0,2888,_chains,2889,frames,2890,get$frames,2890,fold$1$2,2891,join$0,2652,location,2892,get$location,2892,padRight$1,2893,member,2894,get$member,2894,previous,2895,traces,2896,get$traces,2896,toTrace$0,2897,_lazy_trace$_trace,2898,get$_lazy_trace$_trace,2898,__LazyTrace__trace_FI,2899,_thunk,2900,_currentExpansion,2901,set$_currentExpansion,2901,contains$1,2902,endsWith$1,2903,library,2904,get$library,2904,uri,2905,get$uri,2905,scheme,2906,get$scheme,2906,prettyUri$1,2907,style,2908,pathFromUri$1,2909,normalize$1,2910,relative$1,2911,split$1,2912,parts,2913,set$parts,2913,root,2914,insert$2,2915,separators,2916,set$separators,2916,getRoot$1,2917,isRootRelative$1,2918,substring$1,2668,isSeparator$1,2919,rootLength$1,2920,_needsNormalization$1,2921,normalize$0,2910,insertAll$2,2922,separator,2923,get$separator,2923,needsSeparator$1,2924,removeTrailingSeparators$0,2925,removeLast$0,2926,path,2927,get$path,2927,replaceFirst$2,2928,convert$1,2929,_string,2930,allMatches$2,2931,_nativeRegExp,2932,replaceRange$3,2933,_input,2934,_execGlobal$2,2935,_match,2936,_nativeGlobalVersion,2937,get$_nativeGlobalVersion,2937,_nativeGlobalRegExp,2938,indexOf$2,2939,relativeRootPattern,2940,rootPattern,2941,needsSeparatorPattern,2942,separatorPattern,2943,_execAnchored$2,2944,_nativeAnchoredVersion,2945,get$_nativeAnchoredVersion,2945,_nativeAnchoredRegExp,2946,_re,2947,__js_helper$_string,2948,__js_helper$_start,2949,_nextIndex,2950,_regExp,2951,toList$0,2661,setRange$3,2659,startsWith$2,2669,_context$_current,2952,absolute$1,2953,pathsEqual$2,2954,removeAt$1,2955,codeUnitsEqual$2,2956,join$16,2652,joinAll$1,2957,rootLength$2$withDrive,2920,containsSeparator$1,2958,resolve$1,2959,toFilePath$0,2960,_host,2961,hasAuthority,2962,get$hasAuthority,2962,_userInfo,2963,userInfo,2964,get$userInfo,2964,port,2965,get$port,2965,_query,2966,hasQuery,2967,get$hasQuery,2967,query,2968,get$query,2968,_fragment,2969,hasFragment,2970,get$hasFragment,2970,fragment,2971,get$fragment,2971,_fragmentStart,2972,_uri,2973,_queryStart,2974,hasPort,2975,get$hasPort,2975,_portStart,2976,_pathStart,2977,_schemeEnd,2978,_hostStart,2979,_port,2980,_text,2981,get$_text,2981,___Uri__text_FI,2982,pathSegments,2983,get$pathSegments,2983,___Uri_pathSegments_FI,2984,set$___Uri_pathSegments_FI,2984,codeUnitAt$1,2985,hasAbsolutePath,2986,get$hasAbsolutePath,2986,resolveUri$1,2987,_mergePaths$2,2988,indexOf$1,2939,lastIndexOf$1,2989,lastIndexOf$2,2989,isScheme$1,2990,___Uri_hashCode_FI,2991,_hashCodeCache,2992,_simpleMerge$2,2993,_toNonSimple$0,2994,_isPort$1,2995,_schemeCache,2996,removeFragment$0,2997,_computeScheme$0,2998,_shrReceiverPositive$1,2999,_bufferIndex,3000,_writeSurrogate$2,3001,_fillBuffer$3,3002,_writeReplacementCharacter$0,3003,fillRange$3,3004,_uriCache,3005,_separatorIndices,3006,normalize$3,2910,bufferCache,3007,_encoder,3008,_alphabet,3009,_convert$_add$4,3010,encode$4,3011,createBuffer$1,3012,toRadixString$1,3013,_takeCount,3014,_remaining,3015,firstMatch$1,3016,encode$1,3011,_second,3017,_convert$_first,3018,_subsetMask,3019,allMatches$1,2931,absolute$15,2953,toUri$1,3020,relativePathToUri$1,3021,join$2,2652,absolutePathToUri$1,3022,hasTrailingSeparator,3023,get$hasTrailingSeparator,3023,_defaultSplit$1,3024,_hasSkipped,3025,isEmpty,3026,get$isEmpty,3026,_trimVMChain$1,3027,_delegationTarget,3028,_async$_errorCallback,3029,get$_async$_errorCallback,3029,set$_async$_errorCallback,3029,_parentDelegate,3030,get$_parentDelegate,3030,_processUncaughtError$3,3031,chainFor$1,3032,_stack_zone_specification$_onError,3033,parent,3034,get$parent,3034,_chain,3035,get$_chain,3035,__LazyChain__chain_FI,3036,_lazy_chain$_thunk,3037,toTrace,2897,get$toTrace,2897,_async$_handleUncaughtError,3038,get$_async$_handleUncaughtError,3038,set$_async$_handleUncaughtError,3038,registerBinaryCallback$3$2,2587,_run$1$2,3039,_async$_registerBinaryCallback,3040,get$_async$_registerBinaryCallback,3040,set$_async$_registerBinaryCallback,3040,registerUnaryCallback$2$2,2609,_async$_registerUnaryCallback,3041,get$_async$_registerUnaryCallback,3041,set$_async$_registerUnaryCallback,3041,registerCallback$1$2,2646,_async$_registerCallback,3042,get$_async$_registerCallback,3042,set$_async$_registerCallback,3042,_errorZone,3043,fork$2$specification$zoneValues,2881,_async$_map,3044,get$_async$_map,3044,_async$_run,3045,get$_async$_run,3045,_runUnary,3046,get$_runUnary,3046,_runBinary,3047,get$_runBinary,3047,_createTimer,3048,get$_createTimer,3048,_createPeriodicTimer,3049,get$_createPeriodicTimer,3049,_print,3050,get$_print,3050,_fork,3051,get$_fork,3051,_delegate,3052,get$_delegate,3052,_delegateCache,3053,bindUnaryCallback$2$1,3054,decode$2$reviver,3055,runTearDowns$1,3056,spanFor$3$uri,3057,sourceUrl,3058,get$sourceUrl,3058,_isWithinOrEquals$2,3059,relative$2$from,2911,_isWithinOrEqualsFast$2,3060,_pathDirection$2,3061,targetUrl,3062,sourceRoot,3063,urls,3064,lines,3065,get$lines,3065,_findLine$1,3066,_findColumn$3,3067,sourceUrlId,3068,sourceNameId,3069,_mapUrl,3070,sourceLine,3071,sourceColumn,3072,text,3073,get$text,3073,isIdentifier,3074,distance$1,3075,extensions,3076,files,3077,_lineStart,3078,_columnStart,3079,_maps,3080,_indexFor$2,3081,spanFor$3$files,3057,index,3082,nextKind,3083,get$nextKind,3083,isNewLine,3084,isNewSegment,3085,_segmentError$2,3086,isEof,3087,_internal,3088,_parser$_length,3089,_cachedLine,3090,_decodedChars,3091,_lineStarts,3092,_shlPositive$1,3093,hasTokens,3094,get$hasTokens,3094,cast$1$0,2720,decoder,3095,get$decoder,3095,_reviver,3096,_processed,3097,_data,3098,_convert$_computeKeys$0,3099,_original,3100,_parent,3101,_process$1,3102,_stringSink,3103,code,3104,__,3105,get$__,3105,toString,2444,get$toString,2444,noSuchMethod,2787,get$noSuchMethod,2787,checkMutable$1,3106,checkGrowable$1,3107,cast,2720,get$cast,2720,add,2554,get$add,2554,removeAt,2955,get$removeAt,2955,insert,2915,get$insert,2915,insertAll,2922,get$insertAll,2922,setAll$2,3108,removeLast,2926,get$removeLast,2926,where$1,3109,expand$1$1,3110,addAll,2785,get$addAll,2785,_addAllFromArray,2786,get$_addAllFromArray,2786,clear$0,3111,_clear$0,3112,map,2681,get$map,2681,join,2652,get$join,2652,take$1,3113,skip,2660,get$skip,2660,skipWhile$1,2508,elementAt,2570,get$elementAt,2570,sublist,2651,get$sublist,2651,getRange,2850,get$getRange,2850,setRange,2659,get$setRange,2659,every$1,3114,contains,2902,get$contains,2902,isNotEmpty,3115,get$isNotEmpty,3115,toList,2661,get$toList,2661,_toListGrowable$0,3116,_toListFixed$0,3117,_setLengthUnsafe$1,3118,__0,3119,get$__0,3119,___,3120,get$___,3120,whereType$1$0,3121,moveNext,2560,get$moveNext,2560,compareTo,2653,get$compareTo,2653,isNaN,3122,get$isNaN,3122,isFinite,3123,get$isFinite,3123,remainder$1,3124,abs$0,3125,toRadixString,3013,get$toRadixString,3013,_,3126,get$_,3126,_isInt32$1,3127,__1,3128,get$__1,3128,_tdivFast,2840,get$_tdivFast,2840,_tdivSlow,2842,get$_tdivSlow,2842,_shlPositive,3093,get$_shlPositive,3093,_shrOtherPositive,2594,get$_shrOtherPositive,2594,_shrReceiverPositive,2999,get$_shrReceiverPositive,2999,_shrBothPositive,2602,get$_shrBothPositive,2602,isOdd,3129,get$isOdd,3129,codeUnitAt,2985,get$codeUnitAt,2985,_codeUnitAt$1,3130,allMatches,2931,get$allMatches,2931,matchAsPrefix,2670,get$matchAsPrefix,2670,_2,3131,get$_2,3131,endsWith,2903,get$endsWith,2903,replaceAll$2,3132,replaceAllMapped$2,3133,splitMapJoin$2$onMatch,3134,replaceFirst,2928,get$replaceFirst,2928,split,2912,get$split,2912,replaceRange,2933,get$replaceRange,2933,_defaultSplit,3024,get$_defaultSplit,3024,startsWith,2669,get$startsWith,2669,substring,2668,get$substring,2668,toLowerCase$0,3135,toUpperCase$0,3136,trim,2741,get$trim,2741,_3,3137,get$_3,3137,padLeft,2621,get$padLeft,2621,padRight,2893,get$padRight,2893,codeUnits,3138,get$codeUnits,3138,indexOf,2939,get$indexOf,2939,lastIndexOf,2989,get$lastIndexOf,2989,containsKey,2735,get$containsKey,2735,forEach,2684,get$forEach,2684,_captured_this_0,3139,_captured_f_1,3140,id,3141,fold,2891,get$fold,2891,$$1,3142,get$$$1,3142,$$2,3143,get$$$2,3143,_setKeys$1,3144,_getMap,2685,get$_getMap,2685,_types,3145,get$_types,3145,isGetter,3146,get$isGetter,3146,isAccessor,3147,get$isAccessor,3147,_internalName,3148,_captured_namedArgumentList_1,3149,_captured_arguments_2,3150,matchTypeError,2595,get$matchTypeError,2595,$call,2519,get$$call,2519,__js_helper$_name,3151,get$__js_helper$_name,3151,__js_helper$_target,3152,get$__js_helper$_target,3152,internalContainsKey$1,3153,internalGet,2699,get$internalGet,2699,internalSet,2708,get$internalSet,2708,_addHashTableEntry,2707,get$_addHashTableEntry,2707,_modified$0,3154,_newLinkedCell,2709,get$_newLinkedCell,2709,internalComputeHashCode,2701,get$internalComputeHashCode,2701,__js_helper$_getBucket$2,3155,internalFindBucketIndex,2702,get$internalFindBucketIndex,2702,_getTableCell$2,3156,_getTableBucket$2,3157,_setTableEntry$3,3158,_deleteTableEntry$2,3159,_containsTableEntry$2,3160,_newHashTable,2706,get$_newHashTable,2706,__js_helper$_captured_this_0,3161,_previous,3162,_captured_getTag_0,3163,_captured_getUnknownTag_0,3164,_captured_prototypeForTag_0,3165,_shapeTag,3166,get$_shapeTag,3166,_sameShape$1,3167,_getRti$0,3168,_toString,2551,get$_toString,2551,_fieldKeys,2552,get$_fieldKeys,2552,_computeFieldKeys,2555,get$_computeFieldKeys,2555,_getFieldValues,2553,get$_getFieldValues,2553,_equalFields$1,3169,_isMultiLine,3170,get$_isMultiLine,3170,_isCaseSensitive,3171,get$_isCaseSensitive,3171,_isUnicode,3172,get$_isUnicode,3172,_isDotAll,3173,get$_isDotAll,3173,firstMatch,3016,get$firstMatch,3016,hasMatch$1,3174,_execGlobal,2935,get$_execGlobal,2935,_execAnchored,2944,get$_execAnchored,2944,isUnicode,3175,get$isUnicode,3175,group$1,3176,input,3177,readLocal$1$0,3178,_readLocal,2875,get$_readLocal,2875,readFinal$1$0,3179,_readFinal,2674,get$_readFinal,2674,asUint8List$2,3180,buffer,3181,get$buffer,3181,offsetInBytes,3182,get$offsetInBytes,3182,_invalidPosition$3,3183,_checkPosition$3,3184,_setRangeFast$4,3185,_eval,2559,get$_eval,2559,_bind,2588,get$_bind,2588,_dynamicCheckData,3186,_async$_box_0,3187,_captured_div_1,3188,_captured_span_2,3189,_captured_callback_0,3190,_once,3191,_handle,3192,_async$_captured_this_0,3193,_captured_callback_1,3194,_captured_milliseconds_1,3195,_captured_start_2,3196,_captured_callback_3,3197,complete,2603,get$complete,2603,completeError,2589,get$completeError,2589,isCompleted,3198,get$isCompleted,3198,_captured_bodyFunction_0,3199,_captured_protected_0,3200,_resumeBody,2717,get$_resumeBody,2717,_yieldStar,2719,get$_yieldStar,2719,_modelGeneratedCode$0,3201,_captured_cleanUp_1,3202,_captured_eagerError_2,3203,_captured__future_3,3204,_captured_error_4,3205,_captured_stackTrace_5,3206,_captured_pos_1,3207,_captured__future_2,3208,_captured_cleanUp_3,3209,_captured_eagerError_4,3210,_captured_error_5,3211,_captured_stackTrace_6,3212,_captured_T_7,3213,_captured_completer_0,3214,_captured_T_1,3215,handlesValue,3216,get$handlesValue,3216,handlesError,3217,get$handlesError,3217,hasErrorTest,3218,get$hasErrorTest,3218,handlesComplete,3219,get$handlesComplete,3219,_onValue,3220,get$_onValue,3220,_errorTest,3221,get$_errorTest,3221,_whenCompleteAction,3222,get$_whenCompleteAction,3222,hasErrorCallback,3223,get$hasErrorCallback,3223,handleValue$1,3224,matchesErrorTest,2632,get$matchesErrorTest,2632,handleError,2633,get$handleError,2633,handleWhenComplete$0,3225,shouldChain$1,3226,_mayComplete,3227,get$_mayComplete,3227,_isPendingComplete,3228,get$_isPendingComplete,3228,_mayAddListener,3229,get$_mayAddListener,3229,_isChained,3230,get$_isChained,3230,_isComplete,3231,get$_isComplete,3231,_async$_hasError,3232,get$_async$_hasError,3232,_ignoreError,3233,get$_ignoreError,3233,_setChained,2629,get$_setChained,2629,then,2605,get$then,2605,_thenAwait,2604,get$_thenAwait,2604,_ignore$0,3234,whenComplete,2766,get$whenComplete,2766,_setPendingComplete$0,3235,_clearPendingComplete$0,3236,_error,3237,get$_error,3237,_chainSource,3238,get$_chainSource,3238,_setValue$1,3239,_setErrorObject,2639,get$_setErrorObject,2639,_setError$2,3240,_cloneResult,2614,get$_cloneResult,2614,_addListener,2610,get$_addListener,2610,_prependListeners,2630,get$_prependListeners,2630,_removeListeners,2628,get$_removeListeners,2628,_reverseListeners,2627,get$_reverseListeners,2627,_chainForeignFuture,2643,get$_chainForeignFuture,2643,_complete,2783,get$_complete,2783,_completeWithValue,2642,get$_completeWithValue,2642,_asyncComplete,2640,get$_asyncComplete,2640,_asyncCompleteWithValue,2648,get$_asyncCompleteWithValue,2648,_chainFuture,2641,get$_chainFuture,2641,_asyncCompleteError,2638,get$_asyncCompleteError,2638,_captured_listener_1,3241,_captured_this_1,3242,_captured_e_1,3243,_captured_s_2,3244,_captured_target_1,3245,_captured_value_1,3246,_captured_error_1,3247,_captured_stackTrace_2,3248,_captured_hasError_2,3249,_captured_originalSource_0,3250,_captured_sourceResult_1,3251,transform$1$1,3252,_captured_future_1,3253,stream,3254,get$stream,3254,sink,3255,get$sink,3255,_isCanceled,3256,get$_isCanceled,3256,hasListener,3257,get$hasListener,3257,_isInitialState,3258,get$_isInitialState,3258,isClosed,3259,get$isClosed,3259,isPaused,3260,get$isPaused,3260,_isAddingStream,3261,get$_isAddingStream,3261,_mayAddEvent,3262,get$_mayAddEvent,3262,_ensurePendingEvents,2865,get$_ensurePendingEvents,2865,_badEventState,2863,get$_badEventState,2863,addStream,2867,get$addStream,2867,done,3263,get$done,3263,_ensureDoneFuture,2871,get$_ensureDoneFuture,2871,addError,2820,get$addError,2820,_closeUnchecked$0,3264,_subscribe,2752,get$_subscribe,2752,_recordCancel,2764,get$_recordCancel,2764,_recordPause$1,3265,_recordResume$1,3266,_sendData,2821,get$_sendData,2821,_sendError,2817,get$_sendError,2817,_sendDone,2815,get$_sendDone,2815,_createSubscription$4,3267,_onCancel,2763,get$_onCancel,2763,cancel,2747,get$cancel,2747,_setPendingEvents,2758,get$_setPendingEvents,2758,pause,2778,get$pause,2778,resume,2757,get$resume,2757,_isInputPaused,3268,get$_isInputPaused,3268,_async$_isClosed,3269,get$_async$_isClosed,3269,_waitsForCancel,3270,get$_waitsForCancel,3270,_inCallback,3271,get$_inCallback,3271,_hasPending,3272,get$_hasPending,3272,_isPaused,3273,get$_isPaused,3273,_canFire,3274,get$_canFire,3274,_mayResumeInput,3275,get$_mayResumeInput,3275,_cancelOnError,3276,get$_cancelOnError,3276,_cancel,2760,get$_cancel,2760,_decrementPauseCount$0,3277,_addPending,2816,get$_addPending,2816,_guardCallback,2759,get$_guardCallback,2759,_checkState,2772,get$_checkState,2772,listen,2745,get$listen,2745,_onListen$1,3278,perform,2781,get$perform,2781,isScheduled,3279,get$isScheduled,3279,_eventScheduled,3280,get$_eventScheduled,3280,schedule,2776,get$schedule,2776,cancelSchedule$0,3281,handleNext$1,3282,_captured_dispatch_1,3283,_stateData,3284,_async$_hasValue,3285,_transformerSink,3286,get$_transformerSink,3286,set$_transformerSink,3286,_handleData$1,2811,_handleError$2,2813,_handleDone$0,2812,handleUncaughtError$3,2624,inSameErrorZone$1,3287,_processUncaughtError,3031,get$_processUncaughtError,3031,runGuarded,2618,get$runGuarded,2618,runUnaryGuarded,2819,get$runUnaryGuarded,2819,runBinaryGuarded,2818,get$runBinaryGuarded,2818,bindCallback,2617,get$bindCallback,2617,bindUnaryCallback,3054,get$bindUnaryCallback,3054,bindCallbackGuarded,2616,get$bindCallbackGuarded,2616,print$1,2882,_captured_registered_1,3288,_captured_R_2,3289,_captured_T_2,3290,_captured_R_3,3291,_captured_error_0,3292,_captured_stackTrace_1,3293,_async$_captured_f_1,3294,_containsKey,2740,get$_containsKey,2740,_get,2728,get$_get,2728,_set,2739,get$_set,2739,_computeKeys,2722,get$_computeKeys,2722,_collection$_addHashTableEntry,2738,get$_collection$_addHashTableEntry,2738,_computeHashCode,2731,get$_computeHashCode,2731,_getBucket,2729,get$_getBucket,2729,_findBucketIndex,2730,get$_findBucketIndex,2730,_collection$_captured_this_0,3295,_captured_result_0,3296,_captured_K_1,3297,_captured_V_2,3298,_closeGap$2,3299,fillRange,3004,get$fillRange,3004,_collection$_box_0,3300,_captured_result_1,3301,_isUpgraded,3302,get$_isUpgraded,3302,_upgradedMap,3303,get$_upgradedMap,3303,_convert$_computeKeys,3099,get$_convert$_computeKeys,3099,_upgrade$0,3304,_process,3102,get$_process,3102,_convert$_captured_this_0,3305,encode,3011,get$encode,3011,decode$1,3055,encoder,3306,get$encoder,3306,_allowInvalid,3307,convert,2929,get$convert,2929,startChunkedConversion,2830,get$startChunkedConversion,2830,addSlice,2823,get$addSlice,2823,normalize,2910,get$normalize,2910,_urlSafe,3308,createBuffer,3012,get$createBuffer,3012,_convert$_add,3010,get$_convert$_add,3010,fuse$1$1,3309,bind,1789,get$bind,1789,decode,3055,get$decode,3055,_toEncodable,3310,_addLines,2825,get$_addLines,2825,_addCarry$2,3311,_useCarry,2827,get$_useCarry,2827,asUtf8Sink,2832,get$asUtf8Sink,2832,asStringSink$0,3312,_writeReplacementCharacter,3003,get$_writeReplacementCharacter,3003,_writeSurrogate,3001,get$_writeSurrogate,3001,_fillBuffer,3002,get$_fillBuffer,3002,convertSingle$3,3313,convertChunked$3,3314,convertGeneral,2838,get$convertGeneral,2838,_convertRecursive,2839,get$_convertRecursive,2839,flush,2843,get$flush,2843,decodeGeneral,2841,get$decodeGeneral,2841,_core$_box_0,3315,_captured_sb_1,3316,millisecondsSinceEpoch,3317,get$millisecondsSinceEpoch,3317,year,3318,get$year,3318,month,3319,get$month,3319,day,3320,get$day,3320,hour,3321,get$hour,3321,minute,3322,get$minute,3322,second,3323,get$second,3323,millisecond,3324,get$millisecond,3324,microsecond,3325,get$microsecond,3325,inMilliseconds,3326,get$inMilliseconds,3326,inMicroseconds,3327,get$inMicroseconds,3327,_duration,3328,indexable,3329,_existingArgumentNames,3330,skipWhile,2508,get$skipWhile,2508,write$1,3331,writeCharCode$1,3332,writeAll$2,3333,writeln$1,3334,_writeString$1,3335,_captured_host_0,3336,_core$_captured_error_0,3337,_captured_host_1,3338,isScheme,2990,get$isScheme,2990,_mergePaths,2988,get$_mergePaths,2988,resolve,2959,get$resolve,2959,resolveUri,2987,get$resolveUri,2987,hasScheme,3339,get$hasScheme,3339,hasEmptyPath,3340,get$hasEmptyPath,3340,toFilePath,2960,get$toFilePath,2960,_toFilePath$0,3341,_writeAuthority$1,3342,_initializeText$0,3343,___Uri_queryParameters_FI,3344,___Uri_queryParametersAll_FI,3345,_computeUri$0,3346,_captured_tables_0,3347,_isFile,3348,get$_isFile,3348,_isHttp,3349,get$_isHttp,3349,_isHttps,3350,get$_isHttps,3350,_isPackage,3351,get$_isPackage,3351,_computeScheme,2998,get$_computeScheme,2998,_isPort,2995,get$_isPort,2995,removeFragment,2997,get$removeFragment,2997,_simpleMerge,2993,get$_simpleMerge,2993,_toNonSimple,2994,get$_toNonSimple,2994,_core$_data,3352,_closeTarget,2855,get$_closeTarget,2855,_completeDoneValue$1,2859,_io$_captured_this_0,3353,_encodingMutable,3354,errorCode,3355,_captured__convertedObjects_0,3356,_js_util$_captured_completer_0,3357,_js_util$_captured_T_1,3358,_captured_mainFn_0,3359,onExit$1,3360,runTearDowns,3056,get$runTearDowns,3056,_enumToString,2657,get$_enumToString,2657,_captured_version_0,3361,_captured_patchVersion_0,3362,revision,3363,_captured_platform_0,3364,chrome,3365,_captured__0_0_0,3366,_captured__0_4_0,3367,_captured__0_1_0,3368,_captured_controller_0,3369,_captured__this_0,3370,_captured_onData_1,3371,_captured_onDone_2,3372,_captured_onError_3,3373,_child_process$_captured_completer_0,3374,_child_process$_captured_T_1,3375,_captured_echoOutput_0,3376,_captured_stdout_1,3377,_captured_stderr_1,3378,_init,2844,get$_init,2844,kill$0,3379,_process_manager$_box_0,3380,_process_manager$_captured_this_0,3381,_stream$_captured_controller_0,3382,_stream$_captured_T_1,3383,_captured_closeWhenDone_0,3384,_captured_controller_1,3385,_captured_completer_2,3386,absolute,2953,get$absolute,2953,isAbsolute$1,3387,isRelative$1,3388,joinAll,2957,get$joinAll,2957,_needsNormalization,2921,get$_needsNormalization,2921,relative,2911,get$relative,2911,isWithin$2,3389,_isWithinOrEquals,3059,get$_isWithinOrEquals,3059,_isWithinOrEqualsFast,3060,get$_isWithinOrEqualsFast,3060,_pathDirection,3061,get$_pathDirection,3061,fromUri$1,1589,toUri,3020,get$toUri,3020,prettyUri,2907,get$prettyUri,2907,_parse$1,3390,getRoot,2917,get$getRoot,2917,relativePathToUri,3021,get$relativePathToUri,3021,codeUnitsEqual,2956,get$codeUnitsEqual,2956,pathsEqual,2954,get$pathsEqual,2954,canonicalizePart$1,3391,isAbsolute,3387,get$isAbsolute,3387,removeTrailingSeparators,2925,get$removeTrailingSeparators,2925,isRootRelative,2918,get$isRootRelative,2918,context,1669,get$context,1669,containsSeparator,2958,get$containsSeparator,2958,isSeparator,2919,get$isSeparator,2919,needsSeparator,2924,get$needsSeparator,2924,rootLength,2920,get$rootLength,2920,pathFromUri,2909,get$pathFromUri,2909,absolutePathToUri,3022,get$absolutePathToUri,3022,_captured_sourceMap_0,3392,_captured_minified_1,3393,_captured_packageMap_2,3394,_captured_sdkRoot_3,3395,_captured_sdkLib_1,3396,_captured_minified_3,3397,_indexFor,3081,get$_indexFor,3081,spanFor$4$files$uri,3057,spanFor,3057,get$spanFor,3057,toJson$0,3398,_segmentError,3086,get$_segmentError,3086,_findLine,3066,get$_findLine,3066,_findColumn,3067,get$_findColumn,3067,_parser$_captured_this_0,3399,_captured_line_0,3400,_captured_column_0,3401,_consumeValue$0,3402,_consumeNewLine$0,3403,_consumeNewSegment$0,3404,isValue,3405,get$isValue,3405,span$2,3406,location$1,2892,getLine$1,3407,_isNearCachedLine$1,3408,_binarySearch$1,3409,getColumn$1,3410,getOffset$2,3411,getText$2,3412,toolString,3413,get$toolString,3413,distance,3075,get$distance,3075,_chain$_captured_callback_0,3414,_chain$_captured_T_1,3415,_captured_longest_0,3416,_captured_frame_0,3417,_disabled,3418,get$_disabled,3418,toSpec$0,3419,chainFor,3032,get$chainFor,3032,_registerCallback$1$4,2877,_registerCallback$4,2877,_registerUnaryCallback$2$4,2878,_registerUnaryCallback$4,2878,_registerBinaryCallback$3$4,2879,_registerBinaryCallback$4,2879,_handleUncaughtError$5,2876,_errorCallback$5,2880,_createNode$1,3420,_run,3039,get$_run,3039,_currentTrace,2886,get$_currentTrace,2886,_trimVMChain,3027,get$_trimVMChain,3027,_stack_zone_specification$_box_0,3421,_stack_zone_specification$_captured_this_0,3422,_captured_original_1,3423,_stack_zone_specification$_captured_f_1,3424,_captured_node_2,3425,_stack_zone_specification$_captured_R_3,3426,_captured_T_3,3427,_captured_R_4,3428,_captured_f_0,3429,_captured_arg_1,3430,_stack_zone_specification$_captured_R_2,3431,_captured_T1_3,3432,_captured_T2_4,3433,_captured_R_5,3434,_captured_arg1_1,3435,_captured_arg2_2,3436,_stack_zone_specification$_captured_stackTrace_1,3437,_captured_level_2,3438,toChain,2888,get$toChain,2888,_captured_trace_0,3439,_trace$_captured_longest_0,3440,isCore,3441,$package,3442,_setup_chromedriver$_captured__0_0_0,3443,_captured_chromeVersion_0,3444,_captured_chromeDriverUrl_0,3445,_captured_chromeVersion_1,3446,FutureExtensions__ignore$1,2377,_rootRun$4,3447,_rootRunUnary$5,3448,_rootRunBinary$6,3449,_rootRegisterCallback$4,3450,_rootRegisterUnaryCallback$4,3451,_rootRegisterBinaryCallback$4,3452,max$2,533,compareComparable$2,552,$indexSet,3453,$index,3454,$add,3455,$mul,3456,$le,3457,$sub,3458,$lt,3459,$eq,3460,$mod,3461,$tdiv,3462,$negate,3463,$div,3464,$shl,3465,$shr,3466,$and,3467,$or,3468,$xor,3469,$gt,3470,$ge,3471,$not,3472" }, - "frames": "8uVA4JoBEAA8CgBuqD4L,A;sgBAfhCtqDAAmB0BsqD+L,A;iwUGvIbiBuH;eAEFutDuF;y6BE6JbvtDAAAAAwR,A;uPA+HWAsI;eAEFutDwG;oSA6IEvtDoG;eAEFutDsE;iKAwFEvtDAAmByCwtDkH,A;OAnBzCxtDAAmBFutDgG,A;gBAjB4BC8G;OAA5BDkE;6DA2bwBvtD8B;0DAIHAoC;84JEhyBnBAyEArOXA6B,A;2/EC+akBytDuB;uCAAAA6B;uNAuBQC6B;+YAYVD4C;waA+BIEyC;8xFA0NHhKsB;w1CA+H+BnSoC;yJAYjB/5FAAzrBpBuoD0B,A;mRAquBqCwxC+C;g1EAmGCyFAIn8BzBzFsC,A;gYJi9ByByFAIj9BzBzFsC,A;utCJy/BZoc6C;4lBAAAA+C;iNAmBqBv6BkC;2hBAqCH1zB4C;mgBAgCnBA2C;uDASAA6C;8LAyCcK8F;ypCAyQZA+S;u4BA4MJA2C;8xCA0DyBAkB;8oDAkCJAkB;4DAOpBAoE;iJAKCA0B;gMAWiBAsH;oLASjBA0B;4NAiCuBA4B;6FAGtBA4C;ocAwDgBq9BoC;yMAKrBwwBqB;ggFAsOO7tD6D;AAEAA8e;25HAyPFA0F;m7DAqF6B8tDmK;AACHCsK;wRA4HtBj0GACr/DTk0GiD,sB;sPD2gEchuDoG;giBA0IfAqC;iEAaIAmD;2lEEx/EDxlDAA2BTyzGoI,A;kTAZSzzGAAYTyzGoI,A;2vCArEuBnzGAAzChBozGwE,A;0yDAiRSlzGsL;qmDKlRP4/FuB;6HAGyB3DkB;saA2BhB9mBO;ieAwBPg+B+F;sCACFCiC;kWAYP3JyC;sFAIFAgD;ysBA0CO2JiC;wPA2BPh6BADjBQp0B4B,uG;sCCiBRhpCqG;AAC+Dm5DwC;AAA7Ds0Bc;+EACAAI;8EAGFAc;wlBAiEkC4JgB;AAA1BDoC;uzME1T6BEwE;2FAYAC2D;gGAkCrCnkDAAAAAY,A;sIAoDAAAAAAAY,A;2iGR0BQokDwF;+DASeCgB;iDACfDyE;AADeCoB;ywBAkabCAArR8BCwC,A;AAwRxBCmB;qDAGVCqD;6kJAsJiBC4B;AACICiC;whCA4BsBCAAhRRhvDkD,A;AAiRrBivDkE;AAEACkE;AAEACkC;qVAwCFCmC;0LAaZ5xGAA9CkC6xGsB,A;sMAqEpC3xGAAxEuC2xGiB,A;28BA8Jd7xGAA3JW6xG4G,A;6RAiL5BxyGgE;+ZAyEyBsBAIz4BtBmxGyC,A;oCJy4BsBnxGAIz4BtBmxGqC,A;QJ04BKCiCAlFlB/xGAAzKsC6xGuD,A,A;wMAiQLG4B;iFAOMnxGuC;uBAAAAAAKrCoxGoD,A;mFAQgBzrD0E;8CAGXhEAAmCTAAAAAAAACMyvDsB,A,A,gB;2FAhCFpxG6C;iCAAAAAAfAoxG8D,A;4QAuBWzB4D;8JAQF0ByD;sDAGN1BwE;oEAKkBnxGmD;uOAgErBwE6K;mFAGIsuGc;+2BAuCACqD;qOAUCCsF;qOASLCmB;gKAsCAzuG8H;qSAUA0uGmB;iqCA8CUCiC;uBAKVtyGAAvhBuC2xGiB,A;iVA8iB7BWiC;uBAKVtyGAAnjBuC2xGiB,A;0gDA4nBvBjrDiC;wLAiBT6rDyB;8jMAqPF5uGAAs6DPkEkB,wO;kQA75DmB2qGAA1zCCC0C,A;swFA88CJCAA17CIDsC,A;qPDxPFEmB;wlBCo3DHCmE;orBA0DLC6G;qIAOMCmB;8CAGVC+B;gFAIIFkH;+IAMM3BmB;8CAGVC6D;yWAiDFkB8C;AACAD0C;yLAyF8BYAAIpB1BAApzDPhvDsC,A,AAqzDH2wDwB,AACAC+B,yF;oHAKSCAA/CXCqE,A;ojBAkEY9BAA90DPhvDsC,A;AA+0DH2wDqB;AACAI4B;GACAH+B;kKAMSIAAzEXFqE,A;0lCAyGY9BAAv3DPhvDsC,A;AAw3DH2wDqB;AACAI4B;GACAH+B;kKAMSKAAhHXHqE,A;0TA2HmBnBgB;AACftuG4O;6DAGKotG+D;oIAKGOAAp5DPhvDsC,A;AAq5DH2wDqB;AACAI4B;GACAH+B;8QAUAMAAKUlCAAt6DPhvDsC,A,AAu6DH2wDsB,AACAI4B,AACAH+B,yF;keAqBmB9BiC;4PA0BVqC0F;iFAKMCAAKLpCAAl+DPhvDsC,A,AAm+DH2wDqB,AACAI4B,AACAMyC,wBAGE7CyC,AAEFoC6B,uF;iOAyBSUkD;iEAEACaAlBNCyF,A;mFAuBYCAAKLzCAA/gEPhvDsC,A,AAghEH2wDsB,AACAI8B,AACAMgC,AACAT+B,yF;4FAgBSc2H;2EAKTCAAKU3CAA7iEPhvDsC,A,AA8iEH2wDsB,AACAIsC,AACAM0B,AACAT+B,yF;6FA6CSgBAAtCPCoD,AADY7tD0D,AACZ6tD0tB,A;mHA2CFCAAKU9CAAxmEPhvDsC,A,AAymEH2wDsB,AACAIiC,AACAM8B,AACAT+B,yF;iHAcSmBsCARXC4F,A;wjCA4CYhDAA9pEPhvDsC,A;AA+pEH2wDsB;AACAIuC;AACAMuB;GACAT+B;kTAyKOqBiD;kzBA4BCCmF;kDAIkB5BiE;kDAIA6BiE;mDAIACiE;wDAItBCAAgFRCgC,AACACuB,A;4zBAtCQFAAqCRCgC,AACACuB,A;uJA9BQFAA6BRCgC,AACACuB,A;0CA1BQCAA2KS5vDwBAoCE6vDmB,4DAEnBF4F,A,A;yDA7MQFAAqBRCgC,AACACuB,A;2CAlBQGAAyKSCwBAqCEFmB,iEAEnBF4F,A,A;0CA5MYKoDA+KZNkF,AAEADAApKACgC,AACACuB,A,2B;q8BAsBoDMsD;mNAUpCCqY;uuDAsFyC9DAAp+ElBhvD8D,A;AAq+EfivD+D;AAEAC+D;AAEACsC;2cA+CA4D4D;2DAIAC4D;oMAOLPW;oDAEnBF8B;slEA0JElxG+E;o2JAgMsB+tGa;2LAQAAa;yNASAAuC;kVAoBX6DyB;oXAQAlEwB;uEAEQKwB;mbAuCE8DwB;ynBAgBTxEAAnqGwBCc,A;MAoqGxBDAApqGwBCc,A;oQAwrGpBSuB;AACAAa;43Har2GpBpvD+C;6GAeAicwD;kEA6FWjc2BAxCSmzDAAAAnzD0D,A,sC;iJAuDHyvBQ;4yBA2DMzvBgF;AAAAozDqE;kdAiCXp8F0C;q2BIqBCy7DgEHlEbAAAAAA+B,A,A;uDGsMmCzyB4R;4jCAkFlB0tBkEA/LK12DsC,0VAQT27DmDHxFbAAAAAAuD,A,A,A;2CGoRMhzBiC;AACAAsC;2DAwCgB0zDAAonBUrzDyDHhqC5BAAA9C0ByvBAAAAzvB0D,A,A,oD,A;uwBAyR9B0yBAAUAAAATE0gC+E,A,A;oJAqRcEkC;AACICkD;kjBAqBJDyB;uBACICsD;g6BAmKOCuE;iFAGYCwD;osBAgCVnWkB;iHACDoWyB;uDACE7RiG;4EAES4RwD;2RA6EpBhWkB;woBAkBTO8D;wHAMgB2VqC;AACFCgL;AACZCmI;8MAcIDmK;0FAEVRoI;4BAGAUoG;ilCI91BQCoD;qGAUqB/zD4E;oJAKrB+zDoD;oYAoBkB/zD2E;2rBAkD5B6hDM;iCAAAAgD;qLAKC7qFsB;yHCi5EGgpC0D;OAAAAuD;gGE36EAA+F;mTAmsBDhpCwD;6wBD1UFA6D;6jFLo8BqB6qFM;sCAAAAmC;wrBAuBbmSkC;4DAIbCkB;goBA8BOj0DqdAxYPAAAAAA+FAgCQA6M,8GAIqBAqP,iHAKCA2R,sFAKTA2M,wGA2BbAoI,A,A,A;kRA6lBDhpC0E;ouXQzuDYgpCuC;uCAAAAwD;4aA+dAA4C;kGAAAA+D;uEAqCNAqF;0iBGhbEAqD;6XAoBNktBkB;q2FC7BAltB2C;2wHC6PHk0D4N;cAAAA0E;cAAAAsJ;cAAAA4E;cAAAAoL;qDAAAA0E;uEAAAA6F;cAAAA0E;cAAAAuJ;cAAAA4E;cAAAAmM;cAAAA4E;cAAAAsI;mgM1B1KSCwD;g+BAqQNCiC;0IAM4BCAAyB5BD6B,0C;8bAkBAE+B;kNAuBEC8E;OAAAA0F;yEAGACoH;2pCA8EHx0DuG;+LA+DQwxCsC;AAEDijBc;uFAGFAc;0EAGEAkC;yJAsBOlHkC;mzBA2Ga3SgDG7qBc8ZkB,A;mCHorBnCjkB8D;sRAPqBmKAG7qBc8ZoB,A;kBHyrB3ChQAAjLaptCiI,A;urCL1iBVq9CiC;o5EkC9D2B30DyB;wvBxB0zB1B2kD8G;yPAqBc3kDkD;gGAGpB2kDiG;2LAMKz3BkB;yrFyBnrBLltByG;0NCckB40D8D;qOAGACmF;+NAIACkH;kIC6MGCAA05FD/0DiF,wJAcHqzByD,wFASJk6BW,AAAErgCkB,A;iZAx8EC8nC8C;UAAAA4J;q1FAAAAkE;gDAAAAyD;+3EAsOTh1DoG;gBAIGi1D2N;6BAAAAgTA0dAdmC,kT;6BA1dAcyM;OAAAA4I;kmKAigBcCuB;gOAOIjeAzCruCRzF4D,A;8JyC0uCT0jB+D;AAKF1jBqB;2tCAuKS9W4H;AAApBtGAtCzwD0Bp0B4F,A;AsCywD1BhpC8B;mCAAAAiF;s2DAsDSkhFAzClyDoCwc6D,A;mKyCkyDpCxcoE;4UAAAAAzClyDoCwcmB,A;ytFyCo+D3Bl8CiI;isBAoCPxY4P;kZAeIA2C;8TASXykDAhCp+CJ0QyC,A;sGgCw+CaCsH;qBAAAA4F;wHAGIp1D+C;ipBAHJo1DiF;mHAqBGp1D+C;AAAJykD0G;4WAYLv3BkB;qsBA4BQltB2C;icAWXykDAhChjDJ0QyC,A;iHgCojDaEsH;qBAAAA4F;wHAGIr1D+C;uRAQJs1D4H;uBAAAAkG;+wBAaGt1DiD;AAAJykDkH;qcAaLv3BkB;0lBAeAqoCwH;mBAAAAsE;0oCAmCIx5BA1Cv8DA/7BwE,I;iC0Cu8DA+7BA1Cv8DA/7B4C,A;0Q0Cg9DAwxCyB;2SAeAAqB;8zCA4EPgkB8I;iBAAAAiF;uBAIYl+CqG;irGAmGoBg+CkI;yBAAAAyH;y4BAkBpBt1D6C;AAAJykDiE;+FAAAAEhCx2DZ0Q8C,A;0VgCq3DOjoCkB;qnBAwEQ+pBA1C/1DOzFmB,A;mI0Ci2DLA6B;m0BAsCDA4E;obAYLAe;4HAA4CAwC;mqCAwCnBhEwB;q1BAoLzByJAzCn7EWzFqE,A;AyCy7EtBmTiH;w8CA+JuCnMAzChpFVx4CwB,A;utByCsqFtBqzCiC;gBAAAA6E;uRAkZLoRAhC1xFF0QoD,A;kUgCkyFE1QAhClyFF0Q+B,A;20EgCwtGe5HuC;yfAgBX7IAhCnuGaptCoF,A;AgCquGbotCAhCruGaptCmE,A;4FgCsuGbotCAhCtuGaptCoD,A;iCgCuuGbotCAhCvuGaptCoD,A;mxLgCk6HTm+CuF;AAAmBjoB0B;61NC3+IbkoBsD;qrBCpBU11DuF;kEA0bRAAnBwsBSAAH7nCvBAAA9B0ByvBAAAAzvBuF,A,A,kF,A;gtBsBgjBJAuF;q0EEldhBi7CK;uDAAJAwC;0FACAA8C;AAAAAwC;0FACAAyB;YAAgBAuC;2YCjGqCj7CyB;AAElD26BwE;wRAeKAuF;mNAKAA4F;OAPZ36B2C;4EAaiDAqB;qkFCwG/C+7BAhDkLS/7BuD,A;AgDlLJ26BoB;AAALoBAhDkLS/7BuD,I;gDgDlLJ26B8D;2GAKgCg7BmE;YACjCCmC;2JARCCuH;wfAoFWjWAnBiRI5/CoC,4BAAAAgC,A;6DmBnQJAAvBw7BOAAH7nCvBAAA9B0ByvBAAAAzvByE,A,A,A,A;A0BoO5B81DsB;AASICe;gCAVc/1DAvBw7BOA0F,A;kjEyBhqCEA0B;+HCsBTqzDA1B6rCYrzDAHhqC5BAAA9C0ByvBAAAAzvBmE,A,A,A,A;+J6BiBVqzDA1B6rCYrzDsD,A;8F0BzqCAqgD8E;maCHfkN+C;0eAmkCCvtDmF;AAChBykDA1CrfA0QyB,A;A0CsfcpeyCpDtyBH/2CyGIpGbAyC,A,yB;AgD24BO+7BAhDj8BH/7B4E,I;mCgDi8BG+7BAhDj8BH/7ByD,A;gCgDg8BFykDA1CtfA0QgC,A;A0C0fA1QA1C1fA0Q6F,A;6+B2CtkBSleApDgWazFe,A;60BoD3UJ+bgD;mnDGlDXvtDqC;AAAiB+7BAxDuSb/7BoD,I;qEwDvSa+7BAxDuSb/7ByD,A;6HwD9Rau3CAzC8OIv3CwB,A;AyC9OX+7BAxD8RN/7BqD,I;mEwD9RM+7BAxD8RN/7BkF,A;gHwD/ONk4CwD;2JAIFCAvDjBSCqC,A;AuDeTFyC;mDAEACAvDjBSCO,O;+FuDmBTFoD;+CAMAAoD;uDAEAAoD;2EAKACAvDhCSCgC,A;AuD6BTFyC;2CAGACAvDhCSCO,O;mvCyDKe37B+BA2BKu5CyB,AAGECyB,AAICCqD,AAGrCz5CyE,A;27BA4OAAuD;siDqDlPAzc6C;iTnDhCOs0BwD;mxCC1BPt0BAAAAAqX,A;uYJiDaA8DK5CGm2DAAAAn2D6H,A,A;gPL2DQiqDAKzCMjqDyB,iO;kGL6GFAS;AAAhBwxCuB;mBAAgBxxCyB;yPAEjBAqC;AAEF+7BArDyPLwxBqB,A;AqD1PK5WAzDwFI32C8C,I;oCyDxFJ22CAzDwFI32CwD,A;AyDvFJ+7BI;4CAAAAArDyPLwxBqD,A;iFqDtPoCvtDqC;gGAE/BAqC;AAAY+7BAzDqIR/7ByB,A;2DyDrIQ+7BgC;sqFMqJV/7BoBCnUK+pCgD,A;qwGCqGP/pCgB;2IAUKwxC2B;i3CAsBgBxxCkC;qQAQvB22CAjEmHM32CoB,A;gBiErHNk4CwC;oCAEAvB+B;4CAGKnFqD;uDAIGuFwC;6BAAAAiE;AAAMhb6E;4CAAAA8C;AAAuBpBqF;yMAc7BD4C;wFACAxJ+E;kFAHTlxB8B;AAOS+7BwE;4CAAAA0C;oEAMT/7BkC;AAGS+7BA7DkPXwxBqB,A;A6DnPW5WAjEiFF32CoB,A;0DiEjFE22C+B;iEACA5agC;yKAYT/7BkC;AAIS+7BA7DkOXwxBqB,A;A6DnOW5WAjEiEF32CoB,A;qFiEjEE22C+B;kEACA5agC;uSA4BCyV2D;AAMGzVA7DgMfwxBqB,A;A6DlMe5WAjEgCN32CoB,A;qFiEhCM22C+B;mEAEA5agC;4FAPb/7BsD;gwDE1NsB21DkH;sJA6BTA8G;AAEjBAgB;AAAKS6D;AACETqC;AAAKSoE;sEAGdTgB;AAAKSwD;qEACyBT8H;+LAqBJAgJ;sHAgB1BAoC;AACISoF;AACAAmF;mhEGhCFAyE;qnBAIECkP;sUAsBFD8B;eACAT0C;itBC9DuDWkB;AAAhCRiC;OADGFS;kLAGfDyD;6FAGIAiE;4EAAQYe;wdCARTyD;AACD7eAvE0XQzFyD,A;iqBuE5WgB8kBkB;AAAnBFmG;ghCAYwBEkB;AAAxBRsG;8hCAyB+CQkB;AAA1CEsH;ieCpDCb+E;ibAaFA2E;+eAYUS+D;AAAoBTsB;gGAEpCAiB;AAAKc+C;4LAiBtBL4B;gqLG8NI5kBuB;29EKtRGAuB;05BlFyTuBmc2C;uOAqB5B+IyD;0+CCtLsBtqDAmHyFuBpMoC,A;sFnHzFvBoMAmHyFuBpMqD,A;gJnHvF/Cy2C+E;8FAKAAuE;iTASAAqE;iVASAA2D;qhBAqBAAwE;iSAgEAAwD;8oBA2CWz2CkE;QAAAAkE;q2DA8JXw2C0D;8vCA8P4BmgBmD;2DAGfCAAIPC4C,uC;mJAOwB72D+C;+BAAAA4B;kfAmD9Bw2CiG;ikEmF7iBOsgBgQ;sBAAAAwD;yBAAAAqH;o8FlF5NACiF;oOAcAt7FAa6BEukCwD,A;8pBbfEAkC;ipBA+C6Bg3DmH;6CAC7B3IsC;4yHA6QM4IwD;iCACqB9mCa;o8DCjWRnwBmB;uCAAAA6B;WAAAA6B;+gDAoKPAqC;oDAAAA8D;6HAmFSAyB;mCAAAA6B;mCAAAA4B;k5CAoDAutDO;gFAAAAwD;0wBErRNvtDmD;uBAAAAwC;gkBAiHXwxCyB;6QASXiT0B;2RASAAU;2XAYFzkD2E;gBAAAA+E;6hFAsGOA0D;8gBAuBek3DyC;g1CA+DEl3DqB;uDAAAA6B;WAAAA+B;spCA6DAA8C;8FAAAAqC;+CAIxButDyB;iFAAAA8D;+ZA6BwBvtDyB;oFAAAAAASWm3DkB,6B;WATXn3D+B;sjCAkDnBAa;mHAAAA2B;uvBA0F0CwtDoH;OAA1CDuB;sEAAAA2B;qCAIAvtDa;mHAAAA2B;oRAqBqBwtDoH;OADrBDsC;saAmCAvtDkD;kGAAAAyC;q6BA+EqCAmD;uTA+HlBAkD;4EAAAAyC;ktDkFnxB1B58BAjEioBS48BwB,A;uDiEjoBT58BAjEioBS48B4C,A;yqBiEjoBmButDgI;ypDAiFNvtDoB;kBAAAAqC;yCAEEAwB;UAAAAqC;wJAmCDqzBiB;qCAIrBrzBa;qEAAAAgE;y0BA4CaAwE;WAAAAkD;gcA0BE08BA3E7NN18BmC,oBAAAAuC,A;gI2EoOeqzBoB;wUhFxPnBkCoC;AAAqBAgC;gFAEmBAsE;sEAM/B6hC2D;41BCwNZpekC;ukBAYACkC;iSAKUj5CyE;8QAEJq3DoB;4BAGCr3DgE;4yDAi1CiBwxCwC;y3DA66BVmcgC;8dIh+EP3tD8C;uNAAAAuC;kCAIqB08BsC;uCAAAAAAJrB18BiF,A;oNAWFs3Da;+4BA8CICa;+3EA8HgBv3DwB;wOAS7Bw3D+D;2/CA8GWx3Da;0EAAAAwD;EAAAAAA0BbAAAAAA0B,A,A;utECnUMykD0B;g9CAgG6CgTsD;sZCzFpCCsB;+SAU4CAsB;4RA8C9C13D6B;4LAmBAA8C;qZAQAAiC;0aAWAAiC;4ZAqCGmwBe;iFAQkB2qB0E;+EA0C1B96CoD;4tBA6BQmwBiD;AAII0qBAA5GE8ckD,A;8YA+GVC0E;0fChPiB9c2E;WAAAAQ;kFAoCrB96C0D;opBA+BSAK;kaE9B8B63DgC;mVA2DGCiC;izIRnCzC9J+B;uIAMyB0BqB;AA80GD7rDAA2KjBk0DiC,A;iwGal0GN/3DoC;2pDAsV2CwxCkC;6mBAsBAA6B;2jBAiCNpdAAmDvCp0Ba,mC;mjBAAAAkD;2CAAAAI;iBAAAAyC;ynBIjOALmC;WACAAsE;oDAGqBq7CK;uBAAOAK;6jBA2BDAK;uBAAOAK;kPAyEvBoBOHnkBa4b6B,A;wRGukBb5bOHvkBa4b6B,A;2OAhBlBA6B;uFACmBhhGyD;whBAuBnBghG6B;yZAeAA6B;4XA4GPxa4B;8BACEkW2B;AAA6BuEAAxB7BCmC,sB;yRAqCIxEqB;qdAQLpW+B;0oBAmIkBtmF2C;ycAoBAgpC6G;oBACPm3BsH;sOASOn3ByE;oBACPm4DsH;wJAoCOn4DwE;yGAIP2hC4E;gBAAAAyC;uXAwDby2Be;kOAQiB7EmF;AACLImC;+bAgBZyEe;qeAiBiB7EmF;AACLImC;4mDAoJdPyG;0OASFA2D;mPAQAiFgE;81FAkKyBtamBAnmBlB2VsB,AAAU4EAAzDVJ6B,gE,A;0FA8pBkCzEU;qDAAAAoB;mEACDAE;gEAAAA6C;2KAOcEkD;AAC3BH8D;AACqBCE;2DAAAAkC;q0BAkBjB3VgB;wBAAAAE;0BAAAAAA5qBxB4V2B,AAA+B6EoBA1B/BLM,2E,A;yYA+sBgCzE8C;OAAAAyD;6DAElB5VAA7rBd2aoC,A;gPAksBsB/EsC;OAAAA+D;iSKgbHzzDyF;6vBE1vBrBy4D4B;sVAUAA4C;iDAGmBz4Dc;wDAAAAuC;uQAOGAc;gCAAAAwC;uIAWvBy4D4B;mNAYKz4DS;AADLigD4B;wEAIGjgD0D;2KAKF04De;0GAC2BjmCoEP1SlCAAAAAAmC,A,A;oDO4SMzyBAA6WAAAAnDkBAkE,8K,AAiDxBAAAAAAAAGiBkgDAApbbHe,+CAA4B4Y6C,A,oB,A,K;8DAsE1B34DkF;0IAec44DmD;AAAmC54D0D;sIAIhD04DsB;oNAOAAsB;qEAC0B1hGyD;kYAuB3BipFe;4JAIJ4YiL;mLAiBI9Ye;qIAGyB//C+D;4IAKzB+/Ce;gJAGyB//C6C;0OAU7Bi3BqD;6RAOK6hC4B;0FAGqC94DAAwKtCAADjvBgBhpC+E,AAAX+hGAAKKCgD,A,A,A;uBCokB4Bh5DAAwKtCAADjvBK+4D8E,A,4DCivBL/4DADjvBK+4DAAOKEoG,A,A,iD;gPC0kBZ/3B+D;wcAsBEu3B4B;wiBAsBWz4D0E;ugCAUwBg4D6B;ucA4FT36BkD;ykBAqB9B67BAAlGIT4B,iEAEFl2BkC,+B;4JAoGF42BAA9FIV4B,iEAEFv3BmC,gC;klCD/oBiBsQ0C;+JA6CfonBe;yLAMYrXAA0aZF6B,2B;+JAraAuXe;6EAEFQ4B;0yBAuEQ7X2B;iRAoBNqXe;+HAIc54D2F;2DAKd44De;2IAIc54D6C;8DAMd44De;2aAiCuB54D+B;uBAAAAoE;qFAEtBq5De;iUAciBVoB;mSAWAA+G;o5BAiEAAoB;+PAiBlBU2C;iIAEoBCwFA/L2B9nBuF,mC;gRA0M5BmnBwC;ivBA1FjBCe;snBAqCCWe;gbAiFHCuG;soCA6GAnYe;swBAWFGQ;6BAAAAkM;wJ2DlkBFtxB2B;gDAAAAAA+CIupC4B,0H;+EA3CJzpCAAuDIypC4B,4I;2DAnDJxpCAA+DIwpC4B,wH;0pBA2BFC8H;iJAEA1pCkFAzCEypC8B,8I;yKAkDAzpCoG;AAHF0pC8H;uMAGE1pCAAlDAypCgC,qJ;AAoDAzpC8DApDAypCgC,qI;+IA4DFC8H;4IAEA1pCkFA9DEypC8B,8I;8uBAmGAz5DAA7HAAA3DyDgBhpCwF,AAAX+hGAAKKCyD,8E,A,2G2D9DVh5DA3DyDK+4DAAOKEoG,A,A,8D2DxEhBj5DAAAAAAASE05DwG,I,A,A;oBA4HI15DAArINAAAAAAAAS4BAoF,mC,A,A;iCA4HtBAAArINAAAAAAyG,A,A;gmGhE2jCiDAa;wgBA0F7Cs4B8F;qTAQAA8F;gYAQAA8F;szQAoV4Ct4BU;yJAEZ25DAAFY35DU,gC;4fAoB5Cs4B8E;2aAYAA8E;6fAYAA8E;upFQn/CSt4BuC;kNAAAAkC;kCAIqB08BsC;uCAAAAAAJrB18BuE,A;sRAU0B45Da;4JAGHAa;mjJAyL7BAiE;k1BAuGqB/LuD;umBAkEf7tDa;mFAAAA2C;+uCmD9ZeAyC;uDAAAA2B;yBAAAAoC;unBA2IUA2E;QAAAA2E;iSA4CXk3DmC;ghBAsFD9qDAiCvDuBpMyB,A;yBjCuDvBoMAiCvDuBpM8D,A;o9BjCkS5B22DmD;ktChDrbK32DqE;yBAAAAsC;iXAhCGutD2D;yBAAAAyB;gWAmDvB9IqC;AACAAAxB2fJ0Q8B,A;AwB1fI1Q4B;mSA6GsBzkDa;qFAAAAkF;WAAAAsC;8+CAiKxBAgD;gGAAAAmE;uKClQE65DmB;8RAWYA0B;AAA2BxmC6B;kKAMvCwmC+B;AAAiCn9BAxB9G1B18BS,gB;0CwB8G0B08BoBxB9G1B18BuC,A;uBwB+GJA+B;mEAIH65D6B;iOAoCAA6B;wPAiCAA6B;8yCA0GWA6B;gTASAA+B;0HAEczlCAnC4YCp0BwC,yBAAAA4C,A;uRmC/WTktBoB;AACrB2pBiC;+sBqDlViCmMmC;k1BA0D0BhjDuF;OADpDAwC;grBA0CUw4CAvFiNYx4CoC,A;qEuF/M3BsyBkB;21BpD3BWwnCwD;cAAAA8I;cAAAAwH;srBAqBmBzmCqE;oVAQdrzB+C;AAAJykDuE;mFAAACA1BgfGptCgG,A;kQ0BheY+biB;oYASvBoxBA1BkdN0Q6B,A;sD0B9cyCjoCoB;i2BA4EhCltBiCAoNMA4B,A;uBAlNRAoCA+LQAyC,A;ihCA3BE0ZAgFodVwhC6C,A;u1EzBt0BA6eAhEqhBI/5DuB,A;6IgErhBJ+5DAhEqhBI/5DiC,A;4CgEphBqBAiD;4DAAAAI;+NC0KJurC8B;kBAAAAkB;oFzDiJrBvrCwD;kEAAAAAAa2CAuB,A;e0DpS3C+5DAlEgfI/5DuC,A;0RkE/e6BAmCA+JTA+B,A;8qBAvG7Bg0BK;eAAAAyB;qCAEF1BK;eAAAA+B;2MAuBE0ByE;qfAAAA4B;qKAaEA4B;qLAOAgmC4DAmB6Bh6DkB,0DACfi3CA5FyMIzF6E,A,0G;gJ4FtLZyFA5FsLYzFuB,A;mI4F9KtBqFuB;yYCxLO72C0BA0OEutDAAIMvtD0C,A,AAJEAuB,A;mWAzGb0kDApFgdaptCgD,A;sQoFncVtX6BAiEQA8C,A;6PArBbg0BuB;gBAAAAqC;AAEAAY;4EAEU1BkB;sZA8BMkxBI;yUAuBNvMAuB1MUzFAAJJne2B,A,A;2BvB8MN4jBAuB1MUzFAAJJnekF,A,A;AvBgNhBwjByB;8RAYY2MiD;4IACFvMAuBzNUzFAAJJnegF,A,A;qFvBgOhBwjByB;mdzDxMyBqjBwC;0YAqBgCl6DuF;OADpDAgD;orBA2CMm6D0F;w/CAqCACiC;y1GAoJNp6DuB;AAAAujD0C;wKAY6BvjDsC;qtDAuPlC0kDA3ByBeptC6E,A;0J2BdWtXwkB;qwBAatB0kDA3BCWptCyE,A;kP2BQLotCA3BRKptCiF,A;sD2BaLotCA3BbKptCiF,A;+E2BoBLotCA3BpBKptCsF,A;A2BqBLotCA3BrBKptCM,AAAjB69C+E,A;6pC2BiDQzQA3BjDSptCyD,A;wT2B6DbotCA3B7DaptC2F,A;iL2BsEV4VkB;4V3BsBMzoCAAnrBM41E2B,A;AAmrBf5VAAjGJ0QyB,A;AAkGI1QAAlGJ0Q8B,A;wQArQkBxRqB;0HAeOAc;qO4BwMFC0C;sBACDC2C;sBACACyC;sBACAC6C;sBACEC+C;sBACAC8C;wBACCC4C;0qB5B1WcoWwC;s7DLoQf1mC6C;6UKiON5zBsJ;8LAKdykDAAxFJ0Q8B,A;sXAuGoB1wEAAzrBD41E8F,A;o/IK0ZgB7oB0D;y8BAsLQxxC6D;WAAAA4C;09CLxjBb2tDuC;8qDgC08CD4MwBAg2ClBtjBAzCt9EWzFsD,A,AyC09ElBhEyC,0EAIFgtB4BA/BYvjBAzC/7EQzFyD,A,iGyCs8EpBiT8E,A,oL;oWA70CmCgWAAudrBxjBAzChlDMzFiB,A,iF;YyCynCeipBgMA0djBjpBiB,wCAGAzVA1C5qDT/7ByB,A,+D0C4qDS+7BkC,wG;+rCA1Sb2+BU;mtDAi+BczjBAzC7wECzFyB,A;45DyCg0EL0TAA+CW1T6B,A;iEA7CNyTAAmCKhOAzCr2ELzFuC,A,A;4RyCg1EHyTAAqBQhOAzCr2ELzF6B,A,A;AyCg1EoCxCmG;mjCAyDtDlBe;yHAIAGkB;+GAIe2sB2D;4DAAyCCSAIxDrtBqD,8LAUJmX8B,AADI3VkJ,A;mUAkFAxByD;SACAEmD;6LAIAGkE;0FACAC+B;kEACAE6E;qGADAFmC;ypCAmnBiBgtB+E;oBAAAAuUAgBd96DU,A;sDAhBc86DkG;8iEA02BjBC4F;qBACAC8E;sBACACuE;qBACAxFgF;+mBAaAsFgG;iBACAC8E;ggDAwEChtBgD;AACEhuCY;AADFguCiB;ssBA+GGiXmB;8CACAzXmB;+BACIyXqB;2CAEDgW6G;AACS/V8C;AACF6VwE;wDAEACkF;yFAOPh7DiB;sVAcHklD+C;uCACErXyB;4FAIC7tCiB;2OAUDguC+C;AAIChuCS;gVAYHgvCmG;kNAOChvCiB;yQAUAklDsF;AAAqB1XkC;yIAUrBxtCiB;yhBAvFDilDqB;seA4DAjW0B;oDAAAAsC;AA4F6CAkC;AAAnBiWyF;8DAmB3BjlDmC;sYAYiBi7DiF;ocAWAL2D;qEAElBC2GAUMxvB6E,A;wgBAmBHmCkB;yGAEAnCgI;AACAwCuB;uGACAGU;wyC0DnkJFqSsB;sCAIP/tBI;QAAAA0B;sLAMoB8pBO9EzLU4b6B,A;uL8E+LV5bO9E/LU4bmC,A;ikB8E8MDh4DA3Eo7BJAK,A;8C2Ep7BIAA3Eo7BJAAH7nCvBAAA9B0ByvBAAAAzvByG,A,A,A,A;4D8EwO1BynC8D;AAA8BmYAvE8PV5/C4B,oBAAAAmC,A;i/FeVhBA8C;gcAiGGhTwCAvDAkuEANpHXtoCA5BpKAAuF,A,A,mBkCwRWsoCANpHXtoCA5BpKAAoL,A,A,A;OkC+UW5lCAAvDAkuEsC,A;iQAoELCwI;mnBAYgCxF6B;mJAUnBAsC;6qCCnkBTA8F;0FAINAuE;ghCAGsBAkC;AAAuBA8C;mCAC3BtoE0CanBV+tE+B,A;AbkBiB9tEAyELOwoE4B,A;AzEKQ57B8M;AAGxCy7BoC;AACISS;qCACAAS;+CACAAS;yGACET6F;4FAINAgD;+oC0DagC55BK;aAAAAAvGyPvB/7B8F,A;2EuGtPX21D8B;AAAKS2E;ivBzDpCEiFoB;AAFuB1kBA9CyOnB32C8C,I;iL8CzOmB22CA9CyOnB32CoD,A;A8CvOJq7DkB;oEAAAA4D;4yDAmEapgB6D;0FACZA6D;uVC7FgBx+BAD2CtBxuByF,A;OC3CsBwuBAD2CtBxuBACvC6C+RwB,AAGXycmC,+E,A;mCAQPAmE;2LAKAAoE;0dCwKZwjC4B;qOAKAA4B;2MAOAA4B;wVAMb6VuB;AAA2BCoB;gQAIVDiE;oDAA8BCmB;wlBwD/L1C/1DkCAMgCs7DkF,A;+BAL3ChVwB;uBAAAAgH;k4CAuC4Bv2BwBA+KY6vByB3E0PhB5/CqG,A,A;A2EzaI0/CK;AACI7JmB;AADJ6JwH;AACrBAK;iBAAAAW;8FAMqB5vBwBAiKY8vByB3EiQhB5/CqG,A,A;A2ElaI0/CK;AANI7JmB;AAMJ6JwH;AACrBAK;iBAAAAW;uVAWDxyBqC;AACAA8J;siEAiD0BoRmCxG0BNlyBAmHyFuBpM0G,A,A;AXnHzCqzBgC;AAAgCgkB0D;mTACpBse+I;oGAUE31DAA6BqBu7D+C,AAICC+C,AACAC8D,A;ivCAtB1CrnC0BpG0M0Bp0B6B,yFAAAA2C,A;AoG1M1BhpCW;2CAAAAqE;wWAxFkB2+F8B;AAAKSsB;kMAOLT8B;AAAKSsB;8zBA2GRT6E;4KACc9VqD;iCAAd7/C+C;AAAc6/CA3EqTL7/C2E,A;A2ErTTAAJ7JTAAAgPwDAAApI3B07DAAAA17DA3EwhCVAAH7nCvBAAA9B0ByvBAAAAzvByF,A,A,A,A,A,A,A,A;sDkFqLP4/CA3EiTC5/CoC,A;8E2E7SP21D2G;gVAKAA2G;kaAMFiGyD;AACACiD;m6BAYElGkH;6XAIFmGyD;AACADkD;AACAE6G;2EAEKpG6C;oXASMAuB;8gBAcxBlOAAlBkB2OqB,4C;oHAoBJnWoC;oFACCAoC;oFACAAoC;+ZAEf+bgD;8PACAAwC;gfAjEU5FW;aAAgC6Fe;AAAhBCkC;sJAgBLl8DyB;+erDlLDigD4B;sRAKAA4B;slBC6ECgIkD;AAAsBrdkC;6CAI/B5zE0B;oCAAAAgI;0iBAuKGugFApD+gBiBv3C+D,A;0ZoDzff22CI;uCAAjBviBgChDyH0Bp0B+E,A;2GgDzH1BhpC+B;AACM4zEyE;AAGat0B4G;oSASN2xCyC;AACuBrdmH;AAKvBqMAnDiFSzFmB,A;wOmD9EHvGgE;oIAsCJ30BiF;4DAEOqgCApDnGX32CsC,A;iBoDmGiB26Be;AAANgcApDnGX32C8C,I;2CoDmGiB26B6C;0OAqCbrkBgE;+WAwBL+gCoD;cAAAA6C;+IAhBamBAnD/DMx4C+B,A;AmDoFKqzB8D;yEACfgkB8C;UAAAAqC;87BA2EC6QAA9RWDuD,A;kEAgSTjxFuF;+CAGlBkxFAAnS2BDgD,A;AAmSPAmC;sCAMpBCAAzS2BDkC,A;AAySPrdmC;qCAMpBsdAA/S2BDkC,A;AA+SPAmC;wFAIL3xC4D;gCACAA4D;oEAEE2gCApDoMCzFe,A;ueoDrLEyFApDqLFzFiB,A;kEoDpLDyFApDoLCzFmB,A;8nBoDzKDyFApDyKCzFe,A;wnBoDhKDAe;m2BA4CIyWkF;AACDAiE;ypCA8BnBCAAra0BDoB,oC;+jPAo0B3BCAAp0B2BDsD,A;mEAu0BOjxF4B;0DAAAAwB;saAuCf2gCyD;4VA9tB0Bs/CAnDsC3BzFa,A;+0ByGrVbAe;4EACQ70CmC;wgBrDyBTs6CArD+nBczFuB,A;sSqD5nBTyFArD4nBSzFwB,A;6QqDxnBPyFArDwnBOzFe,A;4iBqD5mBLyFArD4mBKzFqB,A;uQqDhmBjByWuB;6HAKQzWsB;AAAYyWuB;8NAQpBAa;0BAAuBzWmD;mKAOf0GK;mYAUXuMW;uGACAAqB;oBAEFAU;4uBsDtHOxNA1GiXezFe,A;qR0G7WbyFA1G6WazFe,A;8e0GhWTxoB6D;sQAQIwoBuB;klBCzBRAe;6WAYAAe;+9BA6BFyFA3GwUezFe,A;quB4G3WbAe;kRAMAAe;0iDAqDkB0GyD;OAAhBlvB6D;4OAWsB2tBA7G4JtB32CgC,A;uD6G5JsB22C+B;qYAkBdnF8D;6HAOS0GuD;kCAAEAoD;o6DrDrFNiQuE;yRAajBnoDmC;2pBE8CPo0B0BwBtE0Bp0B4F,A;oGxBsE1BhpC0B;mCAAAAiF;oyCAgCew6EuB;m2CA0BWjcuI;4QAExBkvBwC;4iCA6LsBsQAoDlSFvcA7GuROx4CwC,A,A6GvRpBqyBAArCc8pCyC,qE,8CAqCd9pCAAasB6pCoB,8B,AAFjC7pC+C,A;uIpDgSkBryBwG;iEAGC41CgD;uKAAAA8D;iEAEDqBA1DmWMzF+B,A;4B0DlWNxxCqD;iSAqBJo8D4C;kDACcjT0D;iCACVnpDqF;AAEAo8DkE;+MAKYjT4D;mEACbiT+C;oDACajT4D;mEACXiTiD;oDACWjT4D;iCACVnpDkG;AAECo8DsE;2LAKTp8DyG;6GAKEi3CA1DmTUzFuB,A;4B0DlTVxxC6C;qHA4EVAgH;wiBAiByCwxCuB;k/CAwClB6qB2KqDrc3Br8D4C,A;qVrD8cyBu1B4G;AAAfkvBS;iCAAAAS;4BAAAAS;uBAAAAS;wBAAAAS;6nBA0DalvB8C;oNAkBAAiE;uiBAoBAv1B0E;ymBAyBVAoG;+mBAeJktBkB;wkEG9lBeqIwF;+CAAsBo0BwF;o+DmDZtBp0BgE;qSvDiKCqhBAzD4BZ52C0D,I;gCyD5BY42CAzD4BZ52C6C,A;6GyDfJ+7BAzD8DI/7BqD,I;6ByDtEG+7BAzDsEH/7BkD,I;kCyDtEG+7BAzDsEH/7ByC,A;yCyD9DJ+7BAzD8DI/7B4C,A;qayD1NFhpCiE;qNAgFmBigFAxDgONzFa,A;mVwD3JIzVAzDqEf/7BkD,I;mCyDrEe+7BAzDqEf/7ByC,A;oYyD7De+7BAzD6Df/7BqD,I;8CyD7De+7BAzD6Df/7B4C,A;gb+DtNCiqCiC;kyBAoCCjqCY;yJAIiBAoBCrIhB+pCiD,A;kBDyIGsNAlDkDeyDgE,A;6EkDlDP5C2D;AAChBA+E;AAEKbAlD+CkByDiD,A;ekD/ClBzDAlD+CkByD4B,A;gNkD3CRzDAlD2CQyDiD,A;4JkDtCrB96CgC;4SAMmBAoBC3JhB+pC8C,A;kFDqLNsNAlDMwByD+E,A;ekDNxBzDAlDMwByDW,A;yGkDAd5CmE;AACHA0E;qBACAA8D;yBAKYbAlDPKyD4C,A;8akDzBbzDAlDyBayDoE,A;6IkDpBjB96CY;2JAIoBAoBC3KrB+pCkD,A;4BD6KoBsNAlDcFyDgE,A;sFkDbHzDAlDaGyDiD,A;kFkDZNzDAlDYMyDiD,A;QkDVnB96CgB;uYAsCiBAoBCvNhB+pCiD,A;kBDwNGsNAlD7BeyDgE,A;6CkD6BP5C0D;AACObAlD9BAyDiD,A;sFkD+BLzDAlD/BKyDiD,A;yFkDmCrB96CoC;AAHIwxC0D;iSASexxCoBCpOhB+pCiD,A;kBDsONsNAlD3CwByDgE,A;ekD2CxBzDAlD3CwByD4B,A;6NkDkDfzDAlDlDeyD0C,A;4DkDqDKzDAlDrDLyD4C,A;2YkD+DjBzDAlD/DiByDiD,A;ekD+DjBzDAlD/DiByDkC,A;sHkDiExBzDAlDjEwByDiD,A;ekDiExBzDAlDjEwByDgD,A;iIkDkErB96CsC;oZAwBGq3CAlD1FkByDgE,A;ekD0FlBzDAlD1FkByD0C,A;2KkDgGUnjDgC;AAAzBu5CiB;AAAWnEe;AAAcp1CAgB4IvBA4J,A;AhBzIJ0/CAlDnGiByDiD,A;ekDmGjBzDAlDnGiByDmC,A;sHkDoGfzDAlDpGeyDiD,A;ekDoGfzDAlDpGeyDmC,A;0HkDqGIzDAlDrGJyDiD,A;ekDqGrB96CqC;ogBkD9QMAgB;s6BnD6DFq3CkD;QAAAA2E;mHAKcr3CqC;oEACpBAgB;gFAOAAgC;oCAHGAgB;sNAWRs8DYAxEqBtlGyB,4D;wDAyEdulGoC;SAAAAqB;0GAAAAAAkFTv8DiD,A;2SAvEEs8DYApFqBtlGyB,4D;iEAqFdulGoC;SAAAAqB;oHAAAAAAsETv8DyD,A;uVA7DEs8DYA9FqBtlGyB,4D;sEAgGdulGoC;SAAAAqB;sHAAAAAA2DTv8DiE,A;uWAjDAs4BkD;0BADEgkCYAzGqBtlGyB,8D;AA0GvBshEoF;oJAMAA4F;uRAYEA4B;kCAAAAoF;AAEAAuF;yMASAgkCYAvIqBtlGyB,4D;iGA2IVulGwEAgBbv8DqD,A;gEAdIq3CiG;AAAmDklB4E;4BAAAAAAcvDv8DkE,A;mhBAiBAq3C0H;qLAWKr3CgB;66EAKc06B2B;kBAAAA8C;yPAgCd16BW;4CAAAA6C;yIGyEA+7BAjEdI/7BqD,I;6BiEWP+7BAjEXO/7BkD,I;kCiEWP+7BAjEXO/7ByC,A;yCiEcJ+7BAjEdI/7B4C,A;8UiErKei3CAhE2PJzFa,A;qcgEzMYyFAhEyMZzFyC,A;kqDkErYamkBsE;w0BAYvB1aoC;qBAAAAoC;YACAAoC;qBAAAAwE;sKAOV0agB;AAAKS8D;ivCAgBLTgB;AAAKS0D;yEAIgCoG6I;iIAGrC7GgB;AAAKSqB;qDACyC35C4E;yEAKlBk5CqB;mBAAkBAkE;o7BAMhDAgB;AAAKSuD;6EAEsBTyC;uHAC3BAgB;AAAKSmE;2EAEqBTmD;sHAC1BAgB;AAAKSiE;0CAEET8D;uyiE5DqtCU8GsK;wWAUAC0K;sWAUAC0G;4XAUAC8G;6yB6BhyBgCV8C;ihCKkB/BrOkB;sN8D5iBK7tDoBA4B4B68DyB,AACFCwB,A;4VxBmB7B9/DA3B1CYga4C,A;8DGAPhXiBoDMFqsC6B,AAEKDiC,AAEVD6B,A;kEpDLSnsCmBsDMJqsCmC,AAEKDqC,AAEVD6E,AAEQD8C,A;0DtDJHlsCeqDPAqsC6B,AAEKD+D,AAEVD2D,AAEQD6B,A;8YnDPblsCc;4kDKkBWAc;+9CrDqHClBAAsE3BmvD4B,A;AVnEkBz5GAA8CgBuqDAANK1kD" + "frames": "8uVA4JoBEAA8CgBuqD4L,A;sgBAfhCtqDAAmB0BsqD+L,A;iwUGvIbiBuH;eAEFutDuF;y6BE6JbvtDAAAAAwR,A;uPA+HWAsI;eAEFutDwG;oSA6IEvtDoG;eAEFutDsE;iKAwFEvtDAAmByCwtDkH,A;OAnBzCxtDAAmBFutDgG,A;gBAjB4BC8G;OAA5BDkE;6DA2bwBvtD8B;0DAIHAoC;84JEhyBnBAyEArOXA6B,A;2/EC+akBytDuB;uCAAAA6B;uNAuBQC6B;+YAYVD4C;waA+BIEyC;8xFA0NHhKsB;w1CA+H+BnSoC;yJAYjB/5FAAzrBpBuoD0B,A;mRAquBqCwxC+C;g1EAmGCyFAIn8BzBzFsC,A;gYJi9ByByFAIj9BzBzFsC,A;utCJy/BZoc6C;4lBAAAA+C;iNAmBqBv6BkC;2hBAqCH1zB4C;mgBAgCnBA2C;uDASAA6C;8LAyCcK8F;ypCAyQZA+S;u4BA4MJA2C;8xCA0DyBAkB;8oDAkCJAkB;4DAOpBAoE;iJAKCA0B;gMAWiBAsH;oLASjBA0B;4NAiCuBA4B;6FAGtBA4C;ocAwDgBq9BoC;yMAKrBwwBqB;ggFAsOO7tD6D;AAEAA8e;25HAyPFA0F;m7DAqF6B8tDmK;AACHCsK;wRA4HtBj0GACr/DTk0GiD,sB;sPD2gEchuDoG;giBA0IfAqC;iEAaIAmD;2lEEx/EDxlDAA2BTyzGoI,A;kTAZSzzGAAYTyzGoI,A;2vCArEuBnzGAAzChBozGwE,A;0yDAiRSlzGsL;qmDKlRP4/FuB;6HAGyB3DkB;saA2BhB9mBO;ieAwBPg+B+F;sCACFCiC;kWAYP3JyC;sFAIFAgD;ysBA0CO2JiC;wPA2BPh6BADjBQp0B4B,uG;sCCiBRhpCqG;AAC+Dm5DwC;AAA7Ds0Bc;+EACAAI;8EAGFAc;wlBAiEkC4JgB;AAA1BDoC;uzME1T6BEwE;2FAYAC2D;gGAkCrCnkDAAAAAY,A;sIAoDAAAAAAAY,A;2iGR0BQokDwF;+DASeCgB;iDACfDyE;AADeCoB;ywBAkabCAArR8BCwC,A;AAwRxBCmB;qDAGVCqD;6kJAsJiBC4B;AACICiC;whCA4BsBCAAhRRhvDkD,A;AAiRrBivDkE;AAEACkE;AAEACkC;qVAwCFCmC;0LAaZ5xGAA9CkC6xGsB,A;sMAqEpC3xGAAxEuC2xGiB,A;28BA8Jd7xGAA3JW6xG4G,A;6RAiL5BxyGgE;+ZAyEyBsBAIz4BtBmxGyC,A;oCJy4BsBnxGAIz4BtBmxGqC,A;QJ04BKCiCAlFlB/xGAAzKsC6xGuD,A,A;wMAiQLG4B;iFAOMnxGuC;uBAAAAAAKrCoxGoD,A;mFAQgBzrD0E;8CAGXhEAAmCTAAAAAAAACMyvDsB,A,A,gB;2FAhCFpxG6C;iCAAAAAAfAoxG8D,A;4QAuBWzB4D;8JAQF0ByD;sDAGN1BwE;oEAKkBnxGmD;uOAgErBwE6K;mFAGIsuGc;+2BAuCACqD;qOAUCCsF;qOASLCmB;gKAsCAzuG8H;qSAUA0uGmB;iqCA8CUCiC;uBAKVtyGAAvhBuC2xGiB,A;iVA8iB7BWiC;uBAKVtyGAAnjBuC2xGiB,A;0gDA4nBvBjrDiC;wLAiBT6rDyB;8jMAqPF5uGAAs6DPkEkB,wO;kQA75DmB2qGAA1zCCC0C,A;swFA88CJCAA17CIDsC,A;qPDxPFEmB;wlBCo3DHCmE;orBA0DLC6G;qIAOMCmB;8CAGVC+B;gFAIIFkH;+IAMM3BmB;8CAGVC6D;yWAiDFkB8C;AACAD0C;yLAyF8BYAAIpB1BAApzDPhvDsC,A,AAqzDH2wDwB,AACAC+B,yF;oHAKSCAA/CXCqE,A;ojBAkEY9BAA90DPhvDsC,A;AA+0DH2wDqB;AACAI4B;GACAH+B;kKAMSIAAzEXFqE,A;0lCAyGY9BAAv3DPhvDsC,A;AAw3DH2wDqB;AACAI4B;GACAH+B;kKAMSKAAhHXHqE,A;0TA2HmBnBgB;AACftuG4O;6DAGKotG+D;oIAKGOAAp5DPhvDsC,A;AAq5DH2wDqB;AACAI4B;GACAH+B;8QAUAMAAKUlCAAt6DPhvDsC,A,AAu6DH2wDsB,AACAI4B,AACAH+B,yF;keAqBmB9BiC;4PA0BVqC0F;iFAKMCAAKLpCAAl+DPhvDsC,A,AAm+DH2wDqB,AACAI4B,AACAMyC,wBAGE7CyC,AAEFoC6B,uF;iOAyBSUkD;iEAEACaAlBNCyF,A;mFAuBYCAAKLzCAA/gEPhvDsC,A,AAghEH2wDsB,AACAI8B,AACAMgC,AACAT+B,yF;4FAgBSc2H;2EAKTCAAKU3CAA7iEPhvDsC,A,AA8iEH2wDsB,AACAIsC,AACAM0B,AACAT+B,yF;6FA6CSgBAAtCPCoD,AADY7tD0D,AACZ6tD0tB,A;mHA2CFCAAKU9CAAxmEPhvDsC,A,AAymEH2wDsB,AACAIiC,AACAM8B,AACAT+B,yF;iHAcSmBsCARXC4F,A;wjCA4CYhDAA9pEPhvDsC,A;AA+pEH2wDsB;AACAIuC;AACAMuB;GACAT+B;kTAyKOqBiD;kzBA4BCCmF;kDAIkB5BiE;kDAIA6BiE;mDAIACiE;wDAItBCAAgFRCgC,AACACuB,A;4zBAtCQFAAqCRCgC,AACACuB,A;uJA9BQFAA6BRCgC,AACACuB,A;0CA1BQCAA2KS5vDwBAoCE6vDmB,4DAEnBF4F,A,A;yDA7MQFAAqBRCgC,AACACuB,A;2CAlBQGAAyKSCwBAqCEFmB,iEAEnBF4F,A,A;0CA5MYKoDA+KZNkF,AAEADAApKACgC,AACACuB,A,2B;q8BAsBoDMsD;mNAUpCCqY;uuDAsFyC9DAAp+ElBhvD8D,A;AAq+EfivD+D;AAEAC+D;AAEACsC;2cA+CA4D4D;2DAIAC4D;oMAOLPW;oDAEnBF8B;slEA0JElxG+E;o2JAgMsB+tGa;2LAQAAa;yNASAAuC;kVAoBX6DyB;oXAQAlEwB;uEAEQKwB;mbAuCE8DwB;ynBAgBTxEAAnqGwBCc,A;MAoqGxBDAApqGwBCc,A;oQAwrGpBSuB;AACAAa;43Har2GpBpvD+C;6GAeAicwD;kEA6FWjc2BAxCSmzDAAAAnzD0D,A,sC;iJAuDHyvBQ;4yBA2DMzvBgF;AAAAozDqE;kdAiCXp8F0C;q2BIqBCy7DgEHlEbAAAAAA+B,A,A;uDGsMmCzyB4R;4jCAkFlB0tBkEA/LK12DsC,0VAQT27DmDHxFbAAAAAAuD,A,A,A;2CGoRMhzBiC;AACAAsC;2DAwCgB0zDAAonBUrzDyDHhqC5BAAA9C0ByvBAAAAzvB0D,A,A,oD,A;uwBAyR9B0yBAAUAAAATE0gC+E,A,A;oJAqRcEkC;AACICkD;kjBAqBJDyB;uBACICsD;g6BAmKOCuE;iFAGYCwD;osBAgCVnWkB;iHACDoWyB;uDACE7RiG;4EAES4RwD;2RA6EpBhWkB;woBAkBTO8D;wHAMgB2VqC;AACFCgL;AACZCmI;8MAcIDmK;0FAEVRoI;4BAGAUoG;ilCI91BQCoD;qGAUqB/zD4E;oJAKrB+zDoD;oYAoBkB/zD2E;2rBAkD5B6hDM;iCAAAAgD;qLAKC7qFsB;yHCi5EGgpC0D;OAAAAuD;gGE36EAA+F;mTAmsBDhpCwD;6wBD1UFA6D;6jFLo8BqB6qFM;sCAAAAmC;wrBAuBbmSkC;4DAIbCkB;goBA8BOj0DqdAxYPAAAAAA+FAgCQA6M,8GAIqBAqP,iHAKCA2R,sFAKTA2M,wGA2BbAoI,A,A,A;kRA6lBDhpC0E;ouXQzuDYgpCuC;uCAAAAwD;4aA+dAA4C;kGAAAA+D;uEAqCNAqF;0iBGhbEAqD;6XAoBNktBkB;qzFC7BAltB2C;2wHC6PHk0D4N;cAAAA0E;cAAAAsJ;cAAAA4E;cAAAAoL;qDAAAA0E;uEAAAA6F;cAAAA0E;cAAAAuJ;cAAAA4E;cAAAAmM;cAAAA4E;cAAAAsI;mgM1B1KSCwD;g+BAqQNCiC;0IAM4BCAAyB5BD6B,0C;8bAkBAE+B;kNAuBEC8E;OAAAA0F;yEAGACoH;2pCA8EHx0DuG;+LA+DQwxCsC;AAEDijBc;uFAGFAc;0EAGEAkC;yJAsBOlHkC;mzBA2Ga3SgDG7qBc8ZkB,A;mCHorBnCjkB8D;sRAPqBmKAG7qBc8ZoB,A;kBHyrB3ChQAAjLaptCiI,A;urCL1iBVq9CiC;o5EkC9D2B30DyB;wvBxB0zB1B2kD8G;yPAqBc3kDkD;gGAGpB2kDiG;2LAMKz3BkB;yrFyBnrBLltByG;0NCckB40D8D;qOAGACmF;+NAIACkH;kIC6MGCAA05FD/0DiF,wJAcHqzByD,wFASJk6BW,AAAErgCkB,A;iZAx8EC8nC8C;UAAAA4J;q1FAAAAkE;gDAAAAyD;+3EAsOTh1DoG;gBAIGi1D2N;6BAAAAgTA0dAdmC,kT;6BA1dAcyM;OAAAA4I;kmKAigBcCuB;gOAOIjeAzCruCRzF4D,A;8JyC0uCT0jB+D;AAKF1jBqB;2tCAuKS9W4H;AAApBtGAtCzwD0Bp0B4F,A;AsCywD1BhpC8B;mCAAAAiF;s2DAsDSkhFAzClyDoCwc6D,A;mKyCkyDpCxcoE;4UAAAAAzClyDoCwcmB,A;ytFyCo+D3Bl8CiI;isBAoCPxY4P;kZAeIA2C;8TASXykDAhCp+CJ0QyC,A;sGgCw+CaCsH;qBAAAA4F;wHAGIp1D+C;ipBAHJo1DiF;mHAqBGp1D+C;AAAJykD0G;4WAYLv3BkB;qsBA4BQltB2C;icAWXykDAhChjDJ0QyC,A;iHgCojDaEsH;qBAAAA4F;wHAGIr1D+C;uRAQJs1D4H;uBAAAAkG;+wBAaGt1DiD;AAAJykDkH;qcAaLv3BkB;0lBAeAqoCwH;mBAAAAsE;0oCAmCIx5BA1Cv8DA/7BwE,I;iC0Cu8DA+7BA1Cv8DA/7B4C,A;0Q0Cg9DAwxCyB;2SAeAAqB;8zCA4EPgkB8I;iBAAAAiF;uBAIYl+CqG;irGAmGoBg+CkI;yBAAAAyH;y4BAkBpBt1D6C;AAAJykDiE;+FAAAAEhCx2DZ0Q8C,A;0VgCq3DOjoCkB;qnBAwEQ+pBA1C/1DOzFmB,A;mI0Ci2DLA6B;m0BAsCDA4E;obAYLAe;4HAA4CAwC;mqCAwCnBhEwB;q1BAoLzByJAzCn7EWzFqE,A;AyCy7EtBmTiH;w8CA+JuCnMAzChpFVx4CwB,A;utByCsqFtBqzCiC;gBAAAA6E;uRAkZLoRAhC1xFF0QoD,A;kUgCkyFE1QAhClyFF0Q+B,A;20EgCwtGe5HuC;yfAgBX7IAhCnuGaptCoF,A;AgCquGbotCAhCruGaptCmE,A;4FgCsuGbotCAhCtuGaptCoD,A;iCgCuuGbotCAhCvuGaptCoD,A;mxLgCk6HTm+CuF;AAAmBjoB0B;61NC3+IbkoBsD;qrBCpBU11DuF;kEA0bRAAnBwsBSAAH7nCvBAAA9B0ByvBAAAAzvBuF,A,A,kF,A;gtBsBgjBJAuF;q0EEldhBi7CK;uDAAJAwC;0FACAA8C;AAAAAwC;0FACAAyB;YAAgBAuC;2YCjGqCj7CyB;AAElD26BwE;wRAeKAuF;mNAKAA4F;OAPZ36B2C;4EAaiDAqB;qkFCwG/C+7BAhDkLS/7BuD,A;AgDlLJ26BoB;AAALoBAhDkLS/7BuD,I;gDgDlLJ26B8D;2GAKgCg7BmE;YACjCCmC;2JARCCuH;wfAoFWjWAnBiRI5/CoC,4BAAAAgC,A;6DmBnQJAAvBw7BOAAH7nCvBAAA9B0ByvBAAAAzvByE,A,A,A,A;A0BoO5B81DsB;AASICe;gCAVc/1DAvBw7BOA0F,A;kjEyBhqCEA0B;+HCsBTqzDA1B6rCYrzDAHhqC5BAAA9C0ByvBAAAAzvBmE,A,A,A,A;+J6BiBVqzDA1B6rCYrzDsD,A;8F0BzqCAqgD8E;maCHfkN+C;0eAmkCCvtDmF;AAChBykDA1CrfA0QyB,A;A0CsfcpeyCpDtyBH/2CyGIpGbAyC,A,yB;AgD24BO+7BAhDj8BH/7B4E,I;mCgDi8BG+7BAhDj8BH/7ByD,A;gCgDg8BFykDA1CtfA0QgC,A;A0C0fA1QA1C1fA0Q6F,A;6+B2CtkBSleApDgWazFe,A;60BoD3UJ+bgD;mnDGlDXvtDqC;AAAiB+7BAxDuSb/7BoD,I;qEwDvSa+7BAxDuSb/7ByD,A;6HwD9Rau3CAzC8OIv3CwB,A;AyC9OX+7BAxD8RN/7BqD,I;mEwD9RM+7BAxD8RN/7BkF,A;gHwD/ONk4CwD;2JAIFCAvDjBSCqC,A;AuDeTFyC;mDAEACAvDjBSCO,O;+FuDmBTFoD;+CAMAAoD;uDAEAAoD;2EAKACAvDhCSCgC,A;AuD6BTFyC;2CAGACAvDhCSCO,O;mvCyDKe37B+BA2BKu5CyB,AAGECyB,AAICCqD,AAGrCz5CyE,A;27BA4OAAuD;siDqDlPAzc6C;iTnDhCOs0BwD;mxCC1BPt0BAAAAAqX,A;uYJiDaA8DK5CGm2DAAAAn2D6H,A,A;gPL2DQiqDAKzCMjqDyB,iO;kGL6GFAS;AAAhBwxCuB;mBAAgBxxCyB;yPAEjBAqC;AAEF+7BArDyPLwxBqB,A;AqD1PK5WAzDwFI32C8C,I;oCyDxFJ22CAzDwFI32CwD,A;AyDvFJ+7BI;4CAAAAArDyPLwxBqD,A;iFqDtPoCvtDqC;gGAE/BAqC;AAAY+7BAzDqIR/7ByB,A;2DyDrIQ+7BgC;sqFMqJV/7BoBCnUK+pCgD,A;qwGCqGP/pCgB;2IAUKwxC2B;i3CAsBgBxxCkC;qQAQvB22CAjEmHM32CoB,A;gBiErHNk4CwC;oCAEAvB+B;4CAGKnFqD;uDAIGuFwC;6BAAAAiE;AAAMhb6E;4CAAAA8C;AAAuBpBqF;yMAc7BD4C;wFACAxJ+E;kFAHTlxB8B;AAOS+7BwE;4CAAAA0C;oEAMT/7BkC;AAGS+7BA7DkPXwxBqB,A;A6DnPW5WAjEiFF32CoB,A;0DiEjFE22C+B;iEACA5agC;yKAYT/7BkC;AAIS+7BA7DkOXwxBqB,A;A6DnOW5WAjEiEF32CoB,A;qFiEjEE22C+B;kEACA5agC;uSA4BCyV2D;AAMGzVA7DgMfwxBqB,A;A6DlMe5WAjEgCN32CoB,A;qFiEhCM22C+B;mEAEA5agC;4FAPb/7BsD;gwDE1NsB21DkH;sJA6BTA8G;AAEjBAgB;AAAKS6D;AACETqC;AAAKSoE;sEAGdTgB;AAAKSwD;qEACyBT8H;+LAqBJAgJ;sHAgB1BAoC;AACISoF;AACAAmF;mhEGhCFAyE;qnBAIECkP;sUAsBFD8B;eACAT0C;itBCjE4CWkB;AAArBFkE;mIAEZTyD;6FAGIAiE;4EAAQYe;wdCGRTyD;AACD7eAvE0XQzFyD,A;iqBuE5WgB8kBkB;AAAnBFmG;ghCAYwBEkB;AAAxBRsG;8hCAyB+CQkB;AAA1CEsH;ieCpDCb+E;ibAaFA2E;+eAYUS+D;AAAoBTsB;gGAEpCAiB;AAAKc+C;4LAiBtBL4B;gqLG8NI5kBuB;29EKtRGAuB;05BlFyTuBmc2C;uOAqB5B+IyD;0+CCtLsBxqDAmHyFuBlMoC,A;sFnHzFvBkMAmHyFuBlMqD,A;gJnHvF/Cy2C+E;8FAKAAuE;iTASAAqE;iVASAA2D;qhBAqBAAwE;iSAgEAAwD;8oBA2CWz2CkE;QAAAAkE;q2DA8JXw2C0D;8vCA8P4BmgBmD;2DAGfCAAIPC4C,uC;mJAOwB72D+C;+BAAAA4B;kfAmD9Bw2CiG;ikEmF7iBOsgBgQ;sBAAAAwD;yBAAAAqH;o8FlF5NACiF;oOAcAt7FAa6BEukCwD,A;8pBbfEAkC;ipBA+C6Bg3DmH;6CAC7B3IsC;4yHA6QM4IwD;iCACqB9mCa;o8DCjWRnwBmB;uCAAAA6B;WAAAA6B;+gDAoKPAqC;oDAAAA8D;6HAmFSAyB;mCAAAA6B;mCAAAA4B;k5CAoDAutDO;gFAAAAwD;0wBErRNvtDmD;uBAAAAwC;gkBAiHXwxCyB;6QASXiT0B;2RASAAU;2XAYFzkD2E;gBAAAA+E;6hFAsGOA0D;8gBAuBek3DyC;g1CA+DEl3DqB;uDAAAA6B;WAAAA+B;spCA6DAA8C;8FAAAAqC;+CAIxButDyB;iFAAAA8D;+ZA6BwBvtDyB;oFAAAAAASWm3DkB,6B;WATXn3D+B;sjCAkDnBAa;mHAAAA2B;uvBA0F0CwtDoH;OAA1CDuB;sEAAAA2B;qCAIAvtDa;mHAAAA2B;oRAqBqBwtDoH;OADrBDsC;saAmCAvtDkD;kGAAAAyC;q6BA+EqCAmD;uTA+HlBAkD;4EAAAAyC;ktDkFnxB1B58BAjEioBS48BwB,A;uDiEjoBT58BAjEioBS48B4C,A;yqBiEjoBmButDgI;irDAiFNvtDoB;8BAAAAqC;yCAEEAwB;UAAAAqC;wJAmCDqzBiB;qCAIrBrzBa;qEAAAAgE;y0BA4CaAwE;WAAAAkD;gcA0BE08BA3E7NN18BmC,oBAAAAuC,A;gI2EoOeqzBoB;wUhFxPnBkCoC;AAAqBAgC;gFAEmBAsE;sEAM/B6hC2D;41BCwNZpekC;ukBAYACkC;+RAKUj5CyE;8QAEJq3DoB;4BAGCr3DgE;4yDAi1CiBwxCwC;y3DA66BVmcgC;8dIh+EP3tD8C;uNAAAAuC;kCAIqB08BsC;uCAAAAAAJrB18BiF,A;oNAWFs3Da;+4BA8CICa;+3EA8HgBv3DwB;wOAS7Bw3D+D;2/CA8GWx3Da;0EAAAAwD;EAAAAAA0BbAAAAAA0B,A,A;utECnUMykD0B;g9CAgG6CgTsD;sZCzFpCCsB;+SAU4CAsB;4RA8C9C13D6B;4LAmBAA8C;qZAQAAiC;0aAWAAiC;4ZAqCGmwBe;iFAQkB2qB0E;+EA0C1B96CoD;4tBA6BQmwBiD;AAII0qBAA5GE8ckD,A;8YA+GVC0E;0fChPiB9c2E;WAAAAQ;kFAoCrB96C0D;opBA+BSAK;kaE9B8B63DgC;mVA2DGCiC;izIRnCzC9J+B;uIAMyB0BqB;AA80GD7rDAA2KjBk0DiC,A;iwGal0GN/3DoC;2pDAsV2CwxCkC;6mBAsBAA6B;2jBAiCNpdAAmDvCp0Ba,mC;mjBAAAAkD;2CAAAAI;iBAAAAyC;ynBIjOALmC;WACAAsE;oDAGqBq7CK;uBAAOAK;6jBA2BDAK;uBAAOAK;kPAyEvBoBOHnkBa4b6B,A;wRGukBb5bOHvkBa4b6B,A;2OAhBlBA6B;uFACmBhhGyD;whBAuBnBghG6B;yZAeAA6B;4XA4GPxa4B;8BACEkW2B;AAA6BuEAAxB7BCmC,sB;yRAqCIxEqB;qdAQLpW+B;0oBAmIkBtmF2C;ycAoBAgpC6G;oBACPm3BsH;sOASOn3ByE;oBACPm4DsH;wJAoCOn4DwE;yGAIPohC4E;gBAAAAyC;uXAwDbg3Be;kOAQiB7EmF;AACLImC;+bAgBZyEe;qeAiBiB7EmF;AACLImC;4mDAoJdPyG;0OASFA2D;mPAQAiFgE;81FAkKyBtamBAnmBlB2VsB,AAAU4EAAzDVJ6B,gE,A;0FA8pBkCzEU;qDAAAAoB;mEACDAE;gEAAAA6C;2KAOcEkD;AAC3BH8D;AACqBCE;2DAAAAkC;q0BAkBjB3VgB;wBAAAAE;0BAAAAAA5qBxB4V2B,AAA+B6EoBA1B/BLM,2E,A;yYA+sBgCzE8C;OAAAAyD;6DAElB5VAA7rBd2aoC,A;gPAksBsB/EsC;OAAAA+D;iSKgbHzzDyF;6vBE1vBrBy4D4B;sVAUAA4C;iDAGmBz4Dc;wDAAAAuC;uQAOGAc;gCAAAAwC;uIAWvBy4D4B;mNAYKz4DS;AADLigD4B;wEAIGjgD0D;2KAKF04De;0GAC2BjmCoEP1SlCAAAAAAmC,A,A;oDO4SMzyBAA6WAAAAnDkBAkE,8K,AAiDxBAAAAAAAAGiBkgDAApbbHe,+CAA4B4Y6C,A,oB,A,K;8DAsE1B34DkF;0IAec44DmD;AAAmC54D0D;sIAIhD04DsB;oNAOAAsB;qEAC0B1hGyD;kYAuB3BipFe;4JAIJ4YiL;mLAiBI9Ye;qIAGyB//C+D;4IAKzB+/Ce;gJAGyB//C6C;0OAU7Bi3BqD;6RAOK6hC4B;0FAGqC94DAAwKtCAADjvBgBhpC+E,AAAX+hGAAKKCgD,A,A,A;uBCokB4Bh5DAAwKtCAADjvBK+4D8E,A,4DCivBL/4DADjvBK+4DAAOKEoG,A,A,iD;gPC0kBZt4B+D;wcAsBE83B4B;wiBAsBWz4D0E;ugCAUwBg4D6B;ucA4FT36BkD;ykBAqB9B67BAAlGIT4B,iEAEFz2BkC,+B;4JAoGFm3BAA9FIV4B,iEAEF93BmC,gC;klCD/oBiB6Q0C;+JA6CfonBe;yLAMYrXAA0aZF6B,2B;+JAraAuXe;6EAEFQ4B;0yBAuEQ7X2B;iRAoBNqXe;+HAIc54D2F;2DAKd44De;2IAIc54D6C;8DAMd44De;2aAiCuB54D+B;uBAAAAoE;qFAEtBq5De;iUAciBVoB;mSAWAA+G;o5BAiEAAoB;+PAiBlBU2C;iIAEoBCwFA/L2B9nBuF,mC;gRA0M5BmnBwC;ivBA1FjBCe;snBAqCCWe;gbAiFHCuG;soCA6GAnYe;swBAWFGQ;6BAAAAkM;wJ2DlkBFtxB2B;gDAAAAAA+CIupC4B,0H;+EA3CJzpCAAuDIypC4B,4I;2DAnDJxpCAA+DIwpC4B,wH;0pBA2BFC8H;iJAEA1pCkFAzCEypC8B,8I;yKAkDAzpCoG;AAHF0pC8H;uMAGE1pCAAlDAypCgC,qJ;AAoDAzpC8DApDAypCgC,qI;+IA4DFC8H;4IAEA1pCkFA9DEypC8B,8I;8uBAmGAz5DAA7HAAA3DyDgBhpCwF,AAAX+hGAAKKCyD,8E,A,2G2D9DVh5DA3DyDK+4DAAOKEoG,A,A,8D2DxEhBj5DAAAAAAASE05DwG,I,A,A;oBA4HI15DAArINAAAAAAAAS4BAoF,mC,A,A;iCA4HtBAAArINAAAAAAyG,A,A;gmGhE2jCiDAa;wgBA0F7Cs4B8F;qTAQAA8F;gYAQAA8F;szQAoV4Ct4BU;yJAEZ25DAAFY35DU,gC;4fAoB5Cs4B8E;2aAYAA8E;6fAYAA8E;upFQn/CSt4BuC;kNAAAAkC;kCAIqB08BsC;uCAAAAAAJrB18BuE,A;sRAU0B45Da;4JAGHAa;u/IAyL7BAiE;s0BAuGqB/LuD;umBAkEf7tDa;mFAAAA2C;utCmD9ZeAyC;uDAAAA2B;yBAAAAoC;unBA2IUA2E;QAAAA2E;iSA4CXk3DmC;ghBAsFDhrDAiCvDuBlMyB,A;yBjCuDvBkMAiCvDuBlM8D,A;o9BjCkS5B22DmD;ktChDrbK32DqE;yBAAAAsC;iXAhCGutD2D;yBAAAAyB;gWAmDvB9IqC;AACAAAxB2fJ0Q8B,A;AwB1fI1Q4B;mSA6GsBzkDa;qFAAAAkF;WAAAAsC;k+CAiKxBAgD;gGAAAAmE;uKClQE65DmB;8RAWYA0B;AAA2BxmC6B;kKAMvCwmC+B;AAAiCn9BAxB9G1B18BS,gB;0CwB8G0B08BoBxB9G1B18BuC,A;uBwB+GJA+B;mEAIH65D6B;iOAoCAA6B;wPAiCAA6B;8yCA0GWA6B;gTASAA+B;0HAEczlCAnC4YCp0BwC,yBAAAA4C,A;uRmC/WTktBoB;AACrB2pBiC;+sBqDlViCmMmC;k1BA0D0BhjDuF;OADpDAwC;grBA0CUw4CAvFiNYx4CoC,A;qEuF/M3BsyBkB;21BpD3BWwnCwD;cAAAA8I;cAAAAwH;srBAqBmBzmCqE;oVAQdrzB+C;AAAJykDuE;mFAAACA1BgfGptCgG,A;kQ0BheY+biB;oYASvBoxBA1BkdN0Q6B,A;sD0B9cyCjoCoB;i2BA4EhCltBiCAoNMA4B,A;uBAlNRAoCA+LQAyC,A;ihCA3BE0ZAgFodVwhC6C,A;u1EzBt0BA6eAhEqhBI/5DuB,A;6IgErhBJ+5DAhEqhBI/5DiC,A;4CgEphBqBAiD;4DAAAAI;+NC0KJurC8B;kBAAAAkB;oFzDiJrBvrCwD;kEAAAAAAa2CAuB,A;e0DpS3C+5DAlEgfI/5DuC,A;0RkE/e6BAmCA+JTA+B,A;8qBAvG7Bg0BK;eAAAAyB;qCAEF1BK;eAAAA+B;2MAuBE0ByE;qfAAAA4B;qKAaEA4B;qLAOAgmC4DAmB6Bh6DkB,0DACfi3CA5FyMIzF6E,A,0G;gJ4FtLZyFA5FsLYzFuB,A;mI4F9KtBqFuB;yYCxLO72C0BA0OEutDAAIMvtD0C,A,AAJEAuB,A;mWAzGb0kDApFgdaptCgD,A;sQoFncVtX6BAiEQA8C,A;6PArBbg0BuB;gBAAAAqC;AAEAAY;4EAEU1BkB;sZA8BMkxBI;yUAuBNvMAuB1MUzFAAJJne2B,A,A;2BvB8MN4jBAuB1MUzFAAJJnekF,A,A;AvBgNhBwjByB;8RAYY2MiD;4IACFvMAuBzNUzFAAJJnegF,A,A;qFvBgOhBwjByB;mdzDxMyBqjBwC;0YAqBgCl6DuF;OADpDAgD;orBA2CMm6D0F;w/CAqCACiC;y1GAoJNp6DuB;AAAAujD0C;wKAY6BvjDsC;qtDAuPlC0kDA3ByBeptC6E,A;0J2BdWtXwkB;qwBAatB0kDA3BCWptCyE,A;kP2BQLotCA3BRKptCiF,A;sD2BaLotCA3BbKptCiF,A;+E2BoBLotCA3BpBKptCsF,A;A2BqBLotCA3BrBKptCM,AAAjB69C+E,A;6pC2BiDQzQA3BjDSptCyD,A;wT2B6DbotCA3B7DaptC2F,A;iL2BsEV4VkB;4V3BsBMzoCAAnrBM41E2B,A;AAmrBf5VAAjGJ0QyB,A;AAkGI1QAAlGJ0Q8B,A;wQArQkBxRqB;0HAeOAc;qO4BwMFC0C;sBACDC2C;sBACACyC;sBACAC6C;sBACEC+C;sBACAC8C;wBACCC4C;0qB5B1WcoWwC;s7DLoQf1mC6C;6UKiON5zBsJ;8LAKdykDAAxFJ0Q8B,A;sXAuGoB1wEAAzrBD41E8F,A;o/IK0ZgB7oB0D;y8BAsLQxxC6D;WAAAA4C;09CLxjBb2tDuC;8qDgC08CD4MwBAg2ClBtjBAzCt9EWzFsD,A,AyC09ElBhEyC,0EAIFgtB4BA/BYvjBAzC/7EQzFyD,A,iGyCs8EpBiT8E,A,oL;oWA70CmCgWAAudrBxjBAzChlDMzFiB,A,iF;YyCynCeipBgMA0djBjpBiB,wCAGAzVA1C5qDT/7ByB,A,+D0C4qDS+7BkC,wG;+rCA1Sb2+BU;mtDAi+BczjBAzC7wECzFyB,A;45DyCg0EL0TAA+CW1T6B,A;iEA7CNyTAAmCKhOAzCr2ELzFuC,A,A;4RyCg1EHyTAAqBQhOAzCr2ELzF6B,A,A;AyCg1EoCxCmG;mjCAyDtDlBe;yHAIAGkB;+GAIe2sB2D;4DAAyCCSAIxDrtBqD,8LAUJmX8B,AADI3VkJ,A;mUAkFAxByD;SACAEmD;6LAIAGkE;0FACAC+B;kEACAE6E;qGADAFmC;ypCAmnBiBgtB+E;oBAAAAuUAgBd96DU,A;sDAhBc86DkG;8iEA02BjBC4F;qBACAC8E;sBACACuE;qBACAxFgF;+mBAaAsFgG;iBACAC8E;ggDAwEChtBgD;AACEhuCY;AADFguCiB;ssBA+GGiXmB;8CACAzXmB;+BACIyXqB;2CAEDgW6G;AACS/V8C;AACF6VwE;wDAEACkF;yFAOPh7DiB;sVAcHklD+C;uCACErXyB;4FAIC7tCiB;2OAUDguC+C;AAIChuCS;gVAYHgvCmG;kNAOChvCiB;yQAUAklDsF;AAAqB1XkC;yIAUrBxtCiB;yhBAvFDilDqB;seA4DAjW0B;oDAAAAsC;AA4F6CAkC;AAAnBiWyF;8DAmB3BjlDmC;sYAYiBi7DiF;ocAWAL2D;qEAElBC2GAUMxvB6E,A;wgBAmBHmCkB;yGAEAnCgI;AACAwCuB;uGACAGU;wyC0DnkJFqSsB;sCAIP/tBI;QAAAA0B;sLAMoB8pBO9EzLU4b6B,A;uL8E+LV5bO9E/LU4bmC,A;ikB8E8MDh4DA3Eo7BJAK,A;8C2Ep7BIAA3Eo7BJAAH7nCvBAAA9B0ByvBAAAAzvByG,A,A,A,A;4D8EwO1BynC8D;AAA8BmYAvE8PV5/C4B,oBAAAAmC,A;i/FeVhBA8C;gcAiGGhTwCAvDAkuEANpHXtoCA5BpKAAuF,A,A,mBkCwRWsoCANpHXtoCA5BpKAAoL,A,A,A;OkC+UW5lCAAvDAkuEsC,A;iQAoELCwI;mnBAYgCxF6B;mJAUnBAsC;6qCCnkBTA8F;0FAINAuE;ghCAGsBAkC;AAAuBA8C;mCAC3BtoE0CanBV+tE+B,A;AbkBiB9tEAyELOwoE4B,A;AzEKQ57B8M;AAGxCy7BoC;AACISS;qCACAAS;+CACAAS;yGACET6F;4FAINAgD;+oC0DagC55BK;aAAAAAvGyPvB/7B8F,A;2EuGtPX21D8B;AAAKS2E;ivBzDpCEiFoB;AAFuB1kBA9CyOnB32C8C,I;iL8CzOmB22CA9CyOnB32CoD,A;A8CvOJq7DkB;oEAAAA4D;4yDAmEapgB6D;0FACZA6D;uVC7FgBx+BAD2CtBxuByF,A;OC3CsBwuBAD2CtBxuBACvC6C+RwB,AAGXycmC,+E,A;mCAQPAmE;2LAKAAoE;0dCwKZwjC4B;qOAKAA4B;2MAOAA4B;wVAMb6VuB;AAA2BCoB;gQAIVDiE;oDAA8BCmB;wlBwD/L1C/1DkCAMgCs7DkF,A;+BAL3ChVwB;uBAAAAgH;k4CAuC4Bv2BwBA+KY6vByB3E0PhB5/CqG,A,A;A2EzaI0/CK;AACI7JmB;AADJ6JwH;AACrBAK;iBAAAAW;8FAMqB5vBwBAiKY8vByB3EiQhB5/CqG,A,A;A2ElaI0/CK;AANI7JmB;AAMJ6JwH;AACrBAK;iBAAAAW;uVAWDxyBqC;AACAA8J;siEAiD0BoRmCxG0BNpyBAmHyFuBlM0G,A,A;AXnHzCqzBgC;AAAgCgkB0D;mTACpBse+I;oGAUE31DAA6BqBu7D+C,AAICC+C,AACAC8D,A;ivCAtB1CrnC0BpG0M0Bp0B6B,yFAAAA2C,A;AoG1M1BhpCW;2CAAAAqE;wWAxFkB2+F8B;AAAKSsB;kMAOLT8B;AAAKSsB;8zBA2GRT6E;4KACc9VqD;iCAAd7/C+C;AAAc6/CA3EqTL7/C2E,A;A2ErTTAAJ7JTAAAgPwDAAApI3B07DAAAA17DA3EwhCVAAH7nCvBAAA9B0ByvBAAAAzvByF,A,A,A,A,A,A,A,A;sDkFqLP4/CA3EiTC5/CoC,A;8E2E7SP21D2G;gVAKAA2G;kaAMFiGyD;AACACiD;m6BAYElGkH;6XAIFmGyD;AACADkD;AACAE6G;2EAEKpG6C;oXASMAuB;8gBAcxBlOAAlBkB2OqB,4C;oHAoBJnWoC;oFACCAoC;oFACAAoC;+ZAEf+bgD;8PACAAwC;gfAjEU5FW;aAAgC6Fe;AAAhBCkC;sJAgBLl8DyB;+erDlLDigD4B;sRAKAA4B;slBC6ECgIkD;AAAsBrdkC;6CAI/B5zE0B;oCAAAAgI;0iBAuKGugFApD+gBiBv3C+D,A;0ZoDzff22CI;uCAAjBviBgChDyH0Bp0B+E,A;2GgDzH1BhpC+B;AACM4zEyE;AAGat0B4G;oSASN2xCyC;AACuBrdmH;AAKvBqMAnDiFSzFmB,A;wOmD9EHvGgE;oIAsCJ30BiF;4DAEOqgCApDnGX32CsC,A;iBoDmGiB26Be;AAANgcApDnGX32C8C,I;2CoDmGiB26B6C;0OAqCbrkBgE;+WAwBL+gCoD;cAAAA6C;+IAhBamBAnD/DMx4C+B,A;AmDoFKqzB8D;yEACfgkB8C;UAAAAqC;87BA2EC6QAA9RWDuD,A;kEAgSTjxFuF;+CAGlBkxFAAnS2BDgD,A;AAmSPAmC;sCAMpBCAAzS2BDkC,A;AAySPrdmC;qCAMpBsdAA/S2BDkC,A;AA+SPAmC;wFAIL3xC4D;gCACAA4D;oEAEE2gCApDoMCzFe,A;ueoDrLEyFApDqLFzFiB,A;kEoDpLDyFApDoLCzFmB,A;8nBoDzKDyFApDyKCzFe,A;wnBoDhKDAe;m2BA4CIyWkF;AACDAiE;ypCA8BnBCAAra0BDoB,oC;+jPAo0B3BCAAp0B2BDsD,A;mEAu0BOjxF4B;0DAAAAwB;saAuCf2gCyD;4VA9tB0Bs/CAnDsC3BzFa,A;+0ByGrVbAe;4EACQ70CmC;wgBrDyBTs6CArD+nBczFuB,A;sSqD5nBTyFArD4nBSzFwB,A;6QqDxnBPyFArDwnBOzFe,A;4iBqD5mBLyFArD4mBKzFqB,A;uQqDhmBjByWuB;6HAKQzWsB;AAAYyWuB;8NAQpBAa;0BAAuBzWmD;mKAOf0GK;mYAUXuMW;uGACAAqB;oBAEFAU;4uBsDtHOxNA1GiXezFe,A;qR0G7WbyFA1G6WazFe,A;8e0GhWTxoB6D;sQAQIwoBuB;klBCzBRAe;6WAYAAe;+9BA6BFyFA3GwUezFe,A;quB4G3WbAe;kRAMAAe;0iDAqDkB0GyD;OAAhBlvB6D;4OAWsB2tBA7G4JtB32CgC,A;uD6G5JsB22C+B;qYAkBdnF8D;6HAOS0GuD;kCAAEAoD;o6DrDrFNiQuE;yRAajBnoDmC;2pBE8CPo0B0BwBtE0Bp0B4F,A;oGxBsE1BhpC0B;mCAAAAiF;oyCAgCew6EuB;m2CA0BWjcuI;4QAExBkvBwC;4iCA6LsBsQAoDlSFvcA7GuROx4CwC,A,A6GvRpBqyBAArCc8pCyC,qE,8CAqCd9pCAAasB6pCoB,8B,AAFjC7pC+C,A;uIpDgSkBryBwG;iEAGC41CgD;uKAAAA8D;iEAEDqBA1DmWMzF+B,A;4B0DlWNxxCqD;iSAqBJo8D4C;kDACcjT0D;iCACVnpDqF;AAEAo8DkE;+MAKYjT4D;mEACbiT+C;oDACajT4D;mEACXiTiD;oDACWjT4D;iCACVnpDkG;AAECo8DsE;2LAKTp8DyG;6GAKEi3CA1DmTUzFuB,A;4B0DlTVxxC6C;qHA4EVAgH;wiBAiByCwxCuB;k/CAwClB6qB2KqDrc3Br8D4C,A;qVrD8cyBu1B4G;AAAfkvBS;iCAAAAS;4BAAAAS;uBAAAAS;wBAAAAS;6nBA0DalvB8C;oNAkBAAiE;uiBAoBAv1B0E;ymBAyBVAoG;+mBAeJktBkB;wkEG9lBeqIwF;+CAAsBo0BwF;o+DmDZtBp0BgE;qSvDiKCqhBAzD4BZ52C0D,I;gCyD5BY42CAzD4BZ52C6C,A;6GyDfJ+7BAzD8DI/7BqD,I;6ByDtEG+7BAzDsEH/7BkD,I;kCyDtEG+7BAzDsEH/7ByC,A;yCyD9DJ+7BAzD8DI/7B4C,A;qayD1NFhpCiE;qNAgFmBigFAxDgONzFa,A;mVwD3JIzVAzDqEf/7BkD,I;mCyDrEe+7BAzDqEf/7ByC,A;oYyD7De+7BAzD6Df/7BqD,I;8CyD7De+7BAzD6Df/7B4C,A;gb+DtNCiqCiC;kyBAoCCjqCY;yJAIiBAoBCrIhB+pCiD,A;kBDyIGsNAlDkDeyDgE,A;6EkDlDP5C2D;AAChBA+E;AAEKbAlD+CkByDiD,A;ekD/ClBzDAlD+CkByD4B,A;gNkD3CRzDAlD2CQyDiD,A;4JkDtCrB96CgC;4SAMmBAoBC3JhB+pC8C,A;kFDqLNsNAlDMwByD+E,A;ekDNxBzDAlDMwByDW,A;yGkDAd5CmE;AACHA0E;qBACAA8D;yBAKYbAlDPKyD4C,A;8akDzBbzDAlDyBayDoE,A;6IkDpBjB96CY;2JAIoBAoBC3KrB+pCkD,A;4BD6KoBsNAlDcFyDgE,A;sFkDbHzDAlDaGyDiD,A;kFkDZNzDAlDYMyDiD,A;QkDVnB96CgB;uYAsCiBAoBCvNhB+pCiD,A;kBDwNGsNAlD7BeyDgE,A;6CkD6BP5C0D;AACObAlD9BAyDiD,A;sFkD+BLzDAlD/BKyDiD,A;yFkDmCrB96CoC;AAHIwxC0D;iSASexxCoBCpOhB+pCiD,A;kBDsONsNAlD3CwByDgE,A;ekD2CxBzDAlD3CwByD4B,A;6NkDkDfzDAlDlDeyD0C,A;4DkDqDKzDAlDrDLyD4C,A;2YkD+DjBzDAlD/DiByDiD,A;ekD+DjBzDAlD/DiByDkC,A;sHkDiExBzDAlDjEwByDiD,A;ekDiExBzDAlDjEwByDgD,A;iIkDkErB96CsC;oZAwBGq3CAlD1FkByDgE,A;ekD0FlBzDAlD1FkByD0C,A;2KkDgGUnjDgC;AAAzBu5CiB;AAAWnEe;AAAcp1CAgB4IvBA4J,A;AhBzIJ0/CAlDnGiByDiD,A;ekDmGjBzDAlDnGiByDmC,A;sHkDoGfzDAlDpGeyDiD,A;ekDoGfzDAlDpGeyDmC,A;0HkDqGIzDAlDrGJyDiD,A;ekDqGrB96CqC;ogBkD9QMAgB;s6BnD6DFq3CkD;QAAAA2E;mHAKcr3CqC;oEACpBAgB;gFAOAAgC;oCAHGAgB;sNAWRs8DYAxEqBtlGyB,4D;wDAyEdulGoC;SAAAAqB;0GAAAAAAkFTv8DiD,A;2SAvEEs8DYApFqBtlGyB,4D;iEAqFdulGoC;SAAAAqB;oHAAAAAAsETv8DyD,A;uVA7DEs8DYA9FqBtlGyB,4D;sEAgGdulGoC;SAAAAqB;sHAAAAAA2DTv8DiE,A;uWAjDAs4BkD;0BADEgkCYAzGqBtlGyB,8D;AA0GvBshEoF;oJAMAA4F;uRAYEA4B;kCAAAAoF;AAEAAuF;yMASAgkCYAvIqBtlGyB,4D;iGA2IVulGwEAgBbv8DqD,A;gEAdIq3CiG;AAAmDklB4E;4BAAAAAAcvDv8DkE,A;mhBAiBAq3C0H;qLAWKr3CgB;66EAKc06B2B;kBAAAA8C;yPAgCd16BW;4CAAAA6C;yIGyEA+7BAjEdI/7BqD,I;6BiEWP+7BAjEXO/7BkD,I;kCiEWP+7BAjEXO/7ByC,A;yCiEcJ+7BAjEdI/7B4C,A;8UiErKei3CAhE2PJzFa,A;qcgEzMYyFAhEyMZzFyC,A;kqDkErYamkBsE;w0BAYvB1aoC;qBAAAAoC;YACAAoC;qBAAAAwE;sKAOV0agB;AAAKS8D;ivCAgBLTgB;AAAKS0D;yEAIgCoG6I;iIAGrC7GgB;AAAKSqB;qDACyC35C4E;yEAKlBk5CqB;mBAAkBAkE;o7BAMhDAgB;AAAKSuD;6EAEsBTyC;uHAC3BAgB;AAAKSmE;2EAEqBTmD;sHAC1BAgB;AAAKSiE;0CAEET8D;uriE5DqtCU8GsK;wWAUAC0K;sWAUAC0G;4XAUAC8G;6yB6BhyBgCV8C;ihCKkB/BrOkB;sN8D5iBK7tDoBA4B4B68DyB,AACFCwB,A;4VxBmB7B9/DA3B1CYga4C,A;8DGAPhXiBoDMFqsC6B,AAEKDiC,AAEVD6B,A;kEpDLSnsCmBsDMJqsCmC,AAEKDqC,AAEVD6E,AAEQD8C,A;0DtDJHlsCeqDPAqsC6B,AAEKD+D,AAEVD2D,AAEQD6B,A;8YnDPblsCc;4kDKkBWAc;+9CrDqHClBAAsE3BmvD4B,A;AVnEkBz5GAA8CgBuqDAANK1kD" } } diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index d7a178b3fc..301e24fb05 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -126,6 +126,23 @@ updates: test: patterns: - "test" + - package-ecosystem: "pub" + directory: "infra" + schedule: + interval: "daily" + ignore: + # Ignore patch version bumps + - dependency-name: "*" + update-types: + - "version-update:semver-patch" + # Ignore all repo packages + - dependency-name: "amplify_core" + - dependency-name: "aws_common" + - dependency-name: "amplify_lints" + - dependency-name: "aws_logging_cloudwatch" + - dependency-name: "aws_signature_v4" + - dependency-name: "smithy" + - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "actions" schedule: @@ -192,23 +209,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" - - package-ecosystem: "pub" - directory: "infra" - schedule: - interval: "daily" - ignore: - # Ignore patch version bumps - - dependency-name: "*" - update-types: - - "version-update:semver-patch" - # Ignore all repo packages - - dependency-name: "amplify_core" - - dependency-name: "aws_common" - - dependency-name: "amplify_lints" - - dependency-name: "aws_logging_cloudwatch" - - dependency-name: "aws_signature_v4" - - dependency-name: "smithy" - - dependency-name: "smithy_aws" - package-ecosystem: "pub" directory: "packages/aft" schedule: diff --git a/.github/workflows/aws_logging_cloudwatch_example.yaml b/.github/workflows/aws_logging_cloudwatch_example.yaml deleted file mode 100644 index 738b9ea69b..0000000000 --- a/.github/workflows/aws_logging_cloudwatch_example.yaml +++ /dev/null @@ -1,71 +0,0 @@ -# Generated with aft. To update, run: `aft generate workflows` -name: aws_logging_cloudwatch_example -on: - push: - branches: - - main - - stable - paths: - - '.github/workflows/aws_logging_cloudwatch_example.yaml' - - '.github/workflows/dart_vm.yaml' - - 'packages/amplify_core/lib/**/*.dart' - - 'packages/amplify_core/pubspec.yaml' - - 'packages/amplify_lints/lib/**/*.yaml' - - 'packages/amplify_lints/pubspec.yaml' - - 'packages/aws_common/lib/**/*.dart' - - 'packages/aws_common/pubspec.yaml' - - 'packages/aws_signature_v4/lib/**/*.dart' - - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.dart' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.yaml' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/lib/**/*' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/test/**/*' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - - 'packages/smithy/smithy/lib/**/*.dart' - - 'packages/smithy/smithy/pubspec.yaml' - - 'packages/smithy/smithy_aws/lib/**/*.dart' - - 'packages/smithy/smithy_aws/pubspec.yaml' - pull_request: - paths: - - '.github/workflows/aws_logging_cloudwatch_example.yaml' - - '.github/workflows/dart_vm.yaml' - - 'packages/amplify_core/lib/**/*.dart' - - 'packages/amplify_core/pubspec.yaml' - - 'packages/amplify_lints/lib/**/*.yaml' - - 'packages/amplify_lints/pubspec.yaml' - - 'packages/aws_common/lib/**/*.dart' - - 'packages/aws_common/pubspec.yaml' - - 'packages/aws_signature_v4/lib/**/*.dart' - - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.dart' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/**/*.yaml' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/lib/**/*' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/example/test/**/*' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - - 'packages/smithy/smithy/lib/**/*.dart' - - 'packages/smithy/smithy/pubspec.yaml' - - 'packages/smithy/smithy_aws/lib/**/*.dart' - - 'packages/smithy/smithy_aws/pubspec.yaml' - schedule: - - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 -defaults: - run: - shell: bash - -permissions: read-all - -# Cancels in-progress job when there is another push to same ref. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - test: - uses: ./.github/workflows/dart_vm.yaml - with: - package-name: aws_logging_cloudwatch_example - working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch/example - has-goldens: false From 96d9dae28c897fee2deaba006ae224e825b47744 Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Thu, 5 Oct 2023 15:57:26 -0700 Subject: [PATCH 28/43] chore(logging): ran aft constraints apply --- .../amplify_logging_cloudwatch/pubspec.yaml | 4 ++-- .../logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml index d378666f82..e46968ac79 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml @@ -10,7 +10,7 @@ environment: sdk: "^3.0.0" dependencies: - amplify_core: ">=1.3.0 <1.4.0" + amplify_core: ">=1.4.0 <1.5.0" amplify_db_common_dart: ">=0.3.0+1 <0.4.0" aws_common: ">=0.6.0 <0.7.0" aws_logging_cloudwatch: ^0.1.0 @@ -28,7 +28,7 @@ dev_dependencies: build_runner: ^2.4.0 build_test: ^2.0.0 build_web_compilers: ^4.0.0 - drift_dev: ^2.2.0+1 + drift_dev: ">=2.11.0 <2.12.0" flutter_test: sdk: flutter test: ^1.22.1 diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml index 560eb790c3..095c3f2ee3 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml @@ -9,14 +9,14 @@ environment: sdk: "^3.0.0" dependencies: - amplify_core: ">=1.3.0 <1.4.0" + amplify_core: ">=1.4.0 <1.5.0" aws_common: ">=0.6.0 <0.7.0" aws_signature_v4: ">=0.5.0 <0.6.0" built_collection: ^5.1.1 built_value: ">=8.6.0 <8.7.0" fixnum: ^1.1.0 intl: ">=0.18.0 <1.0.0" - json_annotation: ^4.8.1 + json_annotation: ">=4.8.1 <4.9.0" meta: ^1.9.1 path: ^1.8.0 smithy: ^0.5.0+3 From 1bf03d17c6399afbbd36e2182b0529b65dd2587f Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Thu, 5 Oct 2023 16:11:05 -0700 Subject: [PATCH 29/43] chore(github): run aft generate workflows --- .github/dependabot.yaml | 76 ++++++++++--------- .../amplify_analytics_pinpoint_example.yaml | 4 - .github/workflows/amplify_api.yaml | 8 -- .github/workflows/amplify_api_example.yaml | 4 - .github/workflows/amplify_auth_cognito.yaml | 4 - .../amplify_auth_cognito_example.yaml | 4 - .github/workflows/amplify_authenticator.yaml | 4 - .../amplify_authenticator_example.yaml | 4 - .../workflows/amplify_datastore_example.yaml | 4 - .github/workflows/amplify_flutter.yaml | 8 -- .../workflows/amplify_flutter_example.yaml | 4 - .../workflows/amplify_logging_cloudwatch.yaml | 2 +- .../amplify_logging_cloudwatch_example.yaml | 2 +- .../amplify_push_notifications_pinpoint.yaml | 4 - ...y_push_notifications_pinpoint_example.yaml | 4 - .../workflows/amplify_storage_s3_example.yaml | 4 - .github/workflows/aws_logging_cloudwatch.yaml | 3 +- 17 files changed, 42 insertions(+), 101 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 301e24fb05..b1b7eb4f99 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -69,6 +69,9 @@ updates: drift: patterns: - "drift" + drift_dev: + patterns: + - "drift_dev" ffigen: patterns: - "ffigen" @@ -200,7 +203,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -275,8 +277,6 @@ updates: - dependency-name: "aws_signature_v4" - dependency-name: "smithy" - dependency-name: "smithy_aws" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -317,7 +317,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -353,7 +352,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -437,7 +435,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -521,8 +518,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -531,6 +526,7 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore/example" @@ -552,8 +548,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -562,6 +556,7 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore_plugin_interface" @@ -738,7 +733,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -784,7 +778,6 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -846,6 +839,9 @@ updates: built_value_generator: patterns: - "built_value_generator" + drift_dev: + patterns: + - "drift_dev" test: patterns: - "test" @@ -868,8 +864,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -902,8 +896,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -911,6 +903,7 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -940,8 +933,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -949,6 +940,7 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1020,7 +1012,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1071,8 +1062,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1080,6 +1069,7 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1119,8 +1109,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1128,6 +1116,7 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1367,7 +1356,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1411,7 +1399,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1449,7 +1436,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1488,7 +1474,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/authenticator/amplify_authenticator_test/example" schedule: @@ -1519,7 +1504,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/aws_common" schedule: @@ -1706,6 +1690,9 @@ updates: drift: patterns: - "drift" + drift_dev: + patterns: + - "drift_dev" build_runner: patterns: - "build_runner" @@ -1733,6 +1720,9 @@ updates: drift: patterns: - "drift" + drift_dev: + patterns: + - "drift_dev" build_runner: patterns: - "build_runner" @@ -1770,6 +1760,9 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + drift_dev: + patterns: + - "drift_dev" test: patterns: - "test" @@ -1803,6 +1796,9 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + drift_dev: + patterns: + - "drift_dev" - package-ecosystem: "pub" directory: "packages/common/amplify_db_common_dart/example" schedule: @@ -1833,6 +1829,9 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + drift_dev: + patterns: + - "drift_dev" - package-ecosystem: "pub" directory: "packages/example_common" schedule: @@ -1904,6 +1903,9 @@ updates: build_web_compilers: patterns: - "build_web_compilers" + drift_dev: + patterns: + - "drift_dev" test: patterns: - "test" @@ -1936,8 +1938,8 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" schedule: @@ -1967,8 +1969,8 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: @@ -2194,7 +2196,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -2236,7 +2237,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -2268,7 +2268,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -3198,7 +3197,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3245,7 +3243,6 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3301,6 +3298,9 @@ updates: built_value_generator: patterns: - "built_value_generator" + drift_dev: + patterns: + - "drift_dev" json_serializable: patterns: - "json_serializable" @@ -3395,8 +3395,6 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_logging_cloudwatch" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -3404,6 +3402,7 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -3505,6 +3504,9 @@ updates: build_runner: patterns: - "build_runner" + drift_dev: + patterns: + - "drift_dev" json_serializable: patterns: - "json_serializable" diff --git a/.github/workflows/amplify_analytics_pinpoint_example.yaml b/.github/workflows/amplify_analytics_pinpoint_example.yaml index ce35852b2e..b5c4b6c35a 100644 --- a/.github/workflows/amplify_analytics_pinpoint_example.yaml +++ b/.github/workflows/amplify_analytics_pinpoint_example.yaml @@ -43,8 +43,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -100,8 +98,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_api.yaml b/.github/workflows/amplify_api.yaml index 1c5c37a25a..458b22ba77 100644 --- a/.github/workflows/amplify_api.yaml +++ b/.github/workflows/amplify_api.yaml @@ -24,10 +24,6 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -62,10 +58,6 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_api_example.yaml b/.github/workflows/amplify_api_example.yaml index 1ca54502f8..5ebdfa1ea7 100644 --- a/.github/workflows/amplify_api_example.yaml +++ b/.github/workflows/amplify_api_example.yaml @@ -45,8 +45,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -104,8 +102,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito.yaml b/.github/workflows/amplify_auth_cognito.yaml index 711e0871de..2d60500ef7 100644 --- a/.github/workflows/amplify_auth_cognito.yaml +++ b/.github/workflows/amplify_auth_cognito.yaml @@ -32,8 +32,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -78,8 +76,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito_example.yaml b/.github/workflows/amplify_auth_cognito_example.yaml index b83cccedb7..e98b5e4a16 100644 --- a/.github/workflows/amplify_auth_cognito_example.yaml +++ b/.github/workflows/amplify_auth_cognito_example.yaml @@ -47,8 +47,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -108,8 +106,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator.yaml b/.github/workflows/amplify_authenticator.yaml index 98a711dcf6..0c3a53702f 100644 --- a/.github/workflows/amplify_authenticator.yaml +++ b/.github/workflows/amplify_authenticator.yaml @@ -34,8 +34,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -82,8 +80,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator_example.yaml b/.github/workflows/amplify_authenticator_example.yaml index 58f59b4d35..35f3535d7f 100644 --- a/.github/workflows/amplify_authenticator_example.yaml +++ b/.github/workflows/amplify_authenticator_example.yaml @@ -45,8 +45,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -104,8 +102,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_datastore_example.yaml b/.github/workflows/amplify_datastore_example.yaml index a7f3e37282..9723ead8cf 100644 --- a/.github/workflows/amplify_datastore_example.yaml +++ b/.github/workflows/amplify_datastore_example.yaml @@ -38,8 +38,6 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -90,8 +88,6 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_flutter.yaml b/.github/workflows/amplify_flutter.yaml index 3141406530..13f9b00b0b 100644 --- a/.github/workflows/amplify_flutter.yaml +++ b/.github/workflows/amplify_flutter.yaml @@ -20,10 +20,6 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -54,10 +50,6 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' - - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_flutter_example.yaml b/.github/workflows/amplify_flutter_example.yaml index 2b8ad34219..e3a402b919 100644 --- a/.github/workflows/amplify_flutter_example.yaml +++ b/.github/workflows/amplify_flutter_example.yaml @@ -42,8 +42,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -102,8 +100,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_logging_cloudwatch.yaml b/.github/workflows/amplify_logging_cloudwatch.yaml index 1eb484b388..ceb9c7f01e 100644 --- a/.github/workflows/amplify_logging_cloudwatch.yaml +++ b/.github/workflows/amplify_logging_cloudwatch.yaml @@ -59,7 +59,7 @@ on: - 'packages/smithy/smithy_aws/lib/**/*.dart' - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 + - cron: "0 6 * * *" # Every day at 06:00 defaults: run: shell: bash diff --git a/.github/workflows/amplify_logging_cloudwatch_example.yaml b/.github/workflows/amplify_logging_cloudwatch_example.yaml index 3ab6b1503d..465f503660 100644 --- a/.github/workflows/amplify_logging_cloudwatch_example.yaml +++ b/.github/workflows/amplify_logging_cloudwatch_example.yaml @@ -105,7 +105,7 @@ on: - 'packages/worker_bee/worker_bee_builder/lib/**/*.dart' - 'packages/worker_bee/worker_bee_builder/pubspec.yaml' schedule: - - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 + - cron: "0 6 * * *" # Every day at 06:00 defaults: run: shell: bash diff --git a/.github/workflows/amplify_push_notifications_pinpoint.yaml b/.github/workflows/amplify_push_notifications_pinpoint.yaml index c032b9718f..962ec66b28 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint.yaml @@ -30,8 +30,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' @@ -80,8 +78,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml index 9a62fde252..d0a4083fe3 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml @@ -30,8 +30,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' @@ -82,8 +80,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' diff --git a/.github/workflows/amplify_storage_s3_example.yaml b/.github/workflows/amplify_storage_s3_example.yaml index cc688f7e60..d1a7bea66c 100644 --- a/.github/workflows/amplify_storage_s3_example.yaml +++ b/.github/workflows/amplify_storage_s3_example.yaml @@ -37,8 +37,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -96,8 +94,6 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' - - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/aws_logging_cloudwatch.yaml b/.github/workflows/aws_logging_cloudwatch.yaml index 317d036af0..dc4ebcc40c 100644 --- a/.github/workflows/aws_logging_cloudwatch.yaml +++ b/.github/workflows/aws_logging_cloudwatch.yaml @@ -53,7 +53,7 @@ on: - 'packages/smithy/smithy_aws/lib/**/*.dart' - 'packages/smithy/smithy_aws/pubspec.yaml' schedule: - - cron: "0 6,12 * * *" # Every day at 06:00 and 12:00 + - cron: "0 6 * * *" # Every day at 06:00 defaults: run: shell: bash @@ -72,7 +72,6 @@ jobs: with: package-name: aws_logging_cloudwatch working-directory: packages/logging_cloudwatch/aws_logging_cloudwatch - has-goldens: false native_test: needs: test uses: ./.github/workflows/dart_native.yaml From 55a0d243730b99a0432a225bb44bd36757be0350 Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Thu, 5 Oct 2023 17:10:06 -0700 Subject: [PATCH 30/43] fix(aft): add logging_cloudwatch packages to aft package selector test --- packages/aft/test/config/package_selector_test.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/aft/test/config/package_selector_test.dart b/packages/aft/test/config/package_selector_test.dart index 74c6c4c2ed..65fc35c27e 100644 --- a/packages/aft/test/config/package_selector_test.dart +++ b/packages/aft/test/config/package_selector_test.dart @@ -44,6 +44,8 @@ void main() { 'packages/common/amplify_db_common/example', 'packages/common/amplify_db_common_dart/example', 'packages/example_common/example', + 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example', + 'packages/logging_cloudwatch/aws_logging_cloudwatch/example', 'packages/notifications/push/amplify_push_notifications/example', 'packages/notifications/push/amplify_push_notifications_pinpoint/example', 'packages/secure_storage/amplify_secure_storage/example', @@ -134,6 +136,7 @@ void main() { 'packages/analytics/amplify_analytics_pinpoint/example', 'packages/api/amplify_api/example', 'packages/common/amplify_db_common/example', + 'packages/logging_cloudwatch/amplify_logging_cloudwatch/example', 'packages/notifications/push/amplify_push_notifications/example', 'packages/notifications/push/amplify_push_notifications_pinpoint/example', 'packages/secure_storage/amplify_secure_storage/example', From b6278223f133e25ea64b27d0b1ef917b4818d14a Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Fri, 6 Oct 2023 11:24:24 -0700 Subject: [PATCH 31/43] add amplify_logging_cloudwatch to amplify_flutter pubspec.yaml which was removed at merge --- packages/amplify/amplify_flutter/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/amplify/amplify_flutter/pubspec.yaml b/packages/amplify/amplify_flutter/pubspec.yaml index feefd60667..5b8d104502 100644 --- a/packages/amplify/amplify_flutter/pubspec.yaml +++ b/packages/amplify/amplify_flutter/pubspec.yaml @@ -19,9 +19,9 @@ platforms: web: dependencies: - amplify_core: ">=1.3.3 <1.4.0" + amplify_core: ">=1.4.1 <1.5.0" amplify_logging_cloudwatch: ^0.1.0 - amplify_secure_storage: ">=0.4.0+5 <0.5.0" + amplify_secure_storage: ">=0.4.0+6 <0.5.0" aws_common: ">=0.6.0 <0.7.0" aws_logging_cloudwatch: ^0.1.0 collection: ^1.15.0 From 9e550978509710b2c086144cd4cb38817388f86c Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Fri, 6 Oct 2023 11:25:56 -0700 Subject: [PATCH 32/43] run aft generate workflows after fixing the pubspec --- .github/dependabot.yaml | 46 +++++++++++++++---- .../amplify_analytics_pinpoint_example.yaml | 4 ++ .github/workflows/amplify_api.yaml | 8 ++++ .github/workflows/amplify_api_example.yaml | 4 ++ .github/workflows/amplify_auth_cognito.yaml | 4 ++ .../amplify_auth_cognito_example.yaml | 4 ++ .github/workflows/amplify_authenticator.yaml | 4 ++ .../amplify_authenticator_example.yaml | 4 ++ .../workflows/amplify_datastore_example.yaml | 4 ++ .github/workflows/amplify_flutter.yaml | 8 ++++ .../workflows/amplify_flutter_example.yaml | 4 ++ .../amplify_push_notifications_pinpoint.yaml | 4 ++ ...y_push_notifications_pinpoint_example.yaml | 4 ++ .../workflows/amplify_storage_s3_example.yaml | 4 ++ 14 files changed, 97 insertions(+), 9 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index b1b7eb4f99..fbc9957460 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -203,6 +203,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -277,6 +278,8 @@ updates: - dependency-name: "aws_signature_v4" - dependency-name: "smithy" - dependency-name: "smithy_aws" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -317,6 +320,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -352,6 +356,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -435,6 +440,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -518,6 +524,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -526,7 +534,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore/example" @@ -548,6 +555,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -556,7 +565,6 @@ updates: - dependency-name: "amplify_datastore_plugin_interface" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "smithy_codegen" - package-ecosystem: "pub" directory: "packages/amplify_datastore_plugin_interface" @@ -733,6 +741,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -778,6 +787,7 @@ updates: - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -864,6 +874,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -896,6 +908,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -903,7 +917,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -933,6 +946,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -940,7 +955,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1012,6 +1026,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1062,6 +1077,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1069,7 +1086,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1109,6 +1125,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -1116,7 +1134,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" @@ -1356,6 +1373,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: async: @@ -1399,6 +1417,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1436,6 +1455,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_api" - dependency-name: "amplify_api_dart" @@ -1474,6 +1494,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/authenticator/amplify_authenticator_test/example" schedule: @@ -1504,6 +1525,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - package-ecosystem: "pub" directory: "packages/aws_common" schedule: @@ -1938,8 +1960,8 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_authenticator" - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_authenticator" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/amplify_logging_cloudwatch/example" schedule: @@ -1969,8 +1991,8 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" - - dependency-name: "amplify_authenticator" - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_authenticator" - package-ecosystem: "pub" directory: "packages/logging_cloudwatch/aws_logging_cloudwatch" schedule: @@ -2196,6 +2218,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications" # Group dependencies which have a constraint set in the global "pubspec.yaml" groups: @@ -2237,6 +2260,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -2268,6 +2292,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_push_notifications_pinpoint" - dependency-name: "amplify_push_notifications" - package-ecosystem: "pub" @@ -3197,6 +3222,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3243,6 +3269,7 @@ updates: - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" - dependency-name: "amplify_authenticator" - dependency-name: "amplify_storage_s3" - dependency-name: "amplify_storage_s3_dart" @@ -3395,6 +3422,8 @@ updates: - dependency-name: "smithy" - dependency-name: "smithy_aws" - dependency-name: "amplify_flutter" + - dependency-name: "amplify_logging_cloudwatch" + - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_secure_storage" - dependency-name: "amplify_secure_storage_dart" - dependency-name: "worker_bee" @@ -3402,7 +3431,6 @@ updates: - dependency-name: "amplify_auth_cognito" - dependency-name: "amplify_analytics_pinpoint" - dependency-name: "amplify_analytics_pinpoint_dart" - - dependency-name: "amplify_db_common_dart" - dependency-name: "amplify_db_common" - dependency-name: "amplify_auth_cognito_dart" - dependency-name: "smithy_codegen" diff --git a/.github/workflows/amplify_analytics_pinpoint_example.yaml b/.github/workflows/amplify_analytics_pinpoint_example.yaml index b5c4b6c35a..ce35852b2e 100644 --- a/.github/workflows/amplify_analytics_pinpoint_example.yaml +++ b/.github/workflows/amplify_analytics_pinpoint_example.yaml @@ -43,6 +43,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -98,6 +100,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_api.yaml b/.github/workflows/amplify_api.yaml index 458b22ba77..1c5c37a25a 100644 --- a/.github/workflows/amplify_api.yaml +++ b/.github/workflows/amplify_api.yaml @@ -24,6 +24,10 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -58,6 +62,10 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_api_example.yaml b/.github/workflows/amplify_api_example.yaml index 5ebdfa1ea7..1ca54502f8 100644 --- a/.github/workflows/amplify_api_example.yaml +++ b/.github/workflows/amplify_api_example.yaml @@ -45,6 +45,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -102,6 +104,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito.yaml b/.github/workflows/amplify_auth_cognito.yaml index 2d60500ef7..711e0871de 100644 --- a/.github/workflows/amplify_auth_cognito.yaml +++ b/.github/workflows/amplify_auth_cognito.yaml @@ -32,6 +32,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -76,6 +78,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_auth_cognito_example.yaml b/.github/workflows/amplify_auth_cognito_example.yaml index e98b5e4a16..b83cccedb7 100644 --- a/.github/workflows/amplify_auth_cognito_example.yaml +++ b/.github/workflows/amplify_auth_cognito_example.yaml @@ -47,6 +47,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -106,6 +108,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator.yaml b/.github/workflows/amplify_authenticator.yaml index 0c3a53702f..98a711dcf6 100644 --- a/.github/workflows/amplify_authenticator.yaml +++ b/.github/workflows/amplify_authenticator.yaml @@ -34,6 +34,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -80,6 +82,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_authenticator_example.yaml b/.github/workflows/amplify_authenticator_example.yaml index 35f3535d7f..58f59b4d35 100644 --- a/.github/workflows/amplify_authenticator_example.yaml +++ b/.github/workflows/amplify_authenticator_example.yaml @@ -45,6 +45,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -102,6 +104,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_datastore_example.yaml b/.github/workflows/amplify_datastore_example.yaml index 9723ead8cf..a7f3e37282 100644 --- a/.github/workflows/amplify_datastore_example.yaml +++ b/.github/workflows/amplify_datastore_example.yaml @@ -38,6 +38,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -88,6 +90,8 @@ on: - 'packages/aws_signature_v4/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_flutter.yaml b/.github/workflows/amplify_flutter.yaml index 13f9b00b0b..3141406530 100644 --- a/.github/workflows/amplify_flutter.yaml +++ b/.github/workflows/amplify_flutter.yaml @@ -20,6 +20,10 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -50,6 +54,10 @@ on: - 'packages/aws_common/pubspec.yaml' - 'packages/aws_signature_v4/lib/**/*.dart' - 'packages/aws_signature_v4/pubspec.yaml' + - 'packages/common/amplify_db_common_dart/lib/**/*.dart' + - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_flutter_example.yaml b/.github/workflows/amplify_flutter_example.yaml index e3a402b919..2b8ad34219 100644 --- a/.github/workflows/amplify_flutter_example.yaml +++ b/.github/workflows/amplify_flutter_example.yaml @@ -42,6 +42,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -100,6 +102,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_pinpoint.yaml b/.github/workflows/amplify_push_notifications_pinpoint.yaml index 962ec66b28..c032b9718f 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint.yaml @@ -30,6 +30,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' @@ -78,6 +80,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' diff --git a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml index d0a4083fe3..9a62fde252 100644 --- a/.github/workflows/amplify_push_notifications_pinpoint_example.yaml +++ b/.github/workflows/amplify_push_notifications_pinpoint_example.yaml @@ -30,6 +30,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' @@ -80,6 +82,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/notifications/push/amplify_push_notifications/lib/**/*.dart' diff --git a/.github/workflows/amplify_storage_s3_example.yaml b/.github/workflows/amplify_storage_s3_example.yaml index d1a7bea66c..cc688f7e60 100644 --- a/.github/workflows/amplify_storage_s3_example.yaml +++ b/.github/workflows/amplify_storage_s3_example.yaml @@ -37,6 +37,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' @@ -94,6 +96,8 @@ on: - 'packages/common/amplify_db_common/pubspec.yaml' - 'packages/common/amplify_db_common_dart/lib/**/*.dart' - 'packages/common/amplify_db_common_dart/pubspec.yaml' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/**/*.dart' + - 'packages/logging_cloudwatch/amplify_logging_cloudwatch/pubspec.yaml' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/lib/**/*.dart' - 'packages/logging_cloudwatch/aws_logging_cloudwatch/pubspec.yaml' - 'packages/secure_storage/amplify_secure_storage/lib/**/*.dart' From ab2ae43c841cb614af10967df46248e9e1c14463 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 6 Oct 2023 13:59:51 -0700 Subject: [PATCH 33/43] feat(logging):send amplify library logs to cloudwatch (#3893) feat(logging):send amplify library logs to cloudwatch --- .../lib/src/amplify_logging_cloudwatch.dart | 6 ++++-- .../lib/src/logger/amplify_logging_cloudwatch.dart | 8 +++++--- .../lib/src/state_machine/state_machine.dart | 2 +- packages/amplify_datastore/lib/amplify_datastore.dart | 9 +++++++++ .../queued_item_store/dart_queued_item_store.web.dart | 8 +++++--- .../src/graphql/web_socket/blocs/subscriptions_bloc.dart | 3 +++ .../src/graphql/web_socket/blocs/web_socket_bloc.dart | 3 +++ .../graphql/web_socket/services/web_socket_service.dart | 3 +++ .../amplify_auth_cognito/lib/src/auth_plugin_impl.dart | 3 +++ .../lib/src/asf/asf_context_data_provider.dart | 5 ++++- .../lib/src/asf/asf_device_info_collector.dart | 5 ++++- .../lib/src/blocs/auth/auth_bloc.dart | 3 +++ .../amplify_logging_cloudwatch/example/lib/main.dart | 1 - .../queued_item_store/dart_queued_item_store.web.dart | 7 +++++-- .../lib/src/cloudwatch_logger_plugin.dart | 5 ++++- .../lib/src/remote_constraint_provider.dart | 5 ++++- .../lib/src/amplify_storage_s3_dart_impl.dart | 5 ++++- 17 files changed, 64 insertions(+), 17 deletions(-) diff --git a/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart index b6397190ce..9a4ac48604 100644 --- a/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart +++ b/packages/amplify/amplify_flutter/lib/src/amplify_logging_cloudwatch.dart @@ -14,7 +14,7 @@ import 'package:meta/meta.dart'; /// {@macro amplify_core.logger.amplify_logging_cloudwatch} class AmplifyFlutterLogging extends AmplifyLogging { static AmplifyCloudWatchLoggerPlugin? _plugin; - static final _logger = AmplifyLogger(); + static final _logger = AWSLogger(); @override void configure( @@ -44,7 +44,9 @@ class AmplifyFlutterLogging extends AmplifyLogging { credentialsProvider: credentialsProvider, pluginConfig: pluginConfig, ); - _logger.registerPlugin(_plugin!); + _logger + ..registerPlugin(_plugin!) + ..logLevel = LogLevel.verbose; } @override diff --git a/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart b/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart index baabe31806..fddac22d2c 100644 --- a/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart +++ b/packages/amplify_core/lib/src/logger/amplify_logging_cloudwatch.dart @@ -10,11 +10,11 @@ import 'package:meta/meta.dart'; /// {@template amplify_core.logger.amplify_logging_cloudwatch} /// It configures the [CloudWatchLoggerPlugin] from [AmplifyConfig] to sends -/// [AmplifyLogger]'s logs to the CloudWatch. +/// [AWSLogger]'s logs to the CloudWatch. /// {@endtemplate} class AmplifyLogging { static CloudWatchLoggerPlugin? _plugin; - static final _logger = AmplifyLogger(); + static final _logger = AWSLogger(); void configure( AmplifyConfig amplifyConfig, @@ -43,7 +43,9 @@ class AmplifyLogging { credentialsProvider: credentialsProvider, pluginConfig: pluginConfig, ); - _logger.registerPlugin(_plugin!); + _logger + ..registerPlugin(_plugin!) + ..logLevel = LogLevel.verbose; } @visibleForTesting diff --git a/packages/amplify_core/lib/src/state_machine/state_machine.dart b/packages/amplify_core/lib/src/state_machine/state_machine.dart index 1c5d7e415f..381bf21af2 100644 --- a/packages/amplify_core/lib/src/state_machine/state_machine.dart +++ b/packages/amplify_core/lib/src/state_machine/state_machine.dart @@ -68,7 +68,7 @@ abstract class StateMachineManager< E extends StateMachineEvent, S extends StateMachineState, Manager extends StateMachineManager> - with Dispatcher, AWSDebuggable, AWSLoggerMixin + with Dispatcher, AWSDebuggable, AmplifyLoggerMixin implements DependencyManager, Closeable { /// {@macro amplify_core.state_machinedispatcher} StateMachineManager( diff --git a/packages/amplify_datastore/lib/amplify_datastore.dart b/packages/amplify_datastore/lib/amplify_datastore.dart index 2799013f15..f91af5a52d 100644 --- a/packages/amplify_datastore/lib/amplify_datastore.dart +++ b/packages/amplify_datastore/lib/amplify_datastore.dart @@ -252,6 +252,9 @@ class AmplifyDataStore extends DataStorePluginInterface @override String get runtimeTypeName => 'AmplifyDataStore'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.dataStore); } class _NativeAmplifyAuthCognito @@ -296,6 +299,9 @@ class _NativeAmplifyAuthCognito @override String get runtimeTypeName => '_NativeAmplifyAuthCognito'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.dataStore); } class _NativeAmplifyApi @@ -325,4 +331,7 @@ class _NativeAmplifyApi @override String get runtimeTypeName => '_NativeAmplifyApi'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.dataStore); } diff --git a/packages/analytics/amplify_analytics_pinpoint_dart/lib/src/impl/analytics_client/event_client/queued_item_store/dart_queued_item_store.web.dart b/packages/analytics/amplify_analytics_pinpoint_dart/lib/src/impl/analytics_client/event_client/queued_item_store/dart_queued_item_store.web.dart index 79063f1cf4..bd04c426ea 100644 --- a/packages/analytics/amplify_analytics_pinpoint_dart/lib/src/impl/analytics_client/event_client/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/analytics/amplify_analytics_pinpoint_dart/lib/src/impl/analytics_client/event_client/queued_item_store/dart_queued_item_store.web.dart @@ -3,14 +3,13 @@ import 'package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/queued_item_store/index_db/in_memory_queued_item_store.dart'; import 'package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/queued_item_store/index_db/indexed_db_adapter.dart'; - import 'package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/queued_item_store/queued_item_store.dart'; -import 'package:aws_common/aws_common.dart'; +import 'package:amplify_core/amplify_core.dart'; import 'package:meta/meta.dart'; /// {@macro amplify_analytics_pinpoint_dart.dart_queued_item_store} class DartQueuedItemStore - with AWSDebuggable, AWSLoggerMixin + with AWSDebuggable, AmplifyLoggerMixin implements QueuedItemStore, Closeable { /// {@macro amplify_analytics_pinpoint_dart.index_db_queued_item_store} // ignore: avoid_unused_constructor_parameters @@ -30,6 +29,9 @@ class DartQueuedItemStore @override String get runtimeTypeName => 'DartQueuedItemStore'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.analytics); + @override Future addItem(String string) async { final db = await _database; diff --git a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/subscriptions_bloc.dart b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/subscriptions_bloc.dart index 027dae236e..ecb96839af 100644 --- a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/subscriptions_bloc.dart +++ b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/subscriptions_bloc.dart @@ -120,6 +120,9 @@ class SubscriptionBloc @override String get runtimeTypeName => 'WsSubscriptionBloc'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.api); + Stream> _startAck( SubscriptionStartAckEvent event, ) async* { diff --git a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/web_socket_bloc.dart b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/web_socket_bloc.dart index 3ea504efba..7df5f3f617 100644 --- a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/web_socket_bloc.dart +++ b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/blocs/web_socket_bloc.dart @@ -54,6 +54,9 @@ class WebSocketBloc with AWSDebuggable, AmplifyLoggerMixin { @override String get runtimeTypeName => 'WebSocketBloc'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.api); + /// Default timeout response for polling static const Duration _pollResponseTimeout = Duration(seconds: 5); diff --git a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/services/web_socket_service.dart b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/services/web_socket_service.dart index 8cb3371486..6e8656b6bf 100644 --- a/packages/api/amplify_api_dart/lib/src/graphql/web_socket/services/web_socket_service.dart +++ b/packages/api/amplify_api_dart/lib/src/graphql/web_socket/services/web_socket_service.dart @@ -201,4 +201,7 @@ class AmplifyWebSocketService @override String get runtimeTypeName => 'WebSocketService'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.api); } diff --git a/packages/auth/amplify_auth_cognito/lib/src/auth_plugin_impl.dart b/packages/auth/amplify_auth_cognito/lib/src/auth_plugin_impl.dart index c303fe10cb..2da9a041c9 100644 --- a/packages/auth/amplify_auth_cognito/lib/src/auth_plugin_impl.dart +++ b/packages/auth/amplify_auth_cognito/lib/src/auth_plugin_impl.dart @@ -153,6 +153,9 @@ class _NativeAmplifyAuthCognito @override String get runtimeTypeName => '_NativeAmplifyAuthCognito'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.auth); } final class _NativeASFDeviceInfoCollector extends ASFDeviceInfoCollector { diff --git a/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_context_data_provider.dart b/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_context_data_provider.dart index 9436b85030..ebd14ba936 100644 --- a/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_context_data_provider.dart +++ b/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_context_data_provider.dart @@ -13,7 +13,7 @@ import 'package:async/async.dart'; /// Provides user context data as required for Cognito's advanced security features /// (ASF) functionality. /// {@endtemplate} -final class ASFContextDataProvider with AWSDebuggable, AWSLoggerMixin { +final class ASFContextDataProvider with AWSDebuggable, AmplifyLoggerMixin { /// {@macro amplify_auth_cognito_dart.asf.asf_context_data_provider} ASFContextDataProvider(this._dependencyManager); @@ -101,4 +101,7 @@ final class ASFContextDataProvider with AWSDebuggable, AWSLoggerMixin { @override String get runtimeTypeName => 'ASFContextDataProvider'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.auth); } diff --git a/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_device_info_collector.dart b/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_device_info_collector.dart index 85f1319815..c9ae2ba210 100644 --- a/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_device_info_collector.dart +++ b/packages/auth/amplify_auth_cognito_dart/lib/src/asf/asf_device_info_collector.dart @@ -57,7 +57,7 @@ abstract base class ASFDeviceInfoCollector { /// {@endtemplate} @internal abstract base class NativeASFDeviceInfoCollector extends ASFDeviceInfoCollector - with AWSDebuggable, AWSLoggerMixin { + with AWSDebuggable, AmplifyLoggerMixin { /// {@macro amplify_auth_cognito_dart.asf.asf_device_info} const NativeASFDeviceInfoCollector() : super.base(); @@ -158,4 +158,7 @@ abstract base class NativeASFDeviceInfoCollector extends ASFDeviceInfoCollector @override String get runtimeTypeName => 'NativeASFDeviceInfoCollector'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.auth); } diff --git a/packages/authenticator/amplify_authenticator/lib/src/blocs/auth/auth_bloc.dart b/packages/authenticator/amplify_authenticator/lib/src/blocs/auth/auth_bloc.dart index 4c729b9078..540c7e162c 100644 --- a/packages/authenticator/amplify_authenticator/lib/src/blocs/auth/auth_bloc.dart +++ b/packages/authenticator/amplify_authenticator/lib/src/blocs/auth/auth_bloc.dart @@ -46,6 +46,9 @@ class StateMachineBloc @override String get runtimeTypeName => 'StateMachineBloc'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.auth); + /// State controller. final StreamController _authStateController = StreamController.broadcast(); diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index 6402704263..9610119207 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -25,7 +25,6 @@ Future main() async { await Amplify.addPlugin(authPlugin); await Amplify.configure(amplifyConfig); - AmplifyLogger().logLevel = LogLevel.verbose; runApp( const MyApp(), diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart index 656556950b..7d0de342a8 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -3,15 +3,15 @@ // ignore_for_file: implementation_imports +import 'package:amplify_core/amplify_core.dart'; import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; -import 'package:aws_common/aws_common.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/queued_item_store.dart'; import 'package:meta/meta.dart'; /// {@macro amplify_logging_cloudwatch.dart_queued_item_store} class DartQueuedItemStore - with AWSDebuggable, AWSLoggerMixin + with AWSDebuggable, AmplifyLoggerMixin implements QueuedItemStore, Closeable { /// {@macro amplify_logging_cloudwatch.index_db_queued_item_store} // ignore: avoid_unused_constructor_parameters @@ -31,6 +31,9 @@ class DartQueuedItemStore @override String get runtimeTypeName => 'DartQueuedItemStore'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.logging); + @override Future addItem( String string, diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index 074f69e906..a6961e3d3c 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -47,7 +47,7 @@ typedef _LogBatch = (List logQueues, List logEvents); /// An [AWSLoggerPlugin] for sending logs to AWS CloudWatch Logs. /// {@endtemplate} class CloudWatchLoggerPlugin extends AWSLoggerPlugin - with AWSDebuggable, AWSLoggerMixin { + with AWSDebuggable, AmplifyLoggerMixin { /// {@macro aws_logging_cloudwatch.cloudwatch_logger_plugin} CloudWatchLoggerPlugin({ required AWSCredentialsProvider credentialsProvider, @@ -369,6 +369,9 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin Future _clearLogs() async { await _logStore.clear(); } + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.logging); } extension on QueuedItem { diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart index 9d35b09820..922af4c043 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart @@ -24,7 +24,7 @@ abstract class RemoteLoggingConstraintProvider { /// [LoggingConstraints] from a remote location and cache it. /// {@endtemplate} base class BaseRemoteLoggingConstraintProvider - with AWSDebuggable, AWSLoggerMixin + with AWSDebuggable, AmplifyLoggerMixin implements RemoteLoggingConstraintProvider, Closeable { /// {@macro aws_logging_cloudwatch.base_remote_constraints_provider} BaseRemoteLoggingConstraintProvider({ @@ -66,6 +66,9 @@ base class BaseRemoteLoggingConstraintProvider @override String get runtimeTypeName => 'BaseRemoteConstraintsProvider'; + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.logging); + /// Initializes the [BaseRemoteLoggingConstraintProvider] by fetching /// the constraint from the endpoint initially and then /// starting the refresh timer afterwards. diff --git a/packages/storage/amplify_storage_s3_dart/lib/src/amplify_storage_s3_dart_impl.dart b/packages/storage/amplify_storage_s3_dart/lib/src/amplify_storage_s3_dart_impl.dart index 9e63131c8e..0d7ac99ff7 100644 --- a/packages/storage/amplify_storage_s3_dart/lib/src/amplify_storage_s3_dart_impl.dart +++ b/packages/storage/amplify_storage_s3_dart/lib/src/amplify_storage_s3_dart_impl.dart @@ -27,7 +27,7 @@ bool get _zIsTest => Zone.current[zIsTest] as bool? ?? false; /// The Dart Storage S3 plugin for the Amplify Storage Category. /// {@endtemplate} class AmplifyStorageS3Dart extends StoragePluginInterface - with AWSDebuggable, AWSLoggerMixin { + with AWSDebuggable, AmplifyLoggerMixin { /// {@macro amplify_storage_s3_dart.amplify_storage_s3_plugin_dart} AmplifyStorageS3Dart({ String? delimiter, @@ -478,6 +478,9 @@ class AmplifyStorageS3Dart extends StoragePluginInterface @override String get runtimeTypeName => 'AmplifyStorageS3Dart'; + + @override + AmplifyLogger get logger => AmplifyLogger.category(Category.storage); } class _AmplifyStorageS3DartPluginKey From 68152aac08196fee05a6f24781b8d403a6c7a6f8 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 6 Oct 2023 15:05:09 -0700 Subject: [PATCH 34/43] =?UTF-8?q?chore(logging):=20update=20example=20app?= =?UTF-8?q?=20for=20the=20app=20bar=20leading=20icon=20to=20si=E2=80=A6=20?= =?UTF-8?q?(#3910)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit chore(logging): update example app for the app bar leading icon to sign-out user --- .../lib/amplifyconfiguration_logging.dart | 4 +- .../example/lib/homepage.dart | 10 +++++ .../example/lib/main.dart | 39 ++++++++++++------- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart index ae6438a913..24eb1c1719 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/amplifyconfiguration_logging.dart @@ -7,7 +7,7 @@ const loggingconfig = '''{ "localStoreMaxSizeInMB": 5, "flushIntervalInSeconds": 60, "defaultRemoteConfiguration": { - "endpoint": "https://.execute-api..amazonaws.com/prod/loggingconstraints", + "endpoint": "https://.execute-api..amazonaws.com/prod/loggingconstraints", "refreshIntervalInSeconds": 1200 }, "loggingConstraints": { @@ -21,7 +21,7 @@ const loggingconfig = '''{ "defaultLogLevel": "WARN", "categoryLogLevel": { "AUTH": "INFO", - "API": "ERROR" + "API": "INFO" } } } diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart index eeee75f1f5..ad9301e56e 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart @@ -53,6 +53,16 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: IconButton( + icon: const Icon( + Icons.arrow_back_outlined, + semanticLabel: 'Sign-out and go to the first screen.', + ), + onPressed: () { + Amplify.Auth.signOut(); + Navigator.pushNamed(context, '/'); + }, + ), title: Text(widget.title), ), body: SingleChildScrollView( diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index 9610119207..6771e92157 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -66,24 +66,35 @@ class InitPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar(title: Text(title)), + appBar: AppBar( + title: Text(title), + automaticallyImplyLeading: false, + ), body: Center( - child: Row( + child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - ElevatedButton( - onPressed: () { - Amplify.Auth.signOut(); - Navigator.pushNamed(context, '/login'); - }, - child: const Text('Go to Login Page'), + const Text( + style: TextStyle(fontWeight: FontWeight.w700), + textAlign: TextAlign.center, + 'You are signed-out.\n\nclick on "GO to Login Page" to login or create a user.\n\nclick on "GO to Home Page" to enter as a guest.\n\n\n\n', ), - ElevatedButton( - onPressed: () { - Amplify.Auth.signOut(); - Navigator.pushNamed(context, '/home'); - }, - child: const Text('Go to Home Page'), + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + ElevatedButton( + onPressed: () { + Navigator.pushNamed(context, '/login'); + }, + child: const Text('Go to Login Page'), + ), + ElevatedButton( + onPressed: () { + Navigator.pushNamed(context, '/home'); + }, + child: const Text('Go to Home Page'), + ), + ], ), ], ), From b1c938b4515de9b58be7b956bdf37694adf1b9a3 Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Mon, 9 Oct 2023 16:17:26 -0700 Subject: [PATCH 35/43] feat: implement _isLoggable method (#3894) * feat: implement _isLoggable and corrected categoryLogLevel in UserLogLevel class * chore: added _userId private variable instead of using method variable * chore: add aft workflows * chore: added helper method make sure category keys match * chore: removed unnecessary new listener * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart Co-authored-by: NikaHsn * chore: removed white spaces * chore: added tests, tests methods, and fixed a typ * Update packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart Co-authored-by: NikaHsn * chore: removed testing methods and adjusted tests * chore: WIP - changed tests for handleLogEntry * chore: added future.delay(0) to tests * chore: updated remote_constraint_provider_test * updated the tests * chore: flattened if statement --------- Co-authored-by: NikaHsn Co-authored-by: Nika Hassani --- .../logging/cloudwatch_logging_config.dart | 2 +- .../logging/cloudwatch_logging_config.g.dart | 5 +- .../lib/src/cloudwatch_logger_plugin.dart | 42 +++- .../test/cloudwatch_logger_plugin_test.dart | 195 +++++++++++++++++- .../aws_logging_cloudwatch/test/mocks.dart | 8 +- .../test/remote_constraint_provider_test.dart | 4 +- 6 files changed, 237 insertions(+), 19 deletions(-) diff --git a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart index 3012fc94a2..581da428de 100644 --- a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart +++ b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.dart @@ -161,7 +161,7 @@ class UserLogLevel _$UserLogLevelFromJson(json); final LogLevel defaultLogLevel; - final Map categoryLogLevel; + final Map categoryLogLevel; @override List get props => [defaultLogLevel, categoryLogLevel]; diff --git a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart index 72ab29ce57..b7aa0da96a 100644 --- a/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart +++ b/packages/amplify_core/lib/src/config/logging/cloudwatch_logging_config.g.dart @@ -104,7 +104,7 @@ UserLogLevel _$UserLogLevelFromJson(Map json) => UserLogLevel( LogLevel.error, categoryLogLevel: (json['categoryLogLevel'] as Map?)?.map( - (k, e) => MapEntry(k, e as String), + (k, e) => MapEntry(k, $enumDecode(_$LogLevelEnumMap, e)), ) ?? const {}, ); @@ -112,5 +112,6 @@ UserLogLevel _$UserLogLevelFromJson(Map json) => UserLogLevel( Map _$UserLogLevelToJson(UserLogLevel instance) => { 'defaultLogLevel': _$LogLevelEnumMap[instance.defaultLogLevel]!, - 'categoryLogLevel': instance.categoryLogLevel, + 'categoryLogLevel': instance.categoryLogLevel + .map((k, e) => MapEntry(k, _$LogLevelEnumMap[e]!)), }; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index a6961e3d3c..ce6fb512b1 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -98,8 +98,12 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin if (event.type == AuthHubEventType.signedOut || event.type == AuthHubEventType.userDeleted || event.type == AuthHubEventType.sessionExpired) { + _userId = null; await _clearLogs(); } + if (event.type == AuthHubEventType.signedIn) { + _userId = event.payload?.userId; + } }); } @@ -122,11 +126,15 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin if (event.type == AuthHubEventType.signedOut || event.type == AuthHubEventType.userDeleted || event.type == AuthHubEventType.sessionExpired) { + _userId = null; await _clearLogs(); } + if (event.type == AuthHubEventType.signedIn) { + _userId = event.payload?.userId; + } }); } - + String? _userId; final CloudWatchPluginConfig _pluginConfig; final CloudWatchLogsClient _client; final CloudWatchLogStreamProvider _logStreamProvider; @@ -301,11 +309,35 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin /// Whether a [logEntry] should be logged by this plugin. bool _isLoggable(LogEntry logEntry) { - if (!_enabled) { - return false; - } + if (!_enabled) return false; + final loggingConstraint = _getLoggingConstraint(); - return logEntry.level >= loggingConstraint.defaultLogLevel; + final hasUserLogLevel = loggingConstraint.userLogLevel.containsKey(_userId); + LogLevel? logLevel; + + if (hasUserLogLevel) { + final userLogLevel = loggingConstraint.userLogLevel[_userId]!; + logLevel = + _getCategoryLogLevel(userLogLevel.categoryLogLevel, logEntry) ?? + userLogLevel.defaultLogLevel; + } else { + logLevel = + _getCategoryLogLevel(loggingConstraint.categoryLogLevel, logEntry); + } + + return logEntry.level >= (logLevel ?? loggingConstraint.defaultLogLevel); + } + + LogLevel? _getCategoryLogLevel( + Map categoryLogLevel, + LogEntry logEntry, + ) { + for (final entry in categoryLogLevel.entries) { + if (logEntry.loggerName.toLowerCase().contains(entry.key.toLowerCase())) { + return entry.value; + } + } + return null; } @override diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart index 699053c57f..aeaa155959 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/cloudwatch_logger_plugin_test.dart @@ -19,7 +19,29 @@ void main() { late CloudWatchLoggerPlugin plugin; late MockSmithyOperation mockPutLogEventsOperation; - const loggingConstraint = LoggingConstraints(); + const loggingConstraint = LoggingConstraints( + defaultLogLevel: LogLevel.error, + categoryLogLevel: { + 'Auth': LogLevel.warn, + 'DataStore': LogLevel.debug, + }, + userLogLevel: { + 'mockUserId': UserLogLevel( + defaultLogLevel: LogLevel.warn, + categoryLogLevel: { + 'Auth': LogLevel.debug, + 'DataStore': LogLevel.info, + }, + ), + 'userId': UserLogLevel( + defaultLogLevel: LogLevel.error, + categoryLogLevel: { + 'Auth': LogLevel.info, + 'DataStore': LogLevel.warn, + }, + ), + }, + ); const pluginConfig = CloudWatchPluginConfig( logGroupName: 'logGroupName', region: 'region', @@ -38,6 +60,48 @@ void main() { loggerName: 'loggerName', ); + final infoLog = LogEntry( + level: LogLevel.info, + message: 'info message', + loggerName: 'loggerName', + ); + + final datastoreDebugLog = LogEntry( + level: LogLevel.debug, + message: 'debug message', + loggerName: 'DataStore', + ); + + final datastoreInfoLog = LogEntry( + level: LogLevel.info, + message: 'debug message', + loggerName: 'DataStore', + ); + + final authWarnLog = LogEntry( + level: LogLevel.warn, + message: 'debug message', + loggerName: 'Auth', + ); + + final authDebugLog = LogEntry( + level: LogLevel.debug, + message: 'debug message', + loggerName: 'Auth', + ); + + final authInfoLog = LogEntry( + level: LogLevel.info, + message: 'info message', + loggerName: 'Auth', + ); + + final authVerboseLog = LogEntry( + level: LogLevel.verbose, + message: 'verbose message', + loggerName: 'Auth', + ); + final queuedItems = [ QueuedItem( id: 1, @@ -62,6 +126,9 @@ void main() { ]; group('enable/disable: ', () { + final hubEventController = StreamController.broadcast(); + Amplify.Hub.addChannel(HubChannel.Auth, hubEventController.stream); + setUp(() { mockCloudWatchLogsClient = MockCloudWatchLogsClient(); mockQueuedItemStore = MockQueuedItemStore(); @@ -74,7 +141,11 @@ void main() { ); }); - test('when enabled, logs are added to the item store', () async { + tearDownAll(hubEventController.close); + + test( + 'when enabled, logs are added to the item store ' + 'if loggable at default log level', () async { when( () => mockQueuedItemStore.addItem( any(), @@ -87,11 +158,15 @@ void main() { .thenReturn(false); plugin.enable(); - await expectLater( plugin.handleLogEntry(errorLog), completes, ); + // should not log this because it is below default log level. + await expectLater( + plugin.handleLogEntry(warnLog), + completes, + ); verify( () => mockQueuedItemStore.addItem( @@ -100,20 +175,123 @@ void main() { enableQueueRotation: false, ), ).called(1); - verify( () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), ).called(1); }); - test('when enabled,logs are not added to the log store if not loggable', - () async { + test( + 'when enabled, logs are added to the item store ' + 'if loggable at category log level', () async { + when( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + plugin.enable(); + await expectLater( + plugin.handleLogEntry(authWarnLog), + completes, + ); + await expectLater( + plugin.handleLogEntry(datastoreDebugLog), + completes, + ); + // should not log this because it is below auth category log level. + await expectLater( + plugin.handleLogEntry(authInfoLog), + completes, + ); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(2); + verify( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).called(2); + }); + + test( + 'when enabled, logs are added to the log store if' + ' loggable at user log level', () async { + when( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).thenAnswer((_) async => {}); + + when(() => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB)) + .thenReturn(false); + + plugin.enable(); + hubEventController.add(AuthHubEvent.signedIn(MockAuthUser())); + await Future.delayed(Duration.zero); + + await expectLater( + plugin.handleLogEntry(authWarnLog), + completes, + ); + await expectLater( + plugin.handleLogEntry(datastoreInfoLog), + completes, + ); await expectLater( plugin.handleLogEntry(warnLog), completes, ); - verifyZeroInteractions(mockQueuedItemStore); + + // should not log these because they are below user log level. + await expectLater( + plugin.handleLogEntry(authVerboseLog), + completes, + ); + await expectLater( + plugin.handleLogEntry(infoLog), + completes, + ); + + verify( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ).called(3); + verify( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ).called(3); + + hubEventController.add(AuthHubEvent.signedOut()); + await Future.delayed(Duration.zero); + + // should not log this because it is below auth category log level. + await expectLater( + plugin.handleLogEntry(authDebugLog), + completes, + ); + + verifyNever( + () => mockQueuedItemStore.addItem( + any(), + any(), + enableQueueRotation: false, + ), + ); + verifyNever( + () => mockQueuedItemStore.isFull(pluginConfig.localStoreMaxSizeInMB), + ); }); test( @@ -732,6 +910,7 @@ void main() { AuthHubEvent.signedOut, AuthHubEvent.userDeleted, ]; + Amplify.Hub.addChannel(HubChannel.Auth, hubEventController.stream); setUp(() { mockCloudWatchLogsClient = MockCloudWatchLogsClient(); @@ -798,7 +977,7 @@ void main() { plugin.handleLogEntry(errorLog), completes, ); - hubEventController.add(AuthHubEvent.signedIn(MockAuhtUser())); + hubEventController.add(AuthHubEvent.signedIn(MockAuthUser())); await Future.delayed(Duration.zero); verify( diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart index bdf6fba1e7..b9832bfd26 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/mocks.dart @@ -18,4 +18,10 @@ class MockCloudWatchLogStreamProvider extends Mock class MockRemoteLoggingConstraintProvider extends Mock implements RemoteLoggingConstraintProvider {} -class MockAuhtUser extends Mock implements AuthUser {} +class MockAuthUser extends Mock implements AuthUser { + @override + final String userId = 'mockUserId'; + + @override + final String username = 'mockUser'; +} diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart index 38ed51af6d..003679c272 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/test/remote_constraint_provider_test.dart @@ -140,8 +140,8 @@ void main() { "cognito-sub-xyz-123": { "defaultLogLevel": "VERBOSE", "categoryLogLevel": { - "API": "error", - "AUTH": "debug" + "API": "ERROR", + "AUTH": "DEBUG" } } } From d81e3d59931e28b9e28610721c5b997b84c2fa21 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 10 Oct 2023 13:52:15 -0700 Subject: [PATCH 36/43] chore(logging): logger example app to sign-out user on main page (#3934) --- .../amplify_logging_cloudwatch/example/lib/main.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index 6771e92157..efa841a82d 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -65,6 +65,7 @@ class InitPage extends StatelessWidget { final String title; @override Widget build(BuildContext context) { + Amplify.Auth.signOut(); return Scaffold( appBar: AppBar( title: Text(title), From 422e68712dedce54ad3bf36ac1485add584763b8 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Tue, 10 Oct 2023 15:50:25 -0700 Subject: [PATCH 37/43] chore(logging): example app to use different keys for home page for guest and auth user (#3935) --- .../example/lib/main.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index efa841a82d..be44d7a642 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -40,18 +40,23 @@ class MyApp extends StatelessWidget { initialRoute: '/', routes: { '/': (BuildContext context) { - return const InitPage( + return InitPage( + key: GlobalKey(), title: 'Amplify Logging Cloudwatch Example', ); }, '/home': (BuildContext context) { - return const MyHomePage( + return MyHomePage( + key: GlobalKey(), title: 'Amplify Logging Cloudwatch Example', ); }, '/login': (BuildContext context) { - return const AuthenticatedView( - child: MyHomePage(title: 'Amplify Logging Cloudwatch Example'), + return AuthenticatedView( + child: MyHomePage( + key: GlobalKey(), + title: 'Amplify Logging Cloudwatch Example', + ), ); }, }, From 5f79e744b2501785f5f19c9db13b75fbf0d226e4 Mon Sep 17 00:00:00 2001 From: kc Date: Fri, 13 Oct 2023 13:09:39 -0700 Subject: [PATCH 38/43] chore(logging): fixes and improvement to logging example app (#3943) --- .../example/lib/homepage.dart | 504 +++++------------- .../example/lib/main.dart | 82 +-- 2 files changed, 191 insertions(+), 395 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart index ad9301e56e..18e0cef6ae 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/homepage.dart @@ -10,40 +10,51 @@ class MyHomePage extends StatefulWidget { State createState() => _MyHomePageState(); } -class _MyHomePageState extends State { - final _plugin = AmplifyLogger().getPlugin()!; - - final _authLogger = AmplifyLogger.category(Category.auth); - LogLevel? _authLogLevel; - final TextEditingController _authLogMsgController = TextEditingController(); - - final _analyticsLogger = AmplifyLogger.category(Category.analytics); - LogLevel? _analyticsLogLevel; - final TextEditingController _analyticsLogMsgController = - TextEditingController(); +class LoggerInfo { + LoggerInfo( + this.category, + this.logger, + this.logMsgController, { + this.logLevel = LogLevel.verbose, + }); + final Category category; + final AmplifyLogger logger; + final TextEditingController logMsgController; + LogLevel? logLevel; - final _apiLogger = AmplifyLogger.category(Category.api); - LogLevel? _apiLogLevel; - final TextEditingController _apiLogMsgController = TextEditingController(); - - final _dataStoreLogger = AmplifyLogger.category(Category.dataStore); - LogLevel? _dataStoreLogLevel; - final TextEditingController _dataStoreLogMsgController = - TextEditingController(); + LoggerInfo copyWith({ + Category? category, + AmplifyLogger? logger, + TextEditingController? logMsgController, + LogLevel? logLevel, + }) { + return LoggerInfo( + category ?? this.category, + logger ?? this.logger, + logMsgController ?? this.logMsgController, + logLevel: logLevel ?? this.logLevel, + ); + } +} - final _hubLogger = AmplifyLogger.category(Category.hub); - LogLevel? _hubLogLevel; - final TextEditingController _hubLogMsgController = TextEditingController(); +class _MyHomePageState extends State { + final _loggerMap = {}; - final _pnLogger = AmplifyLogger.category(Category.pushNotifications); - LogLevel? _pnLogLevel; - final TextEditingController _pnLogMsgController = TextEditingController(); + @override + void initState() { + super.initState(); - final _storageLogger = AmplifyLogger.category(Category.storage); - LogLevel? _storageLogLevel; - final TextEditingController _storageLogMsgController = - TextEditingController(); + // Create LoggerInfo for each Category + for (final category in Category.values) { + _loggerMap[category] = LoggerInfo( + category, + AmplifyLogger.category(category), + TextEditingController(), + ); + } + } + final _plugin = AmplifyLogger().getPlugin()!; LogLevel? _customLogLevel; final TextEditingController _customLogMsgController = TextEditingController(); final TextEditingController _customLoggerNameController = @@ -60,20 +71,19 @@ class _MyHomePageState extends State { ), onPressed: () { Amplify.Auth.signOut(); - Navigator.pushNamed(context, '/'); + Navigator.popAndPushNamed(context, '/'); }, ), title: Text(widget.title), ), body: SingleChildScrollView( - scrollDirection: Axis.horizontal, + scrollDirection: Axis.vertical, child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, children: [ ...loggerList(), - Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, + Wrap( children: [ Padding( padding: const EdgeInsets.all(4), @@ -124,367 +134,131 @@ class _MyHomePageState extends State { } void _submitLogs() { - if (_authLogLevel != null && _authLogMsgController.text != '') { - _authLogger.log(_authLogLevel!, _authLogMsgController.text); - } - if (_analyticsLogLevel != null && _analyticsLogMsgController.text != '') { - _analyticsLogger.log( - _analyticsLogLevel!, - _analyticsLogMsgController.text, - ); - } - if (_apiLogLevel != null && _apiLogMsgController.text != '') { - _apiLogger.log( - _apiLogLevel!, - _apiLogMsgController.text, - ); - } - if (_dataStoreLogLevel != null && _dataStoreLogMsgController.text != '') { - _dataStoreLogger.log( - _dataStoreLogLevel!, - _dataStoreLogMsgController.text, - ); - } - if (_hubLogLevel != null && _hubLogMsgController.text != '') { - _hubLogger.log(_hubLogLevel!, _hubLogMsgController.text); - } - if (_pnLogLevel != null && _pnLogMsgController.text != '') { - _pnLogger.log(_pnLogLevel!, _pnLogMsgController.text); - } - if (_storageLogLevel != null && _storageLogMsgController.text != '') { - _storageLogger.log(_storageLogLevel!, _storageLogMsgController.text); + for (final loggerInfo in _loggerMap.values) { + if (loggerInfo.logLevel != null && + loggerInfo.logMsgController.text != '') { + loggerInfo.logger.log( + loggerInfo.logLevel!, + loggerInfo.logMsgController.text, + ); + } } + if (_customLoggerNameController.text != '' && _customLogLevel != null && _customLogMsgController.text != '') { AmplifyLogger(_customLoggerNameController.text) .log(_customLogLevel!, _customLogMsgController.text); } - setState(() { - _authLogLevel = _analyticsLogLevel = _apiLogLevel = _dataStoreLogLevel = - _hubLogLevel = - _pnLogLevel = _storageLogLevel = _customLogLevel = null; - _authLogMsgController.text = _analyticsLogMsgController.text = - _apiLogMsgController.text = _dataStoreLogMsgController.text = - _hubLogMsgController.text = _pnLogMsgController.text = - _storageLogMsgController.text = _customLogMsgController.text = - _customLoggerNameController.text = ''; + setState(() { + for (final loggerInfo in _loggerMap.values) { + loggerInfo.logLevel = LogLevel.verbose; + loggerInfo.logMsgController.text = ''; + } }); } - List loggerList() { - return [ - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const SizedBox( - width: 150, - child: Text('Analytics Category:'), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _analyticsLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _analyticsLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', - ), - controller: _analyticsLogMsgController, - ), - ], - ), - ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const SizedBox( - width: 150, - child: Text('API Category:'), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _apiLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _apiLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', - ), - controller: _apiLogMsgController, - ), - ], - ), + Widget displayCategoryLogControls(Category category) { + final loggerInfo = _loggerMap[category]!; + return Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFF7F7F7F)), ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const SizedBox( - width: 150, - child: Text('Auth Category:'), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _authLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _authLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', + child: Row( + //mainAxisAlignment: MainAxisAlignment.start, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('${category.name}:'), + DropdownButton( + hint: const Text('Select Log Level'), + value: loggerInfo.logLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _loggerMap[category] = + loggerInfo.copyWith(logLevel: newValue); + }); + }, ), - controller: _authLogMsgController, - ), - ], - ), - ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const SizedBox( - width: 150, - child: Text( - 'DataStore Category:', - ), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _dataStoreLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _dataStoreLogLevel = newValue; - }); - }, - ), - TextField( + ], + ), + const SizedBox( + width: 10, + ), + Expanded( + child: TextField( decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), hintText: 'Enter log message', ), - controller: _dataStoreLogMsgController, + controller: loggerInfo.logMsgController, ), - ], - ), + ), + ], ), + ); + } + + List loggerList() { + return [ + for (final category in Category.values) + displayCategoryLogControls(category), Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( border: Border.all(color: const Color(0xFF7F7F7F)), ), child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - const SizedBox( - width: 150, - child: Text('Hub Category:'), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _hubLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _hubLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', - ), - controller: _hubLogMsgController, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextField( + decoration: const InputDecoration( + constraints: BoxConstraints(maxWidth: 150), + hintText: 'Enter logger name', + ), + controller: _customLoggerNameController, + ), + DropdownButton( + hint: const Text('Select Log Level'), + value: _customLogLevel, + items: LogLevel.values + .map( + (e) => DropdownMenuItem( + value: e, + child: Text(e.name), + ), + ) + .toList(), + onChanged: (newValue) { + setState(() { + _customLogLevel = newValue; + }); + }, + ), + ], ), - ], - ), - ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ const SizedBox( - width: 150, - child: Text('PushNotification Category:'), - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _pnLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _pnLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', - ), - controller: _pnLogMsgController, - ), - ], - ), - ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const SizedBox(width: 150, child: Text('Storage Category:')), - DropdownButton( - hint: const Text('Select Log Level'), - value: _storageLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _storageLogLevel = newValue; - }); - }, + width: 10, ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', - ), - controller: _storageLogMsgController, - ), - ], - ), - ), - Container( - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFF7F7F7F)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 150), - hintText: 'Enter logger name', - ), - controller: _customLoggerNameController, - ), - DropdownButton( - hint: const Text('Select Log Level'), - value: _customLogLevel, - items: LogLevel.values - .map( - (e) => DropdownMenuItem( - value: e, - child: Text(e.name), - ), - ) - .toList(), - onChanged: (newValue) { - setState(() { - _customLogLevel = newValue; - }); - }, - ), - TextField( - decoration: const InputDecoration( - constraints: BoxConstraints(maxWidth: 400), - hintText: 'Enter log message', + Expanded( + child: TextField( + decoration: const InputDecoration( + hintText: 'Enter log message', + ), + controller: _customLogMsgController, ), - controller: _customLogMsgController, ), ], ), diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index be44d7a642..e473288167 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -8,31 +8,43 @@ import 'package:amplify_logging_cloudwatch_example/amplifyconfiguration_logging. import 'package:amplify_logging_cloudwatch_example/homepage.dart'; import 'package:flutter/material.dart'; -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - final authPlugin = AmplifyAuthCognito(); +void main() async { + runApp(const MyApp()); +} - final amplifyConfigWithLogging = AmplifyConfig.fromJson( - jsonDecode(amplifyconfig) as Map, - ).copyWith( - logging: LoggingConfig.fromJson( - jsonDecode(loggingconfig) as Map, - ), - ); +class MyApp extends StatefulWidget { + const MyApp({super.key}); - final amplifyConfig = - const JsonEncoder().convert(amplifyConfigWithLogging.toJson()); + @override + State createState() => _MyAppState(); +} - await Amplify.addPlugin(authPlugin); - await Amplify.configure(amplifyConfig); +class _MyAppState extends State { + final Future _initialization = _configureAmplify(); - runApp( - const MyApp(), - ); -} + @override + void initState() { + super.initState(); + } + + static Future _configureAmplify() async { + final authPlugin = AmplifyAuthCognito(); + + final amplifyConfigWithLogging = AmplifyConfig.fromJson( + jsonDecode(amplifyconfig) as Map, + ).copyWith( + logging: LoggingConfig.fromJson( + jsonDecode(loggingconfig) as Map, + ), + ); + + final amplifyConfig = + const JsonEncoder().convert(amplifyConfigWithLogging.toJson()); + + await Amplify.addPlugin(authPlugin); + await Amplify.configure(amplifyConfig); + } -class MyApp extends StatelessWidget { - const MyApp({super.key}); @override Widget build(BuildContext context) { return Authenticator( @@ -40,21 +52,32 @@ class MyApp extends StatelessWidget { initialRoute: '/', routes: { '/': (BuildContext context) { - return InitPage( - key: GlobalKey(), - title: 'Amplify Logging Cloudwatch Example', + return FutureBuilder( + future: _initialization, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + Amplify.Auth.signOut(); + return const InitPage( + title: 'Amplify Logging Cloudwatch Example', + ); + } else { + return const Scaffold( + body: Center( + child: CircularProgressIndicator(), + ), + ); + } + }, ); }, '/home': (BuildContext context) { - return MyHomePage( - key: GlobalKey(), + return const MyHomePage( title: 'Amplify Logging Cloudwatch Example', ); }, '/login': (BuildContext context) { - return AuthenticatedView( + return const AuthenticatedView( child: MyHomePage( - key: GlobalKey(), title: 'Amplify Logging Cloudwatch Example', ), ); @@ -70,7 +93,6 @@ class InitPage extends StatelessWidget { final String title; @override Widget build(BuildContext context) { - Amplify.Auth.signOut(); return Scaffold( appBar: AppBar( title: Text(title), @@ -90,13 +112,13 @@ class InitPage extends StatelessWidget { children: [ ElevatedButton( onPressed: () { - Navigator.pushNamed(context, '/login'); + Navigator.popAndPushNamed(context, '/login'); }, child: const Text('Go to Login Page'), ), ElevatedButton( onPressed: () { - Navigator.pushNamed(context, '/home'); + Navigator.popAndPushNamed(context, '/home'); }, child: const Text('Go to Home Page'), ), From a9a1f293578d92d5c1a6384f8a4ab814462f385f Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 13 Oct 2023 14:18:26 -0700 Subject: [PATCH 39/43] fix(logging): not sign the empty body of the get remote config request (#3947) --- .../lib/src/remote_constraint_provider.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart index 922af4c043..bc51696495 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/remote_constraint_provider.dart @@ -32,7 +32,8 @@ base class BaseRemoteLoggingConstraintProvider FileStorage? fileStorage, }) : _fileStorage = fileStorage, _config = config, - _awsHttpClient = AWSHttpClient() { + _awsHttpClient = AWSHttpClient() + ..supportedProtocols = SupportedProtocols.http1 { _init(); } @@ -120,9 +121,10 @@ base class BaseRemoteLoggingConstraintProvider jsonEncode(fetchedConstraint.toJson()), ); } - } on Exception catch (exception) { + } on Object catch (exception, st) { logger.error( - 'Failed to fetch logging constraint from ${_config.endpoint}: $exception', + 'Failed to fetch logging constraint from ${_config.endpoint}. exception: $exception, stack: $st', + st, ); } } @@ -194,6 +196,7 @@ final class DefaultRemoteLoggingConstraintProvider final signedRequest = await _signer.sign( baseRequest, credentialScope: scope, + serviceConfiguration: const ServiceConfiguration(signBody: false), ); return signedRequest; From 8e7754d7026782e2603acd6eb4577cd435d84795 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Fri, 13 Oct 2023 15:17:32 -0700 Subject: [PATCH 40/43] chore(logging): remove development team from macos runner (#3948) --- .../example/macos/Runner.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj index 7e7bd1041f..348948829c 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/macos/Runner.xcodeproj/project.pbxproj @@ -422,7 +422,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 6M3LR39NQ8; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -551,7 +551,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 6M3LR39NQ8; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -574,7 +574,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 6M3LR39NQ8; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", From ae2fcfdcd5068ce88ff7b545f7ecd46e9c4250b5 Mon Sep 17 00:00:00 2001 From: NikaHsn Date: Wed, 18 Oct 2023 09:10:17 -0700 Subject: [PATCH 41/43] fix(logging): use indexedDB on web if it is supported (#3961) --- .../dart_queued_item_store.web.dart | 26 +++++++++++------ .../index_db/indexed_db_adapter.dart | 28 ++++--------------- .../lib/src/cloudwatch_logger_plugin.dart | 10 +++---- .../queued_item_store/queued_item_store.dart | 2 +- 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart index 7d0de342a8..9cc7c50b96 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/dart_queued_item_store.web.dart @@ -3,6 +3,8 @@ // ignore_for_file: implementation_imports +import 'dart:async'; + import 'package:amplify_core/amplify_core.dart'; import 'package:amplify_logging_cloudwatch/src/queued_item_store/index_db/indexed_db_adapter.dart'; import 'package:aws_logging_cloudwatch/src/queued_item_store/in_memory_queued_item_store.dart'; @@ -17,8 +19,8 @@ class DartQueuedItemStore // ignore: avoid_unused_constructor_parameters DartQueuedItemStore(String? storagePath); - late final QueuedItemStore _database = () { - if (IndexedDbAdapter.checkIsIndexedDBSupported()) { + late final Future _database = () async { + if (await IndexedDbAdapter.checkIsIndexedDBSupported()) { return IndexedDbAdapter(); } logger.warn( @@ -40,7 +42,8 @@ class DartQueuedItemStore String timestamp, { bool enableQueueRotation = false, }) async { - await _database.addItem( + final db = await _database; + await db.addItem( string, timestamp, enableQueueRotation: enableQueueRotation, @@ -49,29 +52,34 @@ class DartQueuedItemStore @override Future deleteItems(Iterable items) async { - await _database.deleteItems(items); + final db = await _database; + await db.deleteItems(items); } @override Future> getCount(int count) async { - return _database.getCount(count); + final db = await _database; + return db.getCount(count); } @override Future> getAll() async { - return _database.getAll(); + final db = await _database; + return db.getAll(); } @override - bool isFull(int maxSizeInMB) { - return _database.isFull(maxSizeInMB); + Future isFull(int maxSizeInMB) async { + final db = await _database; + return db.isFull(maxSizeInMB); } /// Clear IndexedDB data. @override @visibleForTesting Future clear() async { - return _database.clear(); + final db = await _database; + return db.clear(); } @override diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart index 050e1ef1eb..7da69274ae 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/lib/src/queued_item_store/index_db/indexed_db_adapter.dart @@ -97,10 +97,10 @@ class IndexedDbAdapter implements QueuedItemStore { for (final elem in request.result) { final value = elem as Object; final id = getProperty(value, 'id'); - final string = getProperty(value, 'value'); + final itemValue = getProperty(value, 'value'); final timestamp = getProperty(value, 'timestamp'); readValues.add( - QueuedItem(id: id, value: string, timestamp: timestamp), + QueuedItem(id: id, value: itemValue, timestamp: timestamp), ); } return readValues; @@ -129,25 +129,7 @@ class IndexedDbAdapter implements QueuedItemStore { @override Future> getAll() async { - final readValues = []; - - await _databaseOpenEvent; - final store = _getObjectStore(); - final request = store.getAll(null, null); - - await request.future; - - for (final elem in request.result) { - final value = elem as Map; - final id = value['id'] as int; - final itemValue = value['value'] as String; - final timestamp = value['timestamp'] as String; - readValues.add( - QueuedItem(id: id, value: itemValue, timestamp: timestamp), - ); - } - - return readValues; + return getCount(); } @override @@ -168,14 +150,14 @@ class IndexedDbAdapter implements QueuedItemStore { void close() {} /// Check that IndexDB will work on this device. - static bool checkIsIndexedDBSupported() { + static Future checkIsIndexedDBSupported() async { if (indexedDB == null) { return false; } // indexedDB will be non-null in Firefox private browsing, // but will fail to open. try { - indexedDB!.open('test', 1).result; + await indexedDB!.open('test', 1).future; return true; } on Object { return false; diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart index ce6fb512b1..1b03df8949 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/cloudwatch_logger_plugin.dart @@ -219,7 +219,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin } on Exception catch (e) { logger.error('Failed to sync logs to CloudWatch.', e); } finally { - _handleFullLogStoreAfterSync( + await _handleFullLogStoreAfterSync( retryTime: nextRetry, ); _syncing = false; @@ -227,11 +227,11 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin } } - void _handleFullLogStoreAfterSync({ + Future _handleFullLogStoreAfterSync({ DateTime? retryTime, - }) { + }) async { final isLogStoreFull = - _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); + await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); if (!isLogStoreFull) { _retryCount = 0; _retryTime = null; @@ -347,7 +347,7 @@ class CloudWatchLoggerPlugin extends AWSLoggerPlugin } final item = logEntry.toQueuedItem(); final isLogStoreFull = - _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); + await _logStore.isFull(_pluginConfig.localStoreMaxSizeInMB); final shouldEnableQueueRotation = isLogStoreFull && _retryTime != null; await _logStore.addItem( diff --git a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart index 9317aa4878..24e197d449 100644 --- a/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart +++ b/packages/logging_cloudwatch/aws_logging_cloudwatch/lib/src/queued_item_store/queued_item_store.dart @@ -24,7 +24,7 @@ abstract interface class QueuedItemStore { FutureOr> getAll(); /// Whether the queue size is reached [maxSizeInMB]. - bool isFull(int maxSizeInMB); + FutureOr isFull(int maxSizeInMB); /// Clear the queue of items. FutureOr clear(); From 79a5143dd692f73239ce8cf225b122572b5a224a Mon Sep 17 00:00:00 2001 From: Nika Hassani Date: Fri, 20 Oct 2023 10:02:46 -0700 Subject: [PATCH 42/43] chore(logging): example app to not use data protection on macOS --- .../amplify_logging_cloudwatch/example/lib/main.dart | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart index e473288167..f68bbea816 100644 --- a/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart +++ b/packages/logging_cloudwatch/amplify_logging_cloudwatch/example/lib/main.dart @@ -28,8 +28,16 @@ class _MyAppState extends State { } static Future _configureAmplify() async { - final authPlugin = AmplifyAuthCognito(); - + final authPlugin = AmplifyAuthCognito( + // FIXME: In your app, make sure to remove this line and set up + /// Keychain Sharing in Xcode as described in the docs: + /// https://docs.amplify.aws/lib/project-setup/platform-setup/q/platform/flutter/#enable-keychain + secureStorageFactory: AmplifySecureStorage.factoryFrom( + macOSOptions: + // ignore: invalid_use_of_visible_for_testing_member + MacOSSecureStorageOptions(useDataProtection: false), + ), + ); final amplifyConfigWithLogging = AmplifyConfig.fromJson( jsonDecode(amplifyconfig) as Map, ).copyWith( From fd955adc348b4141333391a2995518e0c7c8ef1f Mon Sep 17 00:00:00 2001 From: Kha Truong <64438356+khatruong2009@users.noreply.github.com> Date: Mon, 27 Nov 2023 10:42:39 -0800 Subject: [PATCH 43/43] chore: format secure storage dart file --- .../lib/src/ffi/cupertino/security.bindings.g.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/secure_storage/amplify_secure_storage_dart/lib/src/ffi/cupertino/security.bindings.g.dart b/packages/secure_storage/amplify_secure_storage_dart/lib/src/ffi/cupertino/security.bindings.g.dart index 0bee58b737..ee0603421d 100644 --- a/packages/secure_storage/amplify_secure_storage_dart/lib/src/ffi/cupertino/security.bindings.g.dart +++ b/packages/secure_storage/amplify_secure_storage_dart/lib/src/ffi/cupertino/security.bindings.g.dart @@ -268,9 +268,8 @@ class Security { } late final _SecItemDeletePtr = _lookup< - ffi - .NativeFunction>( - 'SecItemDelete'); + ffi.NativeFunction< + OSStatus Function(coreFoundation.CFDictionaryRef)>>('SecItemDelete'); late final _SecItemDelete = _SecItemDeletePtr.asFunction< int Function(coreFoundation.CFDictionaryRef)>(); }