diff --git a/.dart_tool/dartpad/web_plugin_registrant.dart b/.dart_tool/dartpad/web_plugin_registrant.dart new file mode 100644 index 0000000..fd546bf --- /dev/null +++ b/.dart_tool/dartpad/web_plugin_registrant.dart @@ -0,0 +1,8 @@ +// Flutter web plugin registrant file. +// +// Generated file. Do not edit. +// + +// ignore_for_file: type=lint + +void registerPlugins() {} diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/.filecache b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/.filecache new file mode 100644 index 0000000..fe24b5e --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/.filecache @@ -0,0 +1 @@ +{"version":2,"files":[{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner.dart","hash":"64a2261cfb426cbc1bf5f5985fed327d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_box.dart","hash":"fbac444a17bbc7b00af608ec29e0de4f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/continuous_rectangle_border.dart","hash":"ca775fd1da8b4c902a08d53153ec4ab1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/localizations.dart","hash":"2e7c0078255c745b56a2bf1bf7992df3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_event.dart","hash":"77fcee8d4672891b204152fd54ec8143"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_indicator.dart","hash":"7656627b51b07565889084020b5078d6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_date_picker_form_field.dart","hash":"c5ecbaa65517267fe86dc298ec449627"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_context.dart","hash":"c7ad70d1b453c3200a2c25b6f5ca4604"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/service_extensions.dart","hash":"c58890a97d5cf176bc4d91c6833662d3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/preferred_size.dart","hash":"9d8a7927ca14b15f3473e211789eaa52"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider_theme.dart","hash":"6b1e7684c07bd93ed9433f5be917a56b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/utilities.dart","hash":"3f5e8feebce49c954d9c5ac1cda935c1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_size.dart","hash":"6c7a86378419565d1822850ce87fcb02"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/alignment.dart","hash":"1ba052cc7c20457f24cdff4d601afdd7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/binding.dart","hash":"a3aa38647fd73e6e6fa27450d34c042f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart","hash":"60baff7460853877cbb929f66b052733"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/long_press.dart","hash":"ac8e4f07fe57a180a83a79d97030a4ee"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/scrollbar.dart","hash":"690a90a4ee81c904e39ecef223720fe5"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/wrappers.dart","hash":"11e87c02beec338363a30c8f2f49c522"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/ellipsis_search.g.dart","hash":"9eb9cc50cf100f8006d01f4027d2f5ec"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_celebi.dart","hash":"b95b66e84724047193f602210d547054"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/autofill.dart","hash":"7d9bef290415f78dee8bc0fdd47025f2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_layout_delegate.dart","hash":"0a7c8ea575635aba0b835cbf35892f9b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart","hash":"db1783b3083765425632b2ca451dbbc8"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/LICENSE","hash":"175792518e4ac015ab6696d16c4f607e"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/obb3.dart","hash":"5ca0b5786bf63efd4fc72fcecfe1b36c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu_theme.dart","hash":"4b1ca4de6a5eee477b785b591d8a28f2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_cross_fade.dart","hash":"687bbf9e1a7bddd4b55174fb07cb6919"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/memory_allocations.dart","hash":"91480f38df85d142de41e5bd0b154d3f"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/LICENSE","hash":"a60894397335535eb10b54e2fff9f265"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/velocity_tracker.dart","hash":"54363b635c5af0166a92a944822afcdc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart","hash":"c4f3f94bbecf67e4419ca6a8e97d8715"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button.dart","hash":"1312aed2c5e59964982eb7c85c7430c3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_icon.dart","hash":"479493da08b4e2137fc162ff23bef99b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_controller.dart","hash":"f2635eeaaf9379b39e0c48d203b260b1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/gesture_detector.dart","hash":"74ffe935dac1b387e33d85915c6bca90"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/debug.dart","hash":"c703d5a115a88c99fc446006b39e554c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar.dart","hash":"65b026cff392b7d45d6389e48f773d66"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card_theme.dart","hash":"ecc7f9827d87dcf6cb23310e70449242"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_well.dart","hash":"9e3b68924814d1e0d7f46f7ce20fa741"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/display_feature_sub_screen.dart","hash":"355cd0132946f4de06b53d2d53d0f608"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_scaffold.dart","hash":"bf44bc2460fa88f9386f3b647c10bb80"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/clip.dart","hash":"4a5960383439d4ef8fe8b42450ac3be5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/hit_test.dart","hash":"bef69459165c25c77ef86a22c5a37605"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_linux.dart","hash":"38e9bbf0c4b9be4d755c28884b84b322"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/activity_indicator.dart","hash":"dac77e15418b6e85ba8237aa7af31c09"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector.dart","hash":"6a67d38bafe568f1b4047286d586fbbc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/image.dart","hash":"44919c3936c0c4f7fcbd5caab7d1a713"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_model.dart","hash":"8635fbec89c2cc03404a2a3233d31bbc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_fuchsia.dart","hash":"3b50c5a9642520832ec2c51c8efef598"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/implicit_animations.dart","hash":"c6fe70279c1fabcc739026bb9cfb2eb8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/rendering.dart","hash":"6dbd011ca31387e3192d39c999a1dd9f"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/LICENSE","hash":"175792518e4ac015ab6696d16c4f607e"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix3.dart","hash":"447b270ddd29fa75f44c389fee5cadd1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_cursor.dart","hash":"598a75ad8b988bb14ac22ad62acabc10"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_theme.dart","hash":"7ce4485fb80ddad6acd68abaf480ecec"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip.dart","hash":"542c329c98e02e449591773d3c7a7364"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/unique_widget.dart","hash":"8eb7f9d0796943d7edb0bc187df830f0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_simulation.dart","hash":"ac6376ef781bca02855c6494af606fcd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/spell_check.dart","hash":"81859a4dbd7cc98b9025645ba344330b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/force_press.dart","hash":"8bae075f6533238e997073d1c4342ee2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_tools/lib/src/build_system/targets/common.dart","hash":"08d323a9150badb65749c7e42ad05b8d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector2.dart","hash":"6a0fa6360b3aca8deb85dc7d88176eb8"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/LICENSE","hash":"22aea0b7487320a5aeef22c3f2dfc977"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/primary_scroll_controller.dart","hash":"5184895d365f664a514993d279af93c6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/colors.dart","hash":"711adece1d277c89c00ac553ca718ffd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_router.dart","hash":"6e800790e7858e8e1cdc73c8cc09d719"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile.dart","hash":"9e2dc24fb141c54394f013ec20569c50"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/notification_listener.dart","hash":"11a634821b3bce05dac94f3dabe52a75"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state_mixin.dart","hash":"46b900fb75f7497e307a6213009349a4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart","hash":"f627691ae693e673d0a28ee10fa7ef21"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/button.dart","hash":"82f04582d6435fe28d0de62ac8646291"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/lib/main.dart","hash":"c394d0f5456ce3bf6b7e861623ccd8e0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification_observer.dart","hash":"9916a2d85ee324e7b395bec41a75db58"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/debug.dart","hash":"d0da5ea7955f48054ae624e16528193f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_decoration.dart","hash":"55699f42160ec7cd28e59b3d85b16679"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filter_chip.dart","hash":"0c2a39fe9ac2a3573ea263d944a7d4cd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons_theme.dart","hash":"206832bc71a4fbdfd4a077b6f35e6333"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/arc.dart","hash":"fe52344c0c5470d7f044c347de68987e"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider.dart","hash":"7504c44d1fa6150901dd65ec78877be0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/matrix_utils.dart","hash":"ce1cedd9270d5130bb4be660d13d846e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/borders.dart","hash":"1e0b9c706c2f52ef8c68d71e059b368d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar.dart","hash":"12e47d3f4b91a456d52a5e37594dcdb4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar_theme.dart","hash":"ab7f9e1c4cf503e32f4c64defec28a06"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/persistent_hash_map.dart","hash":"8559baab97364a51be134a959392660a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/math_utils.dart","hash":"e4ee21048ab83cc50d61ac3784afa9f5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/safe_area.dart","hash":"665aca3a93721bc97cb6aeaae166ce98"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/monodrag.dart","hash":"e4868d928bcb5b32093caa9f9720c7cb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/service_extensions.dart","hash":"fbdb7eedf9f48948986e303f68e36ebe"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selectable_region.dart","hash":"34805aed0d0a89fb081a78edc767bcca"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/placeholder_span.dart","hash":"2e8b626fa3b55a9701a9e465056b3c34"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/transitions.dart","hash":"9ef38c4477b39a88b44a7c9bb85add99"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/debug.dart","hash":"669c88cbef458b3b049bad5ff3c2dfbf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_wheel_viewport.dart","hash":"e0434f358d6cfe80754357597dda5e2d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_view.dart","hash":"a6f0f004f94c7166d2961fba341637c4"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/material_color_utilities.dart","hash":"efd86bd9a7183660b902f2528da33973"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile_theme.dart","hash":"8c14eb65e1d80381cac744a2a237818a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page_transitions_theme.dart","hash":"a39ccba3f049cbdd03baf58f3ada518f"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill","hash":"c3ed26d32c098600500fed581bb270d4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/arrow_menu.g.dart","hash":"b1d7b10a451a7a5680c4473652e4e3c0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_persistent_header.dart","hash":"09f75080be8aa63c54de8f0f13d49397"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set_controller.dart","hash":"fcfae3ecf984ee7d09081c2a7898dcab"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_configuration.dart","hash":"11565ddf9ff6c5542734e969d7abdb9f"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/noise.dart","hash":"206b1db3ce5f7b9e5efd220712f8d391"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/consolidate_response.dart","hash":"7157fe770547a841f9b3e8f7b6765c4a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/isolates.dart","hash":"1871ae3488fd813309b5d8039333de92"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/magnifier.dart","hash":"418e1664a31b32fc7ee9b7c90f31a67c"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","hash":"42d5bf7c22ac609351e84dbc39b12bf9"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/triangle.dart","hash":"7d2bdb4801fc8b3a110f36d5e5fa59f5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_theme.dart","hash":"72d0ca199b14f8ad245f36eede78e596"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons_data.dart","hash":"8051a4ac9b61f1304162308056f35ca9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/font_loader.dart","hash":"8a899256e5ac320579b269ee9b2567a8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/constants.dart","hash":"8865f4ba0316aa33cd4b8e48694ae276"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_channel.dart","hash":"2e0e0e4e8c040ded0b0a7a22afba6066"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time.dart","hash":"4e84d0303aa781634ad57d9b48af9b00"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/viewing_conditions.dart","hash":"89ac6e1a99054eb05805c6e7a6f58e6f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/semantics_debugger.dart","hash":"bd5ab55eaa960294d369e4aa6d62ec01"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar.dart","hash":"4a91b5cf945c2bc9e2a4c289df61e55b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart","hash":"c75c1b6e41b334befa8fea8f40a1012e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_fill.dart","hash":"9ac2b8f7c9eba819c8aee376fdde1ad2"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/functions.dart","hash":"a3aa36a805436731699f39e6bf524087"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/notched_shapes.dart","hash":"775ae14a90b86bb0668e9fcf6e6b1b6e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_theme.dart","hash":"63d58416836c36cc1685e1b404d4a1e8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/constants.dart","hash":"4f683ee2e1b110e70e51ebbf8db44352"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/priority.dart","hash":"90c1fe2fd81558e20d588ef846f68876"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/core_palette.dart","hash":"d35b72b249d19f54a4cd6f22ff3299e9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/localizations.dart","hash":"2cecbc714aea63bc341bdeecb0a1d079"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/listener_helpers.dart","hash":"55380226455ea534ad3f21ab09fa4cae"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/bottom_navigation_bar_item.dart","hash":"1a773319137363e711d5189770d4517c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart","hash":"f09d6224689342ce8e364e6ba5fea1c7"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/empty_unmodifiable_set.dart","hash":"4814f7a1c3a7509ddb71fa9f13b2e169"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/debug.dart","hash":"38df7f10e1de0ca59f93b7e21e6428fc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/LICENSE","hash":"1d84cf16c48e571923f837136633a265"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/sliding_segmented_control.dart","hash":"7d3f2619c15bb38d440a3ae894893177"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar_theme.dart","hash":"d83aaf70ed7e980bc976d12b8f31a5c7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shape_decoration.dart","hash":"e525624c777f81ae3166844928814efd"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/LICENSE","hash":"bfc483b9f818def1209e4faf830541ac"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_grid.dart","hash":"9343b5b49309dcad89c11b6151526278"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration_properties.dart","hash":"311f57c9efa242be81f6bff4085b694f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_row.dart","hash":"34b8b9a525c2edf0191fbd9f925005c8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position_with_single_context.dart","hash":"68990009a2ffd358f279c0941f5acb15"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text.dart","hash":"2fa5623be6e2680ff9befb49dbb5102f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile.dart","hash":"5854a36494004175430d4b4355622d7d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_web.dart","hash":"580a1c9361f66db5377d1151704dc77c"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_map.dart","hash":"700328ab0177ddfd9a003a8c15619c1a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wu.dart","hash":"c0da8171c63f0ab4e822dd094fc2c595"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_field.dart","hash":"ad8955cdfbda21f8ebbc146a61748940"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/ticker_provider.dart","hash":"265da611bd90e5b3f22b0e399086e1a8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider_theme.dart","hash":"3f6fe76fd1b6ce55578b873386c13ff7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_button.dart","hash":"148c709e17c08f50d3daa670b9f91f12"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggleable.dart","hash":"ef3c172e10ae4e723ca920d42664a09e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shortcuts.dart","hash":"6aee7a8b65e3407c8a156fc94c3e052b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/gravity_simulation.dart","hash":"81e9a073bd391f4db986dc7bef2f63a3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar.dart","hash":"1ef43d7012623d3fb787b55f72fb9d87"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu_action.dart","hash":"1f2f230ab658e9a20934e8821367f21d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_cache.dart","hash":"4a01954c6cb77f1d4f678b32ae946189"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_fit.dart","hash":"8778186a2505e7ec97a1085c9b26d136"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/scheme/scheme.dart","hash":"f404c13ab6ba7fca8a465852af425026"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/spring_simulation.dart","hash":"a64d04b7a2bbc33416829490aac5ad1f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/magnifier.dart","hash":"2accc934e05b459de8fe3362f452102f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/paint_utilities.dart","hash":"0491e1cca60da329c2e03c48abde07c9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_switcher.dart","hash":"d2a2d8377af7f577a4e2b4fadc6a638e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar_theme.dart","hash":"a5636cabd205b19f4d440f7ed4ab56b0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar_theme.dart","hash":"f901250cbd5c13750f08f7888069e632"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_section.dart","hash":"11ddb14d335c7abe7d01544d689a9cfc"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/LICENSE","hash":"39062f759b587cf2d49199959513204a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_visibility.dart","hash":"a1767e0bdb8f6eaebb569c18166e3459"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_theme.dart","hash":"34650bbb402bea0d9e0905df4adadaae"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/unmodifiable_wrappers.dart","hash":"ca6dcb9cea6b00d39a1deba4017fbde5"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/algorithms.dart","hash":"42e9d4d3462785bf39af0270d42722e8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration_image.dart","hash":"deccbe5e50fd283d096b079c3830b295"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_bar_theme.dart","hash":"892528317c4253ae78167230f7d4beba"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing_delta.dart","hash":"564c7ccd87ca886f79f40db2feda663e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/mergeable_material.dart","hash":"0941b23f5841e31aad0d25b4ca38293b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_scope.dart","hash":"20956ccacef6e41926ba780a442ded4d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/painting.dart","hash":"0b006f9af878b6cbe7e6fbad8ad05390"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/box.dart","hash":"7fa73a415cd2df461af3c4b0439f687f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overscroll_indicator.dart","hash":"e6717e820802970026778f01d782a208"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/ticker.dart","hash":"7f34290bd4853b35be31761b6c7d3864"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider.dart","hash":"04dd39d6f80a5425d8df2875f2833711"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/physics.dart","hash":"6e29d5e69c5745a45214fe14da377c1a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector4.dart","hash":"299bd3979d7999412945ac4e3199cdcf"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/vector_math_64.dart","hash":"bd1315cfa157d271f8a38242c2abd0d9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer.dart","hash":"fce75150bcb08fa104fded6310750474"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_layout_builder.dart","hash":"4b7fdaf8eb582d24d5ce30f8ccfeb47d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_storage.dart","hash":"4bc0791cae09df89eaa7f2873b01d70a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/color_utils.dart","hash":"1f336a83ee9c6cc00bf8a24d2376ebda"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_source.dart","hash":"7dc929eb036d49956284257b4e0d83d0"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/plane.dart","hash":"f0c6d5d05fbdc95ab84f1a63894b7be6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/search.dart","hash":"65d7efb36f1c0981aeb1aa5ca2dc981b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/frustum.dart","hash":"d975e51852aa1802c81c738dcb4c348d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb3.dart","hash":"257ca4608e7d75f1db8d4c3ab710ac70"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/semantics.dart","hash":"dfcc453f5331ec6f2c70cda394065785"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_platform_io.dart","hash":"2c25776d2e769ec49cc16f5058c5c009"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/layout_builder.dart","hash":"a48ea636b7f2a32cdb71df23faa3451b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/search_field.dart","hash":"7c18da4e6b74ad62497f3cd0d139507c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet.dart","hash":"9c094b5d96bcff2f7c3ce85ce3101679"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codec.dart","hash":"e9383af731a68adb6b314ec5b1068a45"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/LICENSE","hash":"39062f759b587cf2d49199959513204a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shader_warm_up.dart","hash":"9e01d9cd61659f3d0ec6a98a92293d76"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/paginated_data_table.dart","hash":"2dfc9e555b9df3380a6502bdfab9527a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/collections.dart","hash":"c3eb7baf4000b511ca5b10c22dbb3314"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/rotated_box.dart","hash":"0a6568148a914b28cdeeabaf131dd0ae"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/colors.dart","hash":"5ed8acdae7dd3501b64b0ff3e33c1f45"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons.dart","hash":"ea534a294d4f0ad77470def3a308074d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/breaks.dart","hash":"359388897ae53df8791213c31ef05fe6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/observer_list.dart","hash":"074b866f17aee09c76583b075e83cb8c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/basic_types.dart","hash":"f712a6d1a54fde3b5c6c41dbe7d8d06a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_paint.dart","hash":"55d87de41cd8f095ff29b79280667bce"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/performance_overlay.dart","hash":"25fc1338a5818b8b96655ddd6b3d5fa3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar_theme.dart","hash":"e3595ce1e159aa04bc09f69c5168c454"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button_theme.dart","hash":"85f5251e2d480320cf86ef4464727d2f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/scale.dart","hash":"3fe6a46238f7699ff1039e43a3157acc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevation_overlay.dart","hash":"63301a1f08f8a8b9808b22662f4c1bba"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/LICENSE","hash":"83228a1ae32476770262d4ff2ac6f984"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/clipboard.dart","hash":"99dd7740cb7ac228673d079cdd12490a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_data.dart","hash":"ff558eecb6fa7834f9f31113f0cc723a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/LICENSE","hash":"83228a1ae32476770262d4ff2ac6f984"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/title.dart","hash":"06ab11848273dcdc3ea237593b87fe98"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_metrics.dart","hash":"0a120ca3aa00e2a367ad33648b49a1e5"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta_meta.dart","hash":"36280c072e87476893ba441b9b25bc39"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart","hash":"3e3350346bb70b12a7319e286f300f02"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/math.dart","hash":"aa4c24c010fb444c843ce3dc261a569f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart","hash":"362b1506a336f9a85d0eabb816b63060"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween_sequence.dart","hash":"1af4ec1307aa8270fb0739708f0c0882"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/service_extensions.dart","hash":"fc6ac74a8ad779b64bf7e626552ecb2a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/play_pause.g.dart","hash":"51aacf05a9f117da54a963931538b538"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_bar_theme.dart","hash":"1eb9c499979adc0aa7a4c188cb354fa7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/segmented_control.dart","hash":"d7393d6e408c5f8cf5af1efbf79fe17b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_list_tile.dart","hash":"41bb908ec3d8ec35ccdccc0ff08e09c4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_list_tile.dart","hash":"f483e18d0caffec1965cc4fc4587bced"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_location.dart","hash":"334d5b02e9aa5fc27e87fdf1a49140cd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selection_container.dart","hash":"4511b6cbaa8c34b467724cd8753fd441"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/calendar_date_picker.dart","hash":"ca0af41a91bd98a37c4671c6756df973"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_chrome.dart","hash":"3c72e68db8be4e65cb349ff74568eb53"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spacer.dart","hash":"7f3b4e775cb1472996a0505423dd47f6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/viewport.dart","hash":"7d4ac5744bd9691f24fc3fc585a139aa"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/mouse_tracker.dart","hash":"500547c3b30c59fe1ff3c4b559e52e84"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation_controller.dart","hash":"76d339b78cfd7fa3b43da126d24f6662"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/LICENSE","hash":"e9f463669bd6dfea2166dcdcbf392645"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_layout_metrics.dart","hash":"559dc718c8701191a2b6ac606aa086c8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/placeholder.dart","hash":"08c2e37a2ae282c740bfe820f238eca1"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/comparators.dart","hash":"d1410f48ac374235aaad55cba40bc4be"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_scroll_view.dart","hash":"c6a45f573f549f569f65331bf54ec4b9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/strut_style.dart","hash":"fd48fe375392a882e621f95b35695b1d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/binding.dart","hash":"ec004619fab55892c218a0adf229b561"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_provider.dart","hash":"8a3ebe88566064230a8c53e90fb9a5d4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/tweens.dart","hash":"959489b18fda284c434701586b43c66b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider_lab.dart","hash":"6566a35ff0dea9376debf257bdb08fba"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/package_config_subset","hash":"bf690293a1fc4e47e446088b43187246"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip.dart","hash":"758d8cac59a8861109cb1c0c455130b7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollbar.dart","hash":"0722b5d6745ce6645d6caf63b2aedd89"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/vm_snapshot_data","hash":"40337392a05861cf7101bbb7627a82a2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/binding.dart","hash":"79ed68fe678281de2561462a198ea941"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/LICENSE","hash":"901fb8012bd0bea60fea67092c26b918"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge.dart","hash":"9cbb91c1b2e44cbd834663485bf49156"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date_picker.dart","hash":"b57fb186ac13e07cabcf79e9203ce0f8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button.dart","hash":"6e40ff949fd347e34e4827db183ab0f7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_maps.g.dart","hash":"6b92d8f12a7fb46649297e25d2cf2b34"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration.dart","hash":"a3068ae1637db004de0bcac7634f398e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_view.dart","hash":"e6b1d4b1f712225ec2e095ded085195a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layout_helper.dart","hash":"886142a229b0dda691ec6b45f89b6db3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/slider.dart","hash":"05f3174f379af4ccd07fccea88487a40"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/boollist.dart","hash":"b3d51ec0dc553b1b1e883e087d5c73cd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dismissible.dart","hash":"3d26622e062df504e7d6d5ecf06c1d32"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/media_query.dart","hash":"ebfa6ac15e746da747f5533d2a54c06b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_selection_style.dart","hash":"5b539bedaf82a69ffd5c93fe8cb16465"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/nav_bar.dart","hash":"993df9991302d75495941ede09bf8122"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/list_extensions.dart","hash":"5e568872f7db50efc3ab16b3deb3d72c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/_network_image_io.dart","hash":"b9e3ed70ab5e8c760f86ccdb79a5d039"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/ray.dart","hash":"146741f6f87d6612ee7bbf6a6fa9c119"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/service_extensions.dart","hash":"6656ba0c69fefef80b8cae101896c029"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch.dart","hash":"aa5e38a67607d3ac92328300d453f203"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/constants.dart","hash":"aa4b5c0cdb6a66685350611b29ca9d38"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/autocomplete.dart","hash":"ad4d82cd4898aebe901db7406316ab82"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/date_picker.dart","hash":"fd037bb7e5e0417b1b57b2589825c2ed"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_padding.dart","hash":"d236c79282a2d6cf63ec4d7097400744"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flow.dart","hash":"46fb99dbb9a3eb279a14292c7a2ab6f6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart","hash":"f5af2a566953c579de1c0a3522632033"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_views.dart","hash":"4db80cc65121c34e697b03dee0d589f0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card.dart","hash":"1f408d5024cb1ebaff1bdc7d2d642b34"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/binding.dart","hash":"124e39caf0044d319a0a82f95cce01d9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/foundation.dart","hash":"4ce6f3c41ded0f3794fe3f0106ab971a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme_data.dart","hash":"3d97078429fca38a278d2fe38c9fbef3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons.dart","hash":"fd2a12edfd4b98e55a3b84dc04d027b2"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/tonal_palette.dart","hash":"005fa9073603c7ee7b06d03658207e2a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/error_helpers.dart","hash":"39221ca00f5f1e0af7767613695bb5d2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table.dart","hash":"8df20838abdc91f514eff154c048d540"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug.dart","hash":"60b4523b7d94f2184414a314335fd486"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection.dart","hash":"4df1293c0ca4ba2371070c07770510a9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binding.dart","hash":"8519987f955d72de5736f71fe1b3b96d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider.dart","hash":"251708085912ebabc0559c31d7f9ef09"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/banner.dart","hash":"1abea6cc1b12dbf5811214407d955b98"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard.dart","hash":"bc8cb2656c892c7107ece225b2c3ad4d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_map.dart","hash":"13db4f76c4c3dacee24311db33dffb5a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flex.dart","hash":"a5266adbd58aab45e34dc05f787ca535"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table_border.dart","hash":"c74d6bfe6ed9493e9a15a793e240491f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/curves.dart","hash":"b7943d020a6c7b63a2483143ecf5f6d0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_style.dart","hash":"3007a85885c8729a7f98628f002c9439"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector3.dart","hash":"478e1071c9f577b6cabb8d72c36de077"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/search_ellipsis.g.dart","hash":"3344aee98c44f74ea6fb76c2726dfded"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button.dart","hash":"3ffbd6fc0995838940a61cba006cbaa7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/snapshot_widget.dart","hash":"2c822e790480edf5d56f0b6001bb05ed"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_filter.dart","hash":"5cfb987e1a4ea727dbbc7abb10e087a6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/beveled_rectangle_border.dart","hash":"fcd0c8e5b3533ede79824283fd8c1717"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position.dart","hash":"288419bf7d5c385c3e0f777da93f9e75"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/editable_text.dart","hash":"131899d6899385466c5c59327fd335a3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fill.dart","hash":"c741a13227ee01cd4566adb6aae50122"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/recognizer.dart","hash":"46b0774ca33285fd90e42ad91bf706fd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog.dart","hash":"f09da56112028c2b23759b17c2128ffe"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_form_field.dart","hash":"b699e128d86de6c400fab59bf5ed37cd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_macos.dart","hash":"cfdbbeecafa9afe958cc12f0363e0f2e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_chip.dart","hash":"61c96752b1e816d7add82a5c9881a31f"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_extensions.dart","hash":"5369274e0f2aea3db2ae228646de17c2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection.dart","hash":"08b4e67b157b8770f50c3e1593586101"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart","hash":"ac1235401776e9d976fcae06c4a1bf69"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_sparkle.dart","hash":"7e48865e3a52a9c6fc91567a38b0bcef"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_home.g.dart","hash":"a1fd89ba2ce1c781946ebc5f37479b40"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/color_filter.dart","hash":"507fd70b4d332ca05a060defc0a30098"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shared_app_data.dart","hash":"a3cb494a3157a15b4bc6e112bd457b2f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/haptic_feedback.dart","hash":"b5172d7f7c209661c70b4574107cd774"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection.dart","hash":"24072c05f67aa1bd35a3389621d80c25"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/stepper.dart","hash":"0711824f5f77fc221ca16dd2833c1db4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/view.dart","hash":"fa6839623ecc7d14a4396269172b75fa"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_theme.dart","hash":"f51a4cccdeb513773de9af509f073dcf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip_theme.dart","hash":"ea7b5731a74e12ea2a31a21b8c188444"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/LICENSE","hash":"93fccc5a13669d1df317968de5b2590c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_windows.dart","hash":"4a64d3243f3e64ba6289d9c05d2d8352"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween.dart","hash":"91d3fd03ed8299fe37d1486bd87ae6e7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/dialog.dart","hash":"d6f1398a30e5929b4deccbeb0321c7df"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_localizations.dart","hash":"80e7f6041ae080a76c34cbb7a363fc1a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table.dart","hash":"645e6e5a42aafa161b24b84bd41fb0ed"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/simulation.dart","hash":"c0fe6462e3a08d6d6afbf4f66130d494"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_border.dart","hash":"a3646639b0d0ef7795bc7559e7b991ae"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/app.dart","hash":"e501f7efeecfca84ff857bd4f80b3ec4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown.dart","hash":"46a3d1bc9290ef51b685700434b32b44"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/tap.dart","hash":"4c07a36206ab3ca200d52d7f24127233"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart","hash":"58b20f802baf08f63dcbf4eae87a754e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/circle_border.dart","hash":"b7ae6a21a9a41ce292d8ce22be59102c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icon_theme_data.dart","hash":"90710e516bb97142b02e2fd5553bf85c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail_theme.dart","hash":"bfcb8efae16b9f03e09ee2adbac97777"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dual_transition_builder.dart","hash":"d84f409f2f0e14c957e42d8c74175a1a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver.dart","hash":"088b09d02a0f2cafcd87b0fe5f66c83e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge_theme.dart","hash":"8abcecb81f99bbc024b3ed169c86b95b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_sound.dart","hash":"2da52edd1b7a1dcc8df44ef7e4601583"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/animated_size.dart","hash":"e0c22343cfc4e2772a491e04ba0d7fb0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_android.dart","hash":"99f23e7e1e32cbca7a688f042454f8fd"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/blend/blend.dart","hash":"f487ad099842793e5deeebcc3a8048cb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_channels.dart","hash":"38d7213cd28308ac1f0bd5d81544c794"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons.dart","hash":"e4323ae67bf5fad2112cf257b91b64d7"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality.dart","hash":"bb96a0e40a5198f25ff6a8b1dfd62a58"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport_offset.dart","hash":"42074e2b3250cd1eab474db9941ed08a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/LICENSE","hash":"e9f463669bd6dfea2166dcdcbf392645"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_traversal.dart","hash":"3ebce28fe3575a15329d8dc59ee7ca4c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tween_animation_builder.dart","hash":"0f62d58980340b028d6c7a94848693ae"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/LICENSE","hash":"4cb782b79f6fc5792728e331e81a3558"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","hash":"51d82377c470f4d13521e2ebfc127521"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/theme.dart","hash":"d62b3af98fb22fa468d83954bf069d5f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icons.dart","hash":"3de0b02c72ffa2dbcd4241d85896ffa7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/thumb_painter.dart","hash":"c5e481f1a4ef788a50f4aa68fb4c0d7c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/error.dart","hash":"fff8e299112c38dd03e2e918a84e52c0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animations.dart","hash":"2f66fd533c14db9ae785e3fa83c39692"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/router.dart","hash":"1b3e0df1cc1fdb0ff927760c5c7dceda"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_header.dart","hash":"31bef5128dcadbf7d3e638769a5ccb63"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material.dart","hash":"27ba12c7559ee577cf56315e3d5cb5a3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/nested_scroll_view.dart","hash":"52de52753447696c8bf45bf27bc1a8e6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio.dart","hash":"82030078ff5d06d4efd4970a53c03669"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/stack_frame.dart","hash":"ccb08191f9bcfb4f1a62504278ce3a1b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/debug.dart","hash":"51fa10cf30bde630913ff4c6e40723ba"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/texture.dart","hash":"90d2e3f81c2871fed636143007914657"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button.dart","hash":"0bed54eea911a00191131999c1d9654d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_view.dart","hash":"33f365e8e51713d9712771b0adcbbca3"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/LICENSE","hash":"3323850953be5c35d320c2035aad1a87"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/sphere.dart","hash":"63473e31f03ea66a38affa41fd783752"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_controller.dart","hash":"6a65e9988b21768c80a49713778c2cd0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overflow_bar.dart","hash":"c8515afa8e555bfec16e832598d4e5ab"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterator.dart","hash":"6c54f90e0db5f42a13be6b3efeb4a04d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codecs.dart","hash":"24c1035fad541d49bd16d2b2bdd194b5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator_theme.dart","hash":"406792dd8d248088cd84be85cf7c62fe"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_span.dart","hash":"383362c943d53b1e9cb7db84db0427f6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/clamped_simulation.dart","hash":"f13353269669d7b19e3768edaeda5caa"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/node.dart","hash":"3d54ff724ed3381d38104d6603406b8a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/annotations.dart","hash":"e3104f80561c2766e0404a2e86c1eb4b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag.dart","hash":"63c306461db5c60830794d4def8b7e7b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters_impl.dart","hash":"3bb0652e163327c58784ce2a2b882a7c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selection_area.dart","hash":"2d616b6da53dd3a5bdc86abaca3656c8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner_theme.dart","hash":"072675f16dc002f7be3914b33aa7d20b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_tracking.dart","hash":"ea66c182859f2263bd2be879287d7325"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/utils.dart","hash":"8ff79ac46e7b7c3daaab8484ef94370f"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_zip.dart","hash":"df699735e3bcd730f16ce377d562f787"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu.dart","hash":"f89e43c1dd5f54c745d4a22e7f629e62"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/constants.dart","hash":"9f9b79f577d9fdf4f20c17a26a2f1d57"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_boundary.dart","hash":"63f89c285fda1a11134696c95a5d2c7c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/drag_target.dart","hash":"f6da0daf266187d3ab6ea8ae16772aec"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_navigator.dart","hash":"7047d90229336cb3caa0fff5bb3dafa5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker_theme.dart","hash":"3dc027f858c390ed73078fb86ce17bdb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_splash.dart","hash":"80c27ebf6b325589047ce9dc21922955"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/team.dart","hash":"61fc5d47f00a6477275a3102fea8cbf1"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/cam16.dart","hash":"fbc5d5b64be654228c88182f2f0e9f1e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/magnifier.dart","hash":"e3fcfca0756d2591ba7a72d8cb8073b9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/bitfield.dart","hash":"d235f51d48e43d80a46b35d3ac1a7135"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/flutter_logo.dart","hash":"bdb69d0ad764dcf2d42d8fca35fb9ade"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification.dart","hash":"319c25a79e3bd23b58ab78b5a0aa0d34"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_aware_image_provider.dart","hash":"b03280f49bd251d8320667ffc244c613"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/form.dart","hash":"e6131583e11852cce5dc36b190644131"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/debug.dart","hash":"3f80d418ed7e7aec7e3dac422ccc4fda"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar.dart","hash":"88ea97c9aa108e7dfd5d70c21aa809ac"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button.dart","hash":"6bc029efa11f69cb20f3abf8436e9088"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_editing_intents.dart","hash":"282eed7f135fdf9ac7bed4ce4faf2431"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics.dart","hash":"c87e19f7c886263df8586146fe147faf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/pause_play.g.dart","hash":"9a963571e5d30e052aba3137cb08afde"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/user_accounts_drawer_header.dart","hash":"9ac903cffbc9fc815782d8e0bcea7e64"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/basic.dart","hash":"42cc52074bf3141c7247f972797790e6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/assertions.dart","hash":"08fd4267e134da8246d879f2e0690f32"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer_theme.dart","hash":"e4b34d42cb8324d0485b25f1d3d9c1bf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf","hash":"e7069dfd19b331be16bed984668fe080"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_theme.dart","hash":"ff2cc2a4a374dafed8b1d437480a6f07"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag_details.dart","hash":"a9e643bffeac9afc79115446b7cb7c9f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/binding.dart","hash":"6570ec9fa980d0f831f98aff35b3a1ac"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection.dart","hash":"d0885097eb9ccba90210852d52fc83e2"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/priority_queue.dart","hash":"6c66821ec0d637772e147c298645e478"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/unicode.dart","hash":"f82b335ee8dd9ad923f619f83c130ecb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page.dart","hash":"2b6129307d0fa6394c84e3a4ac5136e5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart","hash":"7ef61738fd4e99b34b3379c2f6cf3141"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/scheduler.dart","hash":"95d8d1f6a859205f5203384e2d38173a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_text_editing_shortcuts.dart","hash":"0981d0ab711c3d970bf986b59e302ec3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_highlight.dart","hash":"ed6bc3c2d3f1ffcbdcea972d430440eb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_shadow.dart","hash":"db4d1d27ac8f3c67e5c3e8209d2827dc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_theme.dart","hash":"543079fc1d0c7864e7a179f3dcaeb44a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button_theme.dart","hash":"61309d04374f7afb4ec42e6bdc24e920"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data","hash":"ac3a154b464e565b68b427f18b001306"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/disposable_build_context.dart","hash":"a6a5683319eaf061f2f8448162cb8885"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/border_radius.dart","hash":"67a67689c5e814c245beae89edfa8ec5"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/LICENSE","hash":"3c68a7c20b2296875f67e431093dd99e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/picker.dart","hash":"8589d430ab74676555c4aa6b8b442af3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_button_theme.dart","hash":"aea224eef2ce1d7e59c255050e32538b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator.dart","hash":"a6f86b07a971f37494568319ea7cb2c2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/paragraph.dart","hash":"038416fd6da9501daae9bc9552db8384"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/assets/CupertinoIcons.ttf","hash":"42d5bf7c22ac609351e84dbc39b12bf9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar_text_button.dart","hash":"0457a594f4c14181f802c54252615c81"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar_button.dart","hash":"7ad4b1f7d7435272c14803d189af6d13"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker.dart","hash":"5a938eb8e6d0513d8448fe7adf46ffd6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/gestures.dart","hash":"5276912c02c2652dae0fe549d6d4db3b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog_theme.dart","hash":"792cf5ae893012a7a57a7de753af1110"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image.dart","hash":"51a93044fe489d37f82f368179e3d302"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/utils.dart","hash":"fe2489ea57393e2508d17e99b05f9c99"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/gradient.dart","hash":"433b37dcc0e33393a88d42baea923fa2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/refresh.dart","hash":"03f36dcee465715c1854d772cff3153a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/LICENSE","hash":"d2e1c26363672670d1aa5cc58334a83b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme.dart","hash":"034db2896155ca6ffedf49a9b6447708"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag","hash":"7f2fb21c467e6cfa00b4c27f4c784476"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/deferred_component.dart","hash":"4d69882445eaa1de4c2e1555c9a08a9d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/print.dart","hash":"a1be5291e9ce315ce3e7ad6598d6edb7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/range_slider.dart","hash":"3eb370b59dae381bbca5781ca5f11add"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quaternion.dart","hash":"698a6fc4361dd42bae9034c9c2b6cf7b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_theme.dart","hash":"7f4dc5e612a2925e1f1c0cef8061d976"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_physics.dart","hash":"c6f8b638d691a2bba7362cd598d93ef8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag","hash":"d9bab5fd98c4aeb46f0ee46466d27592"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multidrag.dart","hash":"b5b6d18d1e7d2f546507f52385a96d31"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_inspector.dart","hash":"f63bc535d25a8bcf67f0acc5d71c9252"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/view_list.g.dart","hash":"0fc01b4e9beb5706e036ee4dd2a18994"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_theme.dart","hash":"e3cdba21732fe10342e87f1c90c75b77"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/heroes.dart","hash":"881b5c11f52613550e6dbfcc45a2dc49"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/desktop_text_selection_toolbar_layout_delegate.dart","hash":"bd34896b1432d6f707498d3df7a7c3ae"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_io.dart","hash":"96ed798bc7e796289016d6e02421839d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/extensions.dart","hash":"38e17b28106d00f831c56d4e78ca7421"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/cupertino.dart","hash":"95c52f75b6732050b2b87ad920f3cf14"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/synchronous_future.dart","hash":"b3263d1ee9aaef112570bcd31aae9ca8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_span.dart","hash":"2ffd4331d4ce18eb39bd200f76368dbf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/eager.dart","hash":"6648a14df2e64bca06988745d17f14e1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/performance_overlay.dart","hash":"94bcda3ece81c51b940128304723207b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_form_field_row.dart","hash":"fe48bdfc31adc4f7e657c36074278dca"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/typography.dart","hash":"e8149b1e154e1576100fdb79402a824b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_theme.dart","hash":"116458bf79c178c3089f12f2bd57e611"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button_theme.dart","hash":"457092647c06b9d19ea071d0ef4fba09"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/visibility.dart","hash":"e8ef425330dd4e0f06b8cdb9762f3d38"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_isolates_io.dart","hash":"488d308a0cd45bf398708879506a91e3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_sliver.dart","hash":"df941eca11a421d04edd92726e3a4321"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/no_splash.dart","hash":"2e897a9797ccadaa99c58bc96f4a1579"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set.dart","hash":"a9d0ac8febdea9748b1e274e2453730d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct.dart","hash":"88e82a2807d91088b55f29e00aa780d9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu.dart","hash":"8a2a6e194bea6968fce6409b962bf485"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selectable_text.dart","hash":"d46d2121000866bd902db8a26fa1fc3e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar.dart","hash":"263d65011d90bee92deefb163c823890"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_panel.dart","hash":"9de25bd91716e1d1dc40d622d4694542"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/pubspec.yaml","hash":"85be424a1e58d94c9754884aaf1d0d68"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/resampler.dart","hash":"4ae7cf672458e9048b8349c46c96091b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_persistent_header.dart","hash":"3d637d82142ce722be3fff1b564a3a4d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/reorderable_list.dart","hash":"eb1f091dfc256bc49d734c8cea9210e8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar.dart","hash":"b324a1cbdb9418b4698cfec22372af7d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/framework.dart","hash":"0d00a012348d802a099ed222dd200d3c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/slotted_render_object_widget.dart","hash":"975c2b518f6bdf0f423f19ee2d20f037"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_arrow.g.dart","hash":"5beb6330c4fbaf6bf4abd034e6b7b67c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/debug.dart","hash":"7f6c267be8df852637226ab1708d5417"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation.dart","hash":"e54cc4c43086300a6e6c976bfcc4b577"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb2.dart","hash":"f8fb1733ad7ae37b3d994f6f94750146"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_stream.dart","hash":"c5e89efad0dec2ca225efaba106f1009"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/edge_insets.dart","hash":"c324914d8137036411457678f3c69dc0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/routes.dart","hash":"61c71bdda6ca0e69558b10c76f7f2d0b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/table.dart","hash":"126c63b07d1b425e904b735cdac85afd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/size_changed_layout_notifier.dart","hash":"ab35fb35a2d6cac70b40210ff2304fd0"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_set.dart","hash":"4b5d82ddeb09bc46ae0e980616ce0109"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart","hash":"35d2717563d5dd00e0ab617e09f81f7f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/stadium_border.dart","hash":"58a520f0e39b9e2df9528496ad1a2c9c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile_theme.dart","hash":"f3ed1f2bbf9255947413e97c37fc8170"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_activity.dart","hash":"a4452128d10ae55b5e2c701edda87207"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_style.dart","hash":"74b9d525d5d35a3f13d7da102d6ddcfa"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/restoration.dart","hash":"7725ee45d15fa56992b64ca1060bcfef"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart","hash":"49510c76201a05eba3c239a16896508b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/circle_avatar.dart","hash":"903d9a8ecbea5b745da3432d5197d5bf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu.dart","hash":"9510b7a2f095e041d6b01024407d92ae"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/LICENSE","hash":"e9f463669bd6dfea2166dcdcbf392645"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json","hash":"2efbb41d7877d10aac9d091f58ccd7b9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/refresh_indicator.dart","hash":"b41739c7771e51de19e76067f9a2671f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/debug.dart","hash":"e053a4d625695a213cd7cad71553d131"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/queue_list.dart","hash":"368a628be82e16cf17725d00a83f582c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/oval_border.dart","hash":"2eb2de173e53bab6a0a033f89856eae6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/gesture_settings.dart","hash":"2775727a104b34e20ef16dc30f5baeaf"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/LICENSE","hash":"2d0c70561d7f1d35b4ccc7df9158beed"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_layout.dart","hash":"4bac9f63bc7aa9c5e5104179e86c64a9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme_data.dart","hash":"bc1745cbace394e492a6f9c8050b91bc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart","hash":"8dcbf9c6d1b75bd1af118ae233e7639f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binary_messenger.dart","hash":"cb595dc1e32ae1c22e55b0971067c9df"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_field.dart","hash":"b1f861676f6495e6b884459f0d1ce964"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expand_icon.dart","hash":"6d12493069f2abe32b2c0ce97b36f663"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autofill.dart","hash":"c808f81414eea878b72b91f90e2858e2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration.dart","hash":"eabaa11e875f30c638dbea199dc82f44"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/action_chip.dart","hash":"03372d734d84040c509f3cacf8315edf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/fade_in_image.dart","hash":"32a7e3c5b9a8ba1f958c94f1c7ca6e36"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_decoder.dart","hash":"ff49202dfcd82a646d59d2012330173a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flexible_space_bar.dart","hash":"ad3271502e45fbefbae041fe273fcc78"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tap_region.dart","hash":"aae04d9745367d56247b3ec312b3e293"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/_background_isolate_binary_messenger_io.dart","hash":"170fe4655f45b54388ab850399d92895"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state.dart","hash":"be7fd149b14f26a8cf158cc573e6f8b1"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/collection.dart","hash":"476383869aff7b87579a7753e47722d7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/friction_simulation.dart","hash":"d97019cfa3be6371779fc0e65f2bc118"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/colors.dart","hash":"1770aee1a90fac6336e3664811736471"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_body.dart","hash":"d97a506e94a9f098ecdb1483ca9707af"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/orientation_builder.dart","hash":"8fa30dbbbc4cdd0646a81c9f5cea46f0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/feedback.dart","hash":"b8cec7a5e5d9ccffefa0e7539e92e49f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/colors.dart","hash":"7525ba8f2df029fe86fe08725d060d3e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/reorderable_list.dart","hash":"b9b84bf4881138ace165fd23b39a89d6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/event_add.g.dart","hash":"fda9c6f48f58c23eab466cd8565a77fd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/choice_chip.dart","hash":"2981afacc7a836ccc661fd0be2eb0681"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/annotated_region.dart","hash":"14c5e92c3e535ae197e3d7b784ba98c9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","hash":"3ec266c46c85603471447b253038693a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/constants.dart","hash":"823c66be3a8d17bc0c146c6b7f83062c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme.dart","hash":"9a213a6ad0048a7638eb152b56018b0b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart","hash":"6e92335d98b127f7240ff5294e257c26"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters.dart","hash":"21bf6725b1fc374f03ae5b2cb46bd95b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/lsq_solver.dart","hash":"43087afd2f07c2185dfff2ea8c40cbed"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigation_toolbar.dart","hash":"6a2092bc6e531cf53fd4151ac189cfd4"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wsmeans.dart","hash":"c98d039d1ce1e92fa79f1039f0263385"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_key.g.dart","hash":"051453bb7d9c8983ad2fb529b4ef462f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/serialization.dart","hash":"5acfa8abbd3e0d70f514ac65e7da5061"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_theme.dart","hash":"bfbcdf98f1800a358974017a5a244b89"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button_theme.dart","hash":"b6f7217e92bd0cd6308e102b91a73ee7"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf","hash":"e7069dfd19b331be16bed984668fe080"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quad.dart","hash":"739bb2e85022ddfb653590b93216942a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing.dart","hash":"2b77873b8c720bf68e043ce7acd96985"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/status_transitions.dart","hash":"900f6993636e3b9ce2be24d38150722d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/interface_level.dart","hash":"ea5416329e2b15ccc3c6ba2082e5b17d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_theme.dart","hash":"e973169d55c1b0907b263fce8328bc84"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scaffold.dart","hash":"21f20162e45e5a6ed9d59115951fff5e"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/score/score.dart","hash":"95586aad0f0a7b13580767122c5ce9d8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flutter_logo.dart","hash":"3c4879149bc0b27f216987d9377b87a6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_decorator.dart","hash":"d98eaef69fe0b763e12fde9bb4b63a8a"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/LICENSE","hash":"e9f463669bd6dfea2166dcdcbf392645"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/back_button.dart","hash":"c359a6e952958e57c58e53ead868196a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overlay.dart","hash":"b12267aa6ec80a40cec57548a12debf3"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/fractional_offset.dart","hash":"09678623b04063ee4667ff9d46c9adf9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/arena.dart","hash":"3ef55cc59bb88a61c8bf5f1ea2faadf4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/switch.dart","hash":"7c46db5c279bfd34b41aee4e64ba88f1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/debug.dart","hash":"d3f74d846a99e580843bade81eec9e2b"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_list.dart","hash":"81b2d2a545e6f66510367ee8d4bdbf51"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar.dart","hash":"f5c94ee1d5dde386af79c59872fd148d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/container.dart","hash":"ea2d0e58ef3ab5bb9ac77120ef2c1b53"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_anchors.dart","hash":"d00bb38035b66ea4837b0e3836742215"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport.dart","hash":"ff8176887d706346f1adf9b10d93223a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail.dart","hash":"d3e8015d1a7bccc3005d76a069edf012"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button_theme.dart","hash":"323be88f9396112a89f1f6dae5b16551"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/actions.dart","hash":"563354fcceca6f2c834a5707c2cd9e13"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_resolution.dart","hash":"c70e6da8344437d843e7eb009fd18da1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/stack.dart","hash":"7ec68a5bb3492720f51417187a4c483c"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/LICENSE","hash":"39062f759b587cf2d49199959513204a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/asset_bundle.dart","hash":"911148240fa2017589039df8adbdbd7d"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta.dart","hash":"9ebddb9a0743de208281e764b9454978"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/home_menu.g.dart","hash":"d17e0458ef2b4cdffbc13c8b6b441a9e"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/LICENSE","hash":"175792518e4ac015ab6696d16c4f607e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_border.dart","hash":"157add6fe297fe09245c48cb7a918b41"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu_theme.dart","hash":"3843f59e1c5febcb8443f79f1e8d4eee"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_ios.dart","hash":"d755fc45af3dc64d82c199592ba93faf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/platform.dart","hash":"bf2738395eea842961e96f4203e03df1"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json","hash":"dc3d03800ccca4601324923c0b1d6d57"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/interactive_viewer.dart","hash":"9886ca25d16f34e46171e428c5014d21"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar.dart","hash":"187d36be28f01a2fb9747610a07b786c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/editable.dart","hash":"7d4e6658c86d17b6aad6ea88d538449c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/services.dart","hash":"b74bf26ae8105a75eb390fed5aaf29cd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/material.dart","hash":"88af7ef9b0a369709fd232b83942f5c6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/async.dart","hash":"7154b3b2612920bcf76384c4336b75dc"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/will_pop_scope.dart","hash":"8ec86c62ef84ec90ddf5232d5843fd37"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile_bar.dart","hash":"4f36e38eaf3608ec18c70c13942510bd"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer.dart","hash":"db799bf48af97b7c0edc93ad96b4a6da"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/route.dart","hash":"ebb00b4189561689271ac8ff24815bc7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_tile.dart","hash":"c0e496ed40e0cb9154c5418657d2fa2e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/service_extensions.dart","hash":"0eef32ab9b2cf423c48e89f2dcd9bd6b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_formatter.dart","hash":"a4a5a4186c28c8e4e7ef38558ae2fa14"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/converter.dart","hash":"c8030797f5e00da5da18972f7f5c199e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_bitfield_io.dart","hash":"5bd42c05ffd396b9c61d5a82739deea4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/binding.dart","hash":"d4f2c32d896c5cb74142f43f86b908ea"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_theme.dart","hash":"1e4b9425e7c56b52cd233c8b17fcce78"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar.dart","hash":"7dae504d7c9e221fb01d1901a657407b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/table.dart","hash":"d4d8de3042f1567cf3c3e4c69035e122"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection.dart","hash":"cf72bd613d277b76bf935e6c5bfc157d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer.dart","hash":"d8221989cee24f5d97fddbb2a535b34f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/close_menu.g.dart","hash":"bfc66f055c8ce27beae0b3ae05350318"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_list_tile.dart","hash":"faa4ca37423c4ebc1968a9922537ee82"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/diagnostics.dart","hash":"eeca328d147c15b45c2f02a4093dee86"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterable.dart","hash":"73a1264f4048161cf1e020b447b014a8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/basic_types.dart","hash":"faa0ac8a10d4bbddf1ff7f9126a11f2b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/events.dart","hash":"e3ed79a2455f7742d0f030dc4a7f7097"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/constants.dart","hash":"9325b94e09a773e59eccfedc0dee4711"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/bottom_tab_bar.dart","hash":"00b08c6f5f7fbeb394b25a63d950c395"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/animation.dart","hash":"b3dbc4e6cac78b2c99e3aa5e9e498ea1"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/modal_barrier.dart","hash":"591e01a4cb4c63927e5c090b0d064505"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z","hash":"8e41093eb3aa0a221931080d3767b9fd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart","hash":"59d07e46049ce7af5b20d0bc808aedcc"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/opengl.dart","hash":"9e22ead5e19c7b5da6de0678c8c13dca"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_map.dart","hash":"b6bcae6974bafba60ad95f20c12c72b9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_decoration.dart","hash":"fb2baf298dad58d749bdaf4fc7d2c6b7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/about.dart","hash":"f70e9fcb5bea790c73d51431ae8e976f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_service.dart","hash":"c7125c517aa8cac22da28ac6e36eef79"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver.dart","hash":"e71d390cbb4f63b91608b6ae8a37321c"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/canonicalized_map.dart","hash":"26bd7410bad665cd40432c609e68e6a9"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/shifted_box.dart","hash":"fd597da8144be9d29dfc1d1ff0733dcf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/grid_paper.dart","hash":"f76941994ddf30e398313421f1588d85"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/value_listenable_builder.dart","hash":"9801ff6632dd0a6938381b54bc163196"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app.dart","hash":"1824c826f0f8d8a85bda7e1f0bb1dead"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/single_child_scroll_view.dart","hash":"386a816011478bba19bf6973ff137cfd"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button.dart","hash":"b04282840d037f7e4943e8ec88a12d02"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layer.dart","hash":"83dde9913aa4a689b698d2ba5ec7c676"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/binding.dart","hash":"8a380c86046c073f7ca67b32ce9ecec7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_section.dart","hash":"d5da49989b2fec96c7bf048f237909ae"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/rounded_rectangle_border.dart","hash":"6a7cef816d662014b8fff82eafd4bc39"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_menu_bar.dart","hash":"101afb5724d465fef432403afe4af239"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tabs.dart","hash":"69c59af240ed814583dc1635986b09d6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar_button.dart","hash":"c9d67cc655fb9b02d52b68e9f039bc41"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/automatic_keep_alive.dart","hash":"e8a1d220d69629ac54c287b5f096fbf8"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile.dart","hash":"9b9639fb37f3307761e011646c3a3ce0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/star_border.dart","hash":"59241e0339f42c809368fc054b767aba"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/intersection_result.dart","hash":"789e79772bba1132b3efdb60636a3ccb"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_close.g.dart","hash":"31c7443c821ddc575659a119a00bb42f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multitap.dart","hash":"d7da19c57ae21b84b31832940bf36c95"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix2.dart","hash":"7f164e577cfcf8c8295947195cde2a7c"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix4.dart","hash":"b5f0b0da99e8a07d58c21ae071800404"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icons.dart","hash":"d5a62fdcbdcfbb765af4b2c4c30adb47"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/platform_view.dart","hash":"bba71a5811a4c39e16cfd7087e7d5f82"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_input.dart","hash":"cff85360d3ed608c6c25e665f1d62d82"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_list.dart","hash":"449e5e076d88fdec0781d58650e1b713"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_anchor.dart","hash":"06e25506dd42326f711f5a02366048ef"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style_button.dart","hash":"f5679fafea18b2907b3995e2f751f15f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/inline_span.dart","hash":"d20e1a7a4860303669f49b2fcf70cc1b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_view.dart","hash":"20c06004fe8ded0341d6b7d4ddd9fc63"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/constants.dart","hash":"0cb06ef1fbbec09f85b6b40cdeaa2f9a"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon.dart","hash":"c923a6390994ceeb31124b620be66886"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button_theme.dart","hash":"c93f10f7ab0acf4285085b5125dd1bc0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigator.dart","hash":"96a77b3df76ebda77a5525db0c94a40e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/licenses.dart","hash":"4449a9ff2f8ef7121f4e0e47a6cf4bb6"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_painter.dart","hash":"309fca388c4496bad5fbfe0dc5f79fdf"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/add_event.g.dart","hash":"1e3139880d4a71af922ea4538ed3a693"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_controller.dart","hash":"d678e87e7d7f75d05ddc20a878f28313"},{"path":"/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/kernel_blob.bin","hash":"c3ed26d32c098600500fed581bb270d4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/raw_keyboard_listener.dart","hash":"9d79df38c954cb1d6aef9a622fb16826"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/tolerance.dart","hash":"f75f31535e16b018e2a5f9a968b7254c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/wrap.dart","hash":"5ea6f3bff5e08b2791946afb64deadae"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/keyboard_listener.dart","hash":"9d633da4b6e0a89f1c7cd8451b8fb9f5"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spell_check.dart","hash":"565097e561f05b1bfab2b3e5bb1bc476"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/change_notifier.dart","hash":"ac2880d91a3333c4d0e0b9a152bc7935"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart","hash":"7e3a59cfc4c1fe568c6bddbca28625ab"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date.dart","hash":"8ebb687266ac064712bb7ff7158d106f"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autocomplete.dart","hash":"f365fc9346ed92a347bd6659be254ab4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollable.dart","hash":"462df06e63c35293d84890049542ddce"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button.dart","hash":"40fa279b08807ed54fc6415e40e74890"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/object.dart","hash":"daa0c9b859ed1959e6085188a703f387"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/geometry.dart","hash":"acf1a155ed6a399140bf98cbadc44ae7"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox.dart","hash":"1696ca88c21e3e3b9545f2b5a4736f03"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/color_scheme.dart","hash":"9936f30321ebd2d53045f2c2bb4f91f0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style.dart","hash":"331387ea77fae9eee85b67f5e31abf6c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/key.dart","hash":"35c3a0e09f2dcf608b806f259c306883"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/pages.dart","hash":"3bf69bfd4070ddbf2b64ce381c00975d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_notifier.dart","hash":"e8a46aad9b09df8e467cb1c6829ff35e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_button_item.dart","hash":"1e7180abd4c05b29d6f62162c16d57a2"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/app.dart","hash":"e3a3e744d6ef8ddf1d75a37ba549eaf4"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_ripple.dart","hash":"bd3e86d27c38dca6dccbe5ac5e7c7663"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/curves.dart","hash":"aa2543ffe35df101f33108e6243f5b9b"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/selection.dart","hash":"e2dc9f40339f72e3b0e309272c5ceaa0"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button.dart","hash":"a641dfaf4d467277c7075e54e33dc55c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/object.dart","hash":"011b312a6ef99efa780c4fa8136a56d3"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/characters.dart","hash":"188d03c92376ce139ce247b0f9b0946e"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/list_view.g.dart","hash":"0f4cb9768fb17bf7a5d45753b15a2092"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shadows.dart","hash":"18149c55b175306f694fd72c293e8a4d"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/texture.dart","hash":"4da8a7e66b441d643caff99f743d9f69"},{"path":"/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct_solver.dart","hash":"33aa9632d38a7855ec7452224f80471c"},{"path":"/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/widgets.dart","hash":"b0f02b65ee2c6c7bb94c4ca6f1f29a6b"}]} \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill new file mode 100644 index 0000000..66d39c7 Binary files /dev/null and b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill differ diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/debug_android_application.stamp b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/debug_android_application.stamp new file mode 100644 index 0000000..bcf7f25 --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/debug_android_application.stamp @@ -0,0 +1 @@ +{"inputs":["/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/Users/bogdan/IdeaProjects/ernaehrung/pubspec.yaml","/Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/assets/CupertinoIcons.ttf","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag","/Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/LICENSE","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/LICENSE","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/LICENSE","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/LICENSE"],"outputs":["/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/vm_snapshot_data","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/kernel_blob.bin","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z"]} \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/flutter_assets.d b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/flutter_assets.d new file mode 100644 index 0000000..bb0cc0a --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/flutter_assets.d @@ -0,0 +1 @@ + /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json /Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z: /Users/bogdan/IdeaProjects/ernaehrung/pubspec.yaml /Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/assets/CupertinoIcons.ttf /usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag /Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/LICENSE /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/LICENSE /usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/LICENSE /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/LICENSE \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_dart_plugin_registrant.stamp b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_dart_plugin_registrant.stamp new file mode 100644 index 0000000..1aecc58 --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_dart_plugin_registrant.stamp @@ -0,0 +1 @@ +{"inputs":["/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/package_config_subset"],"outputs":[]} \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_localizations.stamp b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_localizations.stamp new file mode 100644 index 0000000..1b2d28c --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/gen_localizations.stamp @@ -0,0 +1 @@ +{"inputs":[],"outputs":[]} \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.d b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.d new file mode 100644 index 0000000..bbf841b --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.d @@ -0,0 +1 @@ +/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill: /Users/bogdan/IdeaProjects/ernaehrung/lib/main.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/material.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/about.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/action_chip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/arc.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/autocomplete.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/back_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/calendar_date_picker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_list_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/choice_chip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/circle_avatar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/color_scheme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/colors.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/constants.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/curves.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_source.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date_picker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_header.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevation_overlay.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expand_icon.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_panel.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/feedback.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filter_chip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flexible_space_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_location.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flutter_logo.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icons.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_decoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_highlight.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_ripple.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_sparkle.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_splash.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_well.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_chip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_date_picker_form_field.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_decorator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/magnifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_localizations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state_mixin.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_anchor.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_style.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/mergeable_material.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/no_splash.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page_transitions_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/paginated_data_table.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_list_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/range_slider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/refresh_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/reorderable_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scaffold.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/search.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selectable_text.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selection_area.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shadows.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/stepper.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_list_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_bar_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_controller.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tabs.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_field.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_form_field.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar_text_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggleable.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_visibility.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/typography.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/user_accounts_drawer_header.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/widgets.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/foundation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/scheduler.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/cupertino.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/rendering.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/add_event.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/arrow_menu.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/close_menu.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/ellipsis_search.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/event_add.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/home_menu.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/list_view.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_arrow.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_close.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_home.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/pause_play.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/play_pause.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/search_ellipsis.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/view_list.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/services.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/animation.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/vector_math_64.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/gestures.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/material_color_utilities.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/painting.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/semantics.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/characters.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/actions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_cross_fade.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_scroll_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_size.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_switcher.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/annotated_region.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/app.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/async.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autocomplete.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autofill.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/automatic_keep_alive.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/banner.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/basic.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/bottom_navigation_bar_item.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/color_filter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/container.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_button_item.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_controller.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_selection_style.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_text_editing_shortcuts.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/desktop_text_selection_toolbar_layout_delegate.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dismissible.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/display_feature_sub_screen.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/disposable_build_context.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/drag_target.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dual_transition_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/editable_text.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/fade_in_image.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_manager.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_scope.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_traversal.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/form.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/framework.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/gesture_detector.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/grid_paper.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/heroes.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_filter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_icon.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/implicit_animations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_model.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_notifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/interactive_viewer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/keyboard_listener.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/layout_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/localizations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/magnifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/media_query.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/modal_barrier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigation_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/nested_scroll_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/notification_listener.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/orientation_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overflow_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overlay.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overscroll_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_storage.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/pages.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/performance_overlay.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/placeholder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_menu_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/preferred_size.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/primary_scroll_controller.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/raw_keyboard_listener.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/reorderable_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration_properties.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/router.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/routes.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/safe_area.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_activity.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_aware_image_provider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_configuration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_context.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_controller.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_metrics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification_observer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_physics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position_with_single_context.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollable.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selectable_region.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selection_container.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/semantics_debugger.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/service_extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shared_app_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shortcuts.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/single_child_scroll_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/size_changed_layout_notifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_fill.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_layout_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_persistent_header.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/slotted_render_object_widget.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/snapshot_widget.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spacer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spell_check.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/status_transitions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/table.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tap_region.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_editing_intents.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_anchors.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_layout_delegate.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/texture.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/ticker_provider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/title.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/transitions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tween_animation_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/unique_widget.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/value_listenable_builder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/viewport.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/visibility.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_inspector.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_span.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/will_pop_scope.dart /Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/annotations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/assertions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/basic_types.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/bitfield.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/change_notifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/collections.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/consolidate_response.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/constants.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/diagnostics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/isolates.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/key.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/licenses.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/math.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/memory_allocations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/node.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/object.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/observer_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/persistent_hash_map.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/platform.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/print.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/serialization.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/service_extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/stack_frame.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/synchronous_future.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/unicode.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/priority.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/service_extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/ticker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/activity_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/app.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/bottom_tab_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/colors.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/constants.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu_action.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/date_picker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/dialog.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_row.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_section.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icon_theme_data.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icons.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/interface_level.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_section.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_tile.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/localizations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/magnifier.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/nav_bar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/picker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/refresh.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/route.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/scrollbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/search_field.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/segmented_control.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/slider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/sliding_segmented_control.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/switch.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_scaffold.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_field.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_form_field_row.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/theme.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/thumb_painter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/animated_size.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/box.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_layout.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_paint.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/editable.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/error.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flex.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flow.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/image.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layout_helper.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_body.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_wheel_viewport.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/mouse_tracker.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/object.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/paragraph.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/performance_overlay.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/platform_view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_box.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_sliver.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/rotated_box.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/selection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/service_extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/shifted_box.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fill.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_grid.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_list.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_padding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_persistent_header.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/stack.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/texture.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/tweens.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/view.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport_offset.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/wrap.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/asset_bundle.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/autofill.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binary_messenger.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/clipboard.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/deferred_component.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/font_loader.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/haptic_feedback.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_key.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_maps.g.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codec.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codecs.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_cursor.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_tracking.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_channel.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_views.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_android.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_fuchsia.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_ios.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_linux.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_macos.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_web.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_windows.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/restoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/service_extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/spell_check.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_channels.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_chrome.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_navigator.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_sound.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_boundary.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing_delta.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_formatter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_input.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_layout_metrics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation_controller.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animations.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/curves.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/listener_helpers.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween_sequence.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb2.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb3.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/colors.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/constants.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/error_helpers.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/frustum.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/intersection_result.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix2.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix3.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix4.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/noise.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/obb3.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/opengl.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/plane.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quad.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quaternion.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/ray.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/sphere.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/triangle.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/utilities.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector2.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector3.dart /Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector4.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/arena.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/constants.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/converter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag_details.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/eager.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/events.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/force_press.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/gesture_settings.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/hit_test.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/long_press.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/lsq_solver.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/monodrag.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multidrag.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multitap.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_router.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/recognizer.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/resampler.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/scale.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/tap.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/team.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/velocity_tracker.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/blend/blend.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/cam16.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/viewing_conditions.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/core_palette.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/tonal_palette.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_celebi.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_map.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wsmeans.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wu.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/scheme/scheme.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/score/score.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/alignment.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/basic_types.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/beveled_rectangle_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/border_radius.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/borders.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_decoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_fit.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_shadow.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/circle_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/clip.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/colors.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/continuous_rectangle_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration_image.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/edge_insets.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/flutter_logo.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/fractional_offset.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/geometry.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/gradient.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_cache.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_decoder.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_provider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_resolution.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_stream.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/inline_span.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/matrix_utils.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/notched_shapes.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/oval_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/paint_utilities.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/placeholder_span.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/rounded_rectangle_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shader_warm_up.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shape_decoration.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/stadium_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/star_border.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/strut_style.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_painter.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_span.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_style.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/binding.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/debug.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_event.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_service.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/extensions.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/constants.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/physics.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_io.dart /Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta_meta.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_bitfield_io.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_isolates_io.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_platform_io.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/collection.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/_background_isolate_binary_messenger_io.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/math_utils.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/color_utils.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct_solver.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider_lab.dart /Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/_network_image_io.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters_impl.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/clamped_simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/friction_simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/gravity_simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/spring_simulation.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/tolerance.dart /usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/utils.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/algorithms.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/boollist.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/canonicalized_map.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterable.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_list.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_map.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/comparators.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_map.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_set.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/functions.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_extensions.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_zip.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/list_extensions.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/priority_queue.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/queue_list.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set_controller.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/unmodifiable_wrappers.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/wrappers.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/table.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/constants.dart /Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/breaks.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/utils.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterator.dart /Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/empty_unmodifiable_set.dart diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.stamp b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.stamp new file mode 100644 index 0000000..2534b06 --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/kernel_snapshot.stamp @@ -0,0 +1 @@ +{"inputs":["/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/package_config_subset","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_tools/lib/src/build_system/targets/common.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/usr/local/Caskroom/flutter/3.7.7/flutter/bin/internal/engine.version","/Users/bogdan/IdeaProjects/ernaehrung/lib/main.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/material.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/about.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/action_chip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/app_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/arc.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/autocomplete.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/back_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/badge_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/banner_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_style_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/calendar_date_picker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/card_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_list_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/checkbox_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/chip_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/choice_chip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/circle_avatar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/color_scheme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/colors.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/constants.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/curves.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_source.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/data_table_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/date_picker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/desktop_text_selection_toolbar_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dialog_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/divider_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_header.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/drawer_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/dropdown_menu_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevated_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/elevation_overlay.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expand_icon.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_panel.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/expansion_tile_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/feedback.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filled_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/filter_chip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flexible_space_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_location.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/floating_action_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/flutter_logo.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/grid_tile_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icon_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/icons.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_decoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_highlight.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_ripple.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_sparkle.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_splash.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/ink_well.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_chip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_date_picker_form_field.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/input_decorator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/list_tile_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/magnifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_localizations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/material_state_mixin.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_anchor.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_style.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/menu_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/mergeable_material.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_drawer_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/navigation_rail_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/no_splash.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/outlined_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/page_transitions_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/paginated_data_table.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/popup_menu_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/progress_indicator_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_list_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/radio_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/range_slider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/refresh_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/reorderable_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scaffold.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/scrollbar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/search.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/segmented_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selectable_text.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/selection_area.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/shadows.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/slider_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/snack_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/stepper.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_list_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/switch_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_bar_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_controller.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tab_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tabs.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_button_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_field.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_form_field.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_selection_toolbar_text_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/text_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/theme_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/time_picker_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggle_buttons_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/toggleable.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/tooltip_visibility.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/typography.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/user_accounts_drawer_header.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/widgets.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/foundation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/scheduler.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/cupertino.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/rendering.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/add_event.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/arrow_menu.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/close_menu.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/ellipsis_search.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/event_add.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/home_menu.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/list_view.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_arrow.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_close.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_home.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/pause_play.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/play_pause.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/search_ellipsis.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/material/animated_icons/data/view_list.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/services.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/animation.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/vector_math_64.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/gestures.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/material_color_utilities.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/painting.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/semantics.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/characters.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/actions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_cross_fade.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_scroll_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_size.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/animated_switcher.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/annotated_region.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/app.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/async.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autocomplete.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/autofill.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/automatic_keep_alive.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/banner.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/basic.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/bottom_navigation_bar_item.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/color_filter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/container.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_button_item.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/context_menu_controller.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_selection_style.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/default_text_editing_shortcuts.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/desktop_text_selection_toolbar_layout_delegate.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dismissible.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/display_feature_sub_screen.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/disposable_build_context.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/drag_target.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/dual_transition_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/editable_text.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/fade_in_image.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_manager.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_scope.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/focus_traversal.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/form.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/framework.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/gesture_detector.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/grid_paper.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/heroes.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/icon_theme_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_filter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/image_icon.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/implicit_animations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_model.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_notifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/inherited_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/interactive_viewer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/keyboard_listener.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/layout_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/localizations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/magnifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/media_query.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/modal_barrier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigation_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/navigator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/nested_scroll_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/notification_listener.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/orientation_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overflow_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overlay.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/overscroll_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_storage.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/page_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/pages.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/performance_overlay.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/placeholder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_menu_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/platform_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/preferred_size.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/primary_scroll_controller.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/raw_keyboard_listener.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/reorderable_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/restoration_properties.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/router.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/routes.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/safe_area.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_activity.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_aware_image_provider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_configuration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_context.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_controller.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_metrics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_notification_observer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_physics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_position_with_single_context.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scroll_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollable.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/scrollbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selectable_region.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/selection_container.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/semantics_debugger.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/service_extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shared_app_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/shortcuts.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/single_child_scroll_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/size_changed_layout_notifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_fill.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_layout_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_persistent_header.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/slotted_render_object_widget.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/snapshot_widget.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spacer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/spell_check.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/status_transitions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/table.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tap_region.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_editing_intents.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_anchors.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_layout_delegate.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/texture.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/ticker_provider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/title.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/transitions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/tween_animation_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/unique_widget.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/value_listenable_builder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/viewport.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/visibility.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_inspector.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/widget_span.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/will_pop_scope.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/annotations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/assertions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/basic_types.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/bitfield.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/change_notifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/collections.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/consolidate_response.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/constants.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/diagnostics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/isolates.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/key.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/licenses.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/math.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/memory_allocations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/node.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/object.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/observer_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/persistent_hash_map.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/platform.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/print.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/serialization.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/service_extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/stack_frame.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/synchronous_future.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/unicode.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/priority.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/service_extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/scheduler/ticker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/activity_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/app.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/bottom_tab_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/colors.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/constants.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/context_menu_action.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/date_picker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection_toolbar_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/dialog.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_row.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/form_section.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icon_theme_data.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/icons.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/interface_level.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_section.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/list_tile.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/localizations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/magnifier.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/nav_bar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/picker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/refresh.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/route.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/scrollbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/search_field.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/segmented_control.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/slider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/sliding_segmented_control.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/switch.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_scaffold.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/tab_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_field.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_form_field_row.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/text_theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/theme.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/cupertino/thumb_painter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/animated_size.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/box.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_layout.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/custom_paint.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/editable.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/error.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flex.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/flow.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/image.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/layout_helper.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_body.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/list_wheel_viewport.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/mouse_tracker.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/object.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/paragraph.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/performance_overlay.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/platform_view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_box.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/proxy_sliver.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/rotated_box.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/selection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/service_extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/shifted_box.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fill.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_grid.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_list.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_padding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/sliver_persistent_header.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/stack.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/table_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/texture.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/tweens.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/view.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/viewport_offset.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/rendering/wrap.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/asset_bundle.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/autofill.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binary_messenger.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/clipboard.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/deferred_component.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/font_loader.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/haptic_feedback.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_key.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/keyboard_maps.g.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codec.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/message_codecs.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_cursor.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/mouse_tracking.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_channel.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/platform_views.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_android.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_fuchsia.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_ios.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_linux.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_macos.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_web.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/raw_keyboard_windows.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/restoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/service_extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/spell_check.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_channels.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_chrome.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_navigator.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/system_sound.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_boundary.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_editing_delta.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_formatter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_input.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/text_layout_metrics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animation_controller.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/animations.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/curves.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/listener_helpers.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/animation/tween_sequence.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb2.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/aabb3.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/colors.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/constants.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/error_helpers.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/frustum.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/intersection_result.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix2.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix3.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/matrix4.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/noise.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/obb3.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/opengl.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/plane.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quad.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/quaternion.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/ray.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/sphere.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/triangle.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/utilities.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector2.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector3.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/src/vector_math_64/vector4.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/arena.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/constants.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/converter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/drag_details.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/eager.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/events.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/force_press.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/gesture_settings.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/hit_test.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/long_press.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/lsq_solver.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/monodrag.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multidrag.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/multitap.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_router.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/recognizer.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/resampler.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/scale.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/tap.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/team.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/gestures/velocity_tracker.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/blend/blend.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/cam16.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/viewing_conditions.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/core_palette.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/palettes/tonal_palette.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_celebi.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_map.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wsmeans.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/quantizer_wu.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/scheme/scheme.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/score/score.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/alignment.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/basic_types.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/beveled_rectangle_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/border_radius.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/borders.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_decoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_fit.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/box_shadow.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/circle_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/clip.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/colors.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/continuous_rectangle_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/decoration_image.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/edge_insets.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/flutter_logo.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/fractional_offset.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/geometry.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/gradient.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_cache.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_decoder.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_provider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_resolution.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/image_stream.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/inline_span.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/matrix_utils.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/notched_shapes.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/oval_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/paint_utilities.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/placeholder_span.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/rounded_rectangle_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shader_warm_up.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/shape_decoration.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/stadium_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/star_border.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/strut_style.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_painter.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_span.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/text_style.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/binding.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/debug.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_event.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/semantics/semantics_service.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/extensions.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/constants.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/physics.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_io.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/meta_meta.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_bitfield_io.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_isolates_io.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/foundation/_platform_io.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/collection.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/services/_background_isolate_binary_messenger_io.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/math_utils.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/utils/color_utils.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/hct/hct_solver.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider_lab.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/quantize/point_provider.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/painting/_network_image_io.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/characters_impl.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/clamped_simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/friction_simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/gravity_simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/spring_simulation.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/tolerance.dart","/usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/src/physics/utils.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/algorithms.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/boollist.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/canonicalized_map.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterable.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_list.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_map.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/comparators.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_map.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/equality_set.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/functions.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_extensions.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/iterable_zip.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/list_extensions.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/priority_queue.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/queue_list.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/union_set_controller.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/unmodifiable_wrappers.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/wrappers.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/table.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/constants.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/src/grapheme_clusters/breaks.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/utils.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/combined_wrappers/combined_iterator.dart","/Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/src/empty_unmodifiable_set.dart"],"outputs":["/Users/bogdan/IdeaProjects/ernaehrung/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/app.dill"]} \ No newline at end of file diff --git a/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/outputs.json b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/outputs.json new file mode 100644 index 0000000..7445cde --- /dev/null +++ b/.dart_tool/flutter_build/c27655c010e9dca425e442f7862f55d5/outputs.json @@ -0,0 +1 @@ +["/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/vm_snapshot_data","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/kernel_blob.bin","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json","/Users/bogdan/IdeaProjects/ernaehrung/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z"] \ No newline at end of file diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json new file mode 100644 index 0000000..253e523 --- /dev/null +++ b/.dart_tool/package_config.json @@ -0,0 +1,158 @@ +{ + "configVersion": 2, + "packages": [ + { + "name": "async", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "boolean_selector", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "characters", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "clock", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "collection", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "cupertino_icons", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "fake_async", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter", + "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_lints", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_test", + "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "js", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "lints", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "matcher", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "material_color_utilities", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0", + "packageUri": "lib/", + "languageVersion": "2.13" + }, + { + "name": "meta", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "sky_engine", + "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "source_span", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "stack_trace", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "stream_channel", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "string_scanner", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "term_glyph", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "test_api", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "vector_math", + "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "ernaehrung", + "rootUri": "../", + "packageUri": "lib/", + "languageVersion": "2.19" + } + ], + "generated": "2023-04-13T20:45:03.708493Z", + "generator": "pub", + "generatorVersion": "2.19.6" +} diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset new file mode 100644 index 0000000..dc93315 --- /dev/null +++ b/.dart_tool/package_config_subset @@ -0,0 +1,101 @@ +async +2.18 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/lib/ +boolean_selector +2.17 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/ +characters +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/ +clock +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/ +collection +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/ +cupertino_icons +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/lib/ +fake_async +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/ +flutter_lints +2.17 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib/ +js +2.16 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/lib/ +lints +2.17 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/lib/ +matcher +2.18 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/lib/ +material_color_utilities +2.13 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/ +meta +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/ +path +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/lib/ +source_span +2.14 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib/ +stack_trace +2.18 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/ +stream_channel +2.14 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/ +string_scanner +2.18 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/ +term_glyph +2.12 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/ +test_api +2.18 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/lib/ +vector_math +2.14 +file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/ +file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/ +ernaehrung +2.19 +file:///Users/bogdan/IdeaProjects/ernaehrung/ +file:///Users/bogdan/IdeaProjects/ernaehrung/lib/ +sky_engine +2.12 +file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/ +file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/lib/ +flutter +2.17 +file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/ +file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/ +flutter_test +2.17 +file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test/ +file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test/lib/ +2 diff --git a/.dart_tool/version b/.dart_tool/version new file mode 100644 index 0000000..7560320 --- /dev/null +++ b/.dart_tool/version @@ -0,0 +1 @@ +3.7.9 \ No newline at end of file diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..20eb09c --- /dev/null +++ b/.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: 62bd79521d8d007524e351747471ba66696fc2d4 + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: android + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: ios + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: linux + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: macos + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: web + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + - platform: windows + create_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + base_revision: 62bd79521d8d007524e351747471ba66696fc2d4 + + # 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/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/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/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..9f41879 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,71 @@ +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 { + compileSdkVersion flutter.compileSdkVersion + 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.example.ernaehrung" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion flutter.minSdkVersion + 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/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..7bb52fe --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/ernaehrung/MainActivity.kt b/android/app/src/main/kotlin/com/example/ernaehrung/MainActivity.kt new file mode 100644 index 0000000..685e1f6 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/ernaehrung/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.ernaehrung + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..db77bb4 Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..17987b7 Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..09d4391 Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..d5f1c8d Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..4d6372e Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..ac72258 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..58a8c74 --- /dev/null +++ b/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.2.0' + 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') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3c472b9 --- /dev/null +++ b/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.5-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/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/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/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/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9625e10 --- /dev/null +++ b/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/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a5ba9c8 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,483 @@ +// !$*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 */; }; + 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 = ""; }; + 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 = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 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 */, + ); + 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 = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + 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 = 1300; + 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 = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 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"; + }; +/* 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 = 11.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.example.ernaehrung; + 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 = 11.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 = 11.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.example.ernaehrung; + 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.example.ernaehrung; + 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/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..c87d15a --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/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/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/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/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000..dc9ada4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000..7353c41 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000..797d452 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000..6ed2d93 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000..4cd7b00 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000..fe73094 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000..321773c Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000..797d452 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000..502f463 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000..0ec3034 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000..0ec3034 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000..e9f5fea Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000..84ac32a Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 0000000..8953cba Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000..0467bf1 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/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/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/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/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..aad887f --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Ernaehrung + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ernaehrung + 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/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..008fa38 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,115 @@ +import 'package:flutter/material.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + // This is the theme of your application. + // + // Try running your application with "flutter run". You'll see the + // application has a blue toolbar. Then, without quitting the app, try + // changing the primarySwatch below to Colors.green and then invoke + // "hot reload" (press "r" in the console where you ran "flutter run", + // or simply save your changes to "hot reload" in a Flutter IDE). + // Notice that the counter didn't reset back to zero; the application + // is not restarted. + primarySwatch: Colors.blue, + ), + home: const MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key, required this.title}); + + // This widget is the home page of your application. It is stateful, meaning + // that it has a State object (defined below) that contains fields that affect + // how it looks. + + // This class is the configuration for the state. It holds the values (in this + // case the title) provided by the parent (in this case the App widget) and + // used by the build method of the State. Fields in a Widget subclass are + // always marked "final". + + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + // This call to setState tells the Flutter framework that something has + // changed in this State, which causes it to rerun the build method below + // so that the display can reflect the updated values. If we changed + // _counter without calling setState(), then the build method would not be + // called again, and so nothing would appear to happen. + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + // This method is rerun every time setState is called, for instance as done + // by the _incrementCounter method above. + // + // The Flutter framework has been optimized to make rerunning build methods + // fast, so that you can just rebuild anything that needs updating rather + // than having to individually change instances of widgets. + return Scaffold( + appBar: AppBar( + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text(widget.title), + ), + body: Center( + // Center is a layout widget. It takes a single child and positions it + // in the middle of the parent. + child: Column( + // Column is also a layout widget. It takes a list of children and + // arranges them vertically. By default, it sizes itself to fit its + // children horizontally, and tries to be as tall as its parent. + // + // Invoke "debug painting" (press "p" in the console, choose the + // "Toggle Debug Paint" action from the Flutter Inspector in Android + // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) + // to see the wireframe for each widget. + // + // Column has various properties to control how it sizes itself and + // how it positions its children. Here we use mainAxisAlignment to + // center the children vertically; the main axis here is the vertical + // axis because Columns are vertical (the cross axis would be + // horizontal). + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headlineMedium, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: const Icon(Icons.add), + ), // This trailing comma makes auto-formatting nicer for build methods. + ); + } +} diff --git a/linux/.gitignore b/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt new file mode 100644 index 0000000..01826e1 --- /dev/null +++ b/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 "ernaehrung") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.ernaehrung") + +# 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/linux/flutter/CMakeLists.txt b/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/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/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..e71a16d --- /dev/null +++ b/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/linux/flutter/generated_plugin_registrant.h b/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/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/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..2e1de87 --- /dev/null +++ b/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +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/linux/main.cc b/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/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/linux/my_application.cc b/linux/my_application.cc new file mode 100644 index 0000000..6f56a41 --- /dev/null +++ b/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, "ernaehrung"); + 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, "ernaehrung"); + } + + 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/linux/my_application.h b/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/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/macos/.gitignore b/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..cccf817 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..7bbac79 --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,573 @@ +// !$*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 */; }; +/* 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 /* ernaehrung.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ernaehrung.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 = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 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 */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* ernaehrung.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 = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* ernaehrung.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1300; + 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"; + }; +/* 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.14; + 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_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + 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.14; + 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.14; + 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_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + 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_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + 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/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..aa78ef2 --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..d53ef64 --- /dev/null +++ b/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/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/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/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000..82b6f9d Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000..13b35eb Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000..0a3f5fa Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png new file mode 100644 index 0000000..bdb5722 Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png new file mode 100644 index 0000000..f083318 Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png new file mode 100644 index 0000000..326c0e7 Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000..2f1632c Binary files /dev/null and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/macos/Runner/Base.lproj/MainMenu.xib b/macos/Runner/Base.lproj/MainMenu.xib new file mode 100644 index 0000000..80e867a --- /dev/null +++ b/macos/Runner/Base.lproj/MainMenu.xib @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..d23cd07 --- /dev/null +++ b/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 = ernaehrung + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.ernaehrung + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/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/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/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/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..2722837 --- /dev/null +++ b/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/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..b2cb69d --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,188 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" + source: hosted + version: "2.10.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" + source: hosted + version: "1.2.1" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" + source: hosted + version: "1.17.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" + source: hosted + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" + lints: + dependency: transitive + description: + name: lints + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" + source: hosted + version: "0.12.13" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" + source: hosted + version: "0.2.0" + meta: + dependency: transitive + description: + name: meta + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" + source: hosted + version: "1.8.0" + path: + dependency: transitive + description: + name: path + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" + source: hosted + version: "1.8.2" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" + source: hosted + version: "1.9.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" + source: hosted + version: "0.4.16" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" +sdks: + dart: ">=2.19.6 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..55f1d5c --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,90 @@ +name: ernaehrung +description: A new Flutter project. +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: '>=2.19.6 <3.0.0' + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^2.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000..0d5d549 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:ernaehrung/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/web/favicon.png b/web/favicon.png new file mode 100644 index 0000000..8aaa46a Binary files /dev/null and b/web/favicon.png differ diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png new file mode 100644 index 0000000..b749bfe Binary files /dev/null and b/web/icons/Icon-192.png differ diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png new file mode 100644 index 0000000..88cfd48 Binary files /dev/null and b/web/icons/Icon-512.png differ diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000..eb9b4d7 Binary files /dev/null and b/web/icons/Icon-maskable-192.png differ diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000..d69c566 Binary files /dev/null and b/web/icons/Icon-maskable-512.png differ diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..48bfa7f --- /dev/null +++ b/web/index.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + ernaehrung + + + + + + + + + + diff --git a/web/manifest.json b/web/manifest.json new file mode 100644 index 0000000..74d927a --- /dev/null +++ b/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "ernaehrung", + "short_name": "ernaehrung", + "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/windows/.gitignore b/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/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/windows/CMakeLists.txt b/windows/CMakeLists.txt new file mode 100644 index 0000000..5e6dc78 --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,101 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(ernaehrung 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 "ernaehrung") + +# 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/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..930d207 --- /dev/null +++ b/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/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/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/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..b93c4c3 --- /dev/null +++ b/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +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/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/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/windows/runner/Runner.rc b/windows/runner/Runner.rc new file mode 100644 index 0000000..abdff6a --- /dev/null +++ b/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.example" "\0" + VALUE "FileDescription", "ernaehrung" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "ernaehrung" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "ernaehrung.exe" "\0" + VALUE "ProductName", "ernaehrung" "\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/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..b25e363 --- /dev/null +++ b/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/windows/runner/flutter_window.h b/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/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/windows/runner/main.cpp b/windows/runner/main.cpp new file mode 100644 index 0000000..b07e40b --- /dev/null +++ b/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"ernaehrung", 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/windows/runner/resource.h b/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// 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/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000..c04e20c Binary files /dev/null and b/windows/runner/resources/app_icon.ico differ diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..a42ea76 --- /dev/null +++ b/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp new file mode 100644 index 0000000..f5bf9fa --- /dev/null +++ b/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/windows/runner/utils.h b/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/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/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp new file mode 100644 index 0000000..041a385 --- /dev/null +++ b/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/windows/runner/win32_window.h b/windows/runner/win32_window.h new file mode 100644 index 0000000..c86632d --- /dev/null +++ b/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_