From 811e8844818a709624aee318115f12cdbf7a1c86 Mon Sep 17 00:00:00 2001 From: Rody Davis Date: Tue, 20 Jan 2026 23:18:39 -0800 Subject: [PATCH] add http_get_cache --- experimental/http_get_cache/.flutter-plugins | 7 + .../.flutter-plugins-dependencies | 1 + experimental/http_get_cache/.gitignore | 30 + experimental/http_get_cache/.metadata | 10 + .../http_get_cache/.vscode/settings.json | 6 + experimental/http_get_cache/CHANGELOG.md | 11 + experimental/http_get_cache/LICENSE | 202 + experimental/http_get_cache/README.md | 190 + .../http_get_cache/analysis_options.yaml | 4 + experimental/http_get_cache/build.yaml | 30 + .../http_get_cache/example/.gitignore | 43 + experimental/http_get_cache/example/.metadata | 45 + experimental/http_get_cache/example/README.md | 3 + .../example/analysis_options.yaml | 1 + .../http_get_cache/example/android/.gitignore | 13 + .../example/android/app/build.gradle | 58 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 45 + .../com/example/example/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + .../example/android/build.gradle | 18 + .../example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../example/android/settings.gradle | 25 + .../http_get_cache/example/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../example/ios/Flutter/Debug.xcconfig | 2 + .../example/ios/Flutter/Release.xcconfig | 2 + .../http_get_cache/example/ios/Podfile | 44 + .../ios/Runner.xcodeproj/project.pbxproj | 619 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../example/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + .../example/ios/Runner/Info.plist | 49 + .../ios/Runner/Runner-Bridging-Header.h | 1 + .../example/ios/RunnerTests/RunnerTests.swift | 12 + .../http_get_cache/example/lib/main.dart | 222 + .../http_get_cache/example/linux/.gitignore | 1 + .../example/linux/CMakeLists.txt | 145 + .../example/linux/flutter/CMakeLists.txt | 88 + .../flutter/generated_plugin_registrant.cc | 15 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 24 + .../http_get_cache/example/linux/main.cc | 6 + .../example/linux/my_application.cc | 124 + .../example/linux/my_application.h | 18 + .../http_get_cache/example/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 2 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 12 + .../http_get_cache/example/macos/Podfile | 43 + .../http_get_cache/example/macos/Podfile.lock | 56 + .../macos/Runner.xcodeproj/project.pbxproj | 801 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../example/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 + .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 14 + .../example/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../example/macos/Runner/Release.entitlements | 12 + .../macos/RunnerTests/RunnerTests.swift | 12 + .../http_get_cache/example/pubspec.yaml | 26 + .../example/web/drift_worker.js | 29608 ++++++++++++++++ .../http_get_cache/example/web/favicon.png | Bin 0 -> 917 bytes .../example/web/icons/Icon-192.png | Bin 0 -> 5292 bytes .../example/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes .../http_get_cache/example/web/index.html | 38 + .../http_get_cache/example/web/manifest.json | 35 + .../example/web/sqlite3.debug.wasm | Bin 0 -> 2986672 bytes .../http_get_cache/example/web/sqlite3.wasm | Bin 0 -> 704623 bytes .../http_get_cache/example/windows/.gitignore | 17 + .../example/windows/CMakeLists.txt | 108 + .../example/windows/flutter/CMakeLists.txt | 109 + .../flutter/generated_plugin_registrant.cc | 14 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 24 + .../example/windows/runner/CMakeLists.txt | 40 + .../example/windows/runner/Runner.rc | 121 + .../example/windows/runner/flutter_window.cpp | 71 + .../example/windows/runner/flutter_window.h | 33 + .../example/windows/runner/main.cpp | 43 + .../example/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + .../example/windows/runner/utils.cpp | 65 + .../example/windows/runner/utils.h | 19 + .../example/windows/runner/win32_window.cpp | 288 + .../example/windows/runner/win32_window.h | 102 + .../http_get_cache/lib/http_get_cache.dart | 44 + .../lib/http_get_cache_flutter.dart | 28 + .../lib/http_image_provider.dart | 188 + .../http_get_cache/lib/src/cache_control.dart | 56 + .../lib/src/client/http_client.dart | 2 + .../lib/src/client/http_client_factory.dart | 30 + .../src/client/http_client_factory_web.dart | 23 + .../http_get_cache/lib/src/constants.dart | 4 + .../lib/src/database/connection/connect.dart | 1 + .../src/database/connection/connect.io.dart | 27 + .../database/connection/connect.memory.dart | 12 + .../src/database/connection/connect.web.dart | 27 + .../lib/src/database/database.dart | 35 + .../lib/src/database/database.g.dart | 865 + .../lib/src/database/settings.dart | 31 + .../lib/src/database/sql/http_cache.drift | 68 + .../http_get_cache/lib/src/date_parser.dart | 48 + .../http_get_cache/lib/src/extensions.dart | 26 + .../lib/src/http_get_cache.dart | 145 + .../lib/src/request_headers.dart | 75 + .../http_get_cache/lib/src/store/base.dart | 14 + .../http_get_cache/lib/src/store/sqlite.dart | 221 + experimental/http_get_cache/pubspec.yaml | 33 + .../http_get_cache/test/date_parser_test.dart | 11 + .../test/flutter_http_cache_test.dart | 204 + .../http_get_cache/test/vary_header_test.dart | 77 + 168 files changed, 37335 insertions(+) create mode 100644 experimental/http_get_cache/.flutter-plugins create mode 100644 experimental/http_get_cache/.flutter-plugins-dependencies create mode 100644 experimental/http_get_cache/.gitignore create mode 100644 experimental/http_get_cache/.metadata create mode 100644 experimental/http_get_cache/.vscode/settings.json create mode 100644 experimental/http_get_cache/CHANGELOG.md create mode 100644 experimental/http_get_cache/LICENSE create mode 100644 experimental/http_get_cache/README.md create mode 100644 experimental/http_get_cache/analysis_options.yaml create mode 100644 experimental/http_get_cache/build.yaml create mode 100644 experimental/http_get_cache/example/.gitignore create mode 100644 experimental/http_get_cache/example/.metadata create mode 100644 experimental/http_get_cache/example/README.md create mode 100644 experimental/http_get_cache/example/analysis_options.yaml create mode 100644 experimental/http_get_cache/example/android/.gitignore create mode 100644 experimental/http_get_cache/example/android/app/build.gradle create mode 100644 experimental/http_get_cache/example/android/app/src/debug/AndroidManifest.xml create mode 100644 experimental/http_get_cache/example/android/app/src/main/AndroidManifest.xml create mode 100644 experimental/http_get_cache/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/drawable/launch_background.xml create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/values-night/styles.xml create mode 100644 experimental/http_get_cache/example/android/app/src/main/res/values/styles.xml create mode 100644 experimental/http_get_cache/example/android/app/src/profile/AndroidManifest.xml create mode 100644 experimental/http_get_cache/example/android/build.gradle create mode 100644 experimental/http_get_cache/example/android/gradle.properties create mode 100644 experimental/http_get_cache/example/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 experimental/http_get_cache/example/android/settings.gradle create mode 100644 experimental/http_get_cache/example/ios/.gitignore create mode 100644 experimental/http_get_cache/example/ios/Flutter/AppFrameworkInfo.plist create mode 100644 experimental/http_get_cache/example/ios/Flutter/Debug.xcconfig create mode 100644 experimental/http_get_cache/example/ios/Flutter/Release.xcconfig create mode 100644 experimental/http_get_cache/example/ios/Podfile create mode 100644 experimental/http_get_cache/example/ios/Runner.xcodeproj/project.pbxproj create mode 100644 experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 experimental/http_get_cache/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 experimental/http_get_cache/example/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 experimental/http_get_cache/example/ios/Runner/AppDelegate.swift create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 experimental/http_get_cache/example/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 experimental/http_get_cache/example/ios/Runner/Base.lproj/Main.storyboard create mode 100644 experimental/http_get_cache/example/ios/Runner/Info.plist create mode 100644 experimental/http_get_cache/example/ios/Runner/Runner-Bridging-Header.h create mode 100644 experimental/http_get_cache/example/ios/RunnerTests/RunnerTests.swift create mode 100644 experimental/http_get_cache/example/lib/main.dart create mode 100644 experimental/http_get_cache/example/linux/.gitignore create mode 100644 experimental/http_get_cache/example/linux/CMakeLists.txt create mode 100644 experimental/http_get_cache/example/linux/flutter/CMakeLists.txt create mode 100644 experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.cc create mode 100644 experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.h create mode 100644 experimental/http_get_cache/example/linux/flutter/generated_plugins.cmake create mode 100644 experimental/http_get_cache/example/linux/main.cc create mode 100644 experimental/http_get_cache/example/linux/my_application.cc create mode 100644 experimental/http_get_cache/example/linux/my_application.h create mode 100644 experimental/http_get_cache/example/macos/.gitignore create mode 100644 experimental/http_get_cache/example/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Flutter/Flutter-Release.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 experimental/http_get_cache/example/macos/Podfile create mode 100644 experimental/http_get_cache/example/macos/Podfile.lock create mode 100644 experimental/http_get_cache/example/macos/Runner.xcodeproj/project.pbxproj create mode 100644 experimental/http_get_cache/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 experimental/http_get_cache/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 experimental/http_get_cache/example/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 experimental/http_get_cache/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 experimental/http_get_cache/example/macos/Runner/AppDelegate.swift create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 experimental/http_get_cache/example/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 experimental/http_get_cache/example/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Runner/Configs/Debug.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Runner/Configs/Release.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Runner/Configs/Warnings.xcconfig create mode 100644 experimental/http_get_cache/example/macos/Runner/DebugProfile.entitlements create mode 100644 experimental/http_get_cache/example/macos/Runner/Info.plist create mode 100644 experimental/http_get_cache/example/macos/Runner/MainFlutterWindow.swift create mode 100644 experimental/http_get_cache/example/macos/Runner/Release.entitlements create mode 100644 experimental/http_get_cache/example/macos/RunnerTests/RunnerTests.swift create mode 100644 experimental/http_get_cache/example/pubspec.yaml create mode 100644 experimental/http_get_cache/example/web/drift_worker.js create mode 100644 experimental/http_get_cache/example/web/favicon.png create mode 100644 experimental/http_get_cache/example/web/icons/Icon-192.png create mode 100644 experimental/http_get_cache/example/web/icons/Icon-512.png create mode 100644 experimental/http_get_cache/example/web/icons/Icon-maskable-192.png create mode 100644 experimental/http_get_cache/example/web/icons/Icon-maskable-512.png create mode 100644 experimental/http_get_cache/example/web/index.html create mode 100644 experimental/http_get_cache/example/web/manifest.json create mode 100644 experimental/http_get_cache/example/web/sqlite3.debug.wasm create mode 100644 experimental/http_get_cache/example/web/sqlite3.wasm create mode 100644 experimental/http_get_cache/example/windows/.gitignore create mode 100644 experimental/http_get_cache/example/windows/CMakeLists.txt create mode 100644 experimental/http_get_cache/example/windows/flutter/CMakeLists.txt create mode 100644 experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.cc create mode 100644 experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.h create mode 100644 experimental/http_get_cache/example/windows/flutter/generated_plugins.cmake create mode 100644 experimental/http_get_cache/example/windows/runner/CMakeLists.txt create mode 100644 experimental/http_get_cache/example/windows/runner/Runner.rc create mode 100644 experimental/http_get_cache/example/windows/runner/flutter_window.cpp create mode 100644 experimental/http_get_cache/example/windows/runner/flutter_window.h create mode 100644 experimental/http_get_cache/example/windows/runner/main.cpp create mode 100644 experimental/http_get_cache/example/windows/runner/resource.h create mode 100644 experimental/http_get_cache/example/windows/runner/resources/app_icon.ico create mode 100644 experimental/http_get_cache/example/windows/runner/runner.exe.manifest create mode 100644 experimental/http_get_cache/example/windows/runner/utils.cpp create mode 100644 experimental/http_get_cache/example/windows/runner/utils.h create mode 100644 experimental/http_get_cache/example/windows/runner/win32_window.cpp create mode 100644 experimental/http_get_cache/example/windows/runner/win32_window.h create mode 100644 experimental/http_get_cache/lib/http_get_cache.dart create mode 100644 experimental/http_get_cache/lib/http_get_cache_flutter.dart create mode 100644 experimental/http_get_cache/lib/http_image_provider.dart create mode 100644 experimental/http_get_cache/lib/src/cache_control.dart create mode 100644 experimental/http_get_cache/lib/src/client/http_client.dart create mode 100644 experimental/http_get_cache/lib/src/client/http_client_factory.dart create mode 100644 experimental/http_get_cache/lib/src/client/http_client_factory_web.dart create mode 100644 experimental/http_get_cache/lib/src/constants.dart create mode 100644 experimental/http_get_cache/lib/src/database/connection/connect.dart create mode 100644 experimental/http_get_cache/lib/src/database/connection/connect.io.dart create mode 100644 experimental/http_get_cache/lib/src/database/connection/connect.memory.dart create mode 100644 experimental/http_get_cache/lib/src/database/connection/connect.web.dart create mode 100644 experimental/http_get_cache/lib/src/database/database.dart create mode 100644 experimental/http_get_cache/lib/src/database/database.g.dart create mode 100644 experimental/http_get_cache/lib/src/database/settings.dart create mode 100644 experimental/http_get_cache/lib/src/database/sql/http_cache.drift create mode 100644 experimental/http_get_cache/lib/src/date_parser.dart create mode 100644 experimental/http_get_cache/lib/src/extensions.dart create mode 100644 experimental/http_get_cache/lib/src/http_get_cache.dart create mode 100644 experimental/http_get_cache/lib/src/request_headers.dart create mode 100644 experimental/http_get_cache/lib/src/store/base.dart create mode 100644 experimental/http_get_cache/lib/src/store/sqlite.dart create mode 100644 experimental/http_get_cache/pubspec.yaml create mode 100644 experimental/http_get_cache/test/date_parser_test.dart create mode 100644 experimental/http_get_cache/test/flutter_http_cache_test.dart create mode 100644 experimental/http_get_cache/test/vary_header_test.dart diff --git a/experimental/http_get_cache/.flutter-plugins b/experimental/http_get_cache/.flutter-plugins new file mode 100644 index 0000000..762a32b --- /dev/null +++ b/experimental/http_get_cache/.flutter-plugins @@ -0,0 +1,7 @@ +# This is a generated file; do not edit or check into version control. +path_provider=/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider-2.1.4/ +path_provider_android=/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/ +path_provider_foundation=/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/ +path_provider_linux=/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ +path_provider_windows=/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/ +sqlite3_flutter_libs=/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.24/ diff --git a/experimental/http_get_cache/.flutter-plugins-dependencies b/experimental/http_get_cache/.flutter-plugins-dependencies new file mode 100644 index 0000000..bead3b5 --- /dev/null +++ b/experimental/http_get_cache/.flutter-plugins-dependencies @@ -0,0 +1 @@ +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_foundation-2.6.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqlite3_flutter_libs","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.41/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"path_provider_android","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqlite3_flutter_libs","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.41/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"path_provider_foundation","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_foundation-2.6.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqlite3_flutter_libs","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.41/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"path_provider_linux","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqlite3_flutter_libs","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.41/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"path_provider_windows","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"sqlite3_flutter_libs","path":"/Users/rodydavis/.pub-cache/hosted/pub.dev/sqlite3_flutter_libs-0.5.41/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqlite3_flutter_libs","dependencies":[]}],"date_created":"2026-01-20 22:45:38.501579","version":"3.38.5","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/experimental/http_get_cache/.gitignore b/experimental/http_get_cache/.gitignore new file mode 100644 index 0000000..134d6a8 --- /dev/null +++ b/experimental/http_get_cache/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +build/ +temp/ diff --git a/experimental/http_get_cache/.metadata b/experimental/http_get_cache/.metadata new file mode 100644 index 0000000..8f7b6ac --- /dev/null +++ b/experimental/http_get_cache/.metadata @@ -0,0 +1,10 @@ +# 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 and should not be manually edited. + +version: + revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" + channel: "stable" + +project_type: package diff --git a/experimental/http_get_cache/.vscode/settings.json b/experimental/http_get_cache/.vscode/settings.json new file mode 100644 index 0000000..65e20e7 --- /dev/null +++ b/experimental/http_get_cache/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "Microtask", + "todos" + ] +} \ No newline at end of file diff --git a/experimental/http_get_cache/CHANGELOG.md b/experimental/http_get_cache/CHANGELOG.md new file mode 100644 index 0000000..e237bbc --- /dev/null +++ b/experimental/http_get_cache/CHANGELOG.md @@ -0,0 +1,11 @@ +## 0.1.0 + +* **Breaking**: Updated package dependencies to latest versions. +* **Feat**: Added support for `Vary` header caching. +* **Feat**: Added database schema migration strategy. +* **Docs**: Updated README with Native Networking guide and Web platform warning. +* **UI**: Modernized example application UI. + +## 0.0.1 + +* Initial release. diff --git a/experimental/http_get_cache/LICENSE b/experimental/http_get_cache/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/experimental/http_get_cache/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/experimental/http_get_cache/README.md b/experimental/http_get_cache/README.md new file mode 100644 index 0000000..9e5f67d --- /dev/null +++ b/experimental/http_get_cache/README.md @@ -0,0 +1,190 @@ +# http_get_cache + +[![Pub](https://img.shields.io/pub/v/http_get_cache.svg)](https://pub.dev/packages/http_get_cache) + +A robust, HTTP-compliant caching library for Flutter and Dart. `http_get_cache` wraps the standard [`http`](https://pub.dev/packages/http) package to automatically cache GET requests based on `Cache-Control`, `Vary`, `ETag`, and `Last-Modified` headers. + +It uses **SQLite** (via [`drift`](https://pub.dev/packages/drift)) for metadata storage and the file system for caching response bodies, ensuring separate, non-blocking storage. + +## Features + +- 🚀 **HTTP Client Wrapper**: Drop-in replacement for `http.Client`. +- 💾 **Persistent Caching**: Stores cache data in SQLite and files on disk. +- 🌍 **Vary Header Support**: Caches variations of responses based on request headers (e.g., `User-Agent`). +- 🔄 **Standard Compliant**: Respects `max-age`, `no-cache`, `no-store`, `stale-while-revalidate`, and more. +- 🖼️ **HttpImageProvider**: A cached `ImageProvider` for Flutter. +- 📱 **Cross Platform**: Works on Android, iOS, macOS, Windows, and Linux. + +> [!WARNING] +> This package **does not support Web**. On Web, `http_get_cache` logic is disabled. +> You should use the [`fetch_client`](https://pub.dev/packages/fetch_client) package instead, which leverages the browser's native caching capabilities. + +## Installation + +Add the dependency to your `pubspec.yaml`: + +```yaml +dependencies: + http_get_cache: ^latest_version +``` + +## Usage + +### 1. Initialization + +You must initialize the cache database before making requests. + +**Flutter:** + +```dart +import 'package:flutter/material.dart'; +import 'package:http_get_cache/http_get_cache_flutter.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + + // Initialize caching with default paths + await initFlutterHttpGetCache(); + + runApp(const MyApp()); +} +``` + +**Dart (Standalone):** + +```dart +import 'package:http_get_cache/http_get_cache.dart'; + +void main() async { + await initHttpGetCache( + cachePath: './.cache', + databasePath: './.db', + ); +} +``` + +### 2. Making Requests + +Use the global `httpClient()` helper to get a `Client` that handles caching automatically. + +```dart +import 'package:http_get_cache/http_get_cache.dart'; + +Future fetchData() async { + final client = httpClient(); + + // This request will be cached if headers allow it + final response = await client.get(Uri.parse('https://jsonplaceholder.typicode.com/posts/1')); + + if (response.statusCode == 200) { + print('Response: ${response.body}'); + } + + client.close(); +} +``` + +### 3. Caching Images in Flutter + +Use `HttpImageProvider` to load and cache images efficiently. + +```dart +import 'package:flutter/material.dart'; +import 'package:http_get_cache/http_image_provider.dart'; + +class MyImageWidget extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Image( + image: HttpImageProvider( + Uri.parse('https://via.placeholder.com/150'), + ), + ); + } +} +``` + +## How It Works + +This package implements most of [RFC 7234](https://httpwg.org/specs/rfc7234.html). + +1. **Cache-Control**: Checks `max-age` to determine if a cached response is still fresh. +2. **Stale-While-Revalidate**: Can return stale content while updating the cache in the background. +3. **Vary**: Stores distinct cache entries if the server response includes a `Vary` header (e.g. varying by `Accept-Language`). +4. **Revalidation**: Uses `ETag` and `Last-Modified` to check with the server if the cached content has changed (Returns `304 Not Modified` if valid). + +## Web Support + +This package is designed for native platforms where persistent HTTP caching is not built-in. + +**On Web**, browsers handle caching automatically via the `Fetch API`. Using this package on Web adds unnecessary overhead as the internal caching logic is disabled (`kIsWeb` checks). + +**Recommendation:** +Use [fetch_client](https://pub.dev/packages/fetch_client) directly for Web applications. + +## Advanced Usage + +### Custom Client +You can use a custom inner client (e.g. `http.Client`, `RetryClient`) with `HttpGetCache`. + +```dart +import 'package:http/http.dart' as http; +import 'package:http_get_cache/http_get_cache.dart'; + +void main() async { + final db = await initFlutterHttpGetCache(); + final store = SqliteHttpCacheStore(db); + + final client = HttpGetCache( + http.Client(), // Inner client + store, + ); + + // Use client... +} + +``` + +### Native Networking + +To improve performance on mobile devices (e.g. HTTP/3 support), you can provide a native HTTP client to `httpClient`: + +1. Add dependencies: `cronet_http` and `cupertino_http`. +2. Pass the native client as `innerClient`. + +```dart +import 'dart:io'; +import 'package:cronet_http/cronet_http.dart'; +import 'package:cupertino_http/cupertino_http.dart'; +import 'package:http/http.dart'; +import 'package:http_get_cache/http_get_cache.dart'; + +Client getNativeClient() { + if (Platform.isAndroid) { + return CronetClient.defaultCronetEngine(); + } + if (Platform.isIOS || Platform.isMacOS) { + return CupertinoClient.defaultSessionConfiguration(); + } + return Client(); +} + +void main() async { + await initFlutterHttpGetCache(); + + final client = httpClient( + innerClient: getNativeClient(), + ); +} +``` + +### Platform Support + +| Platform | Support | Storage | +| :--- | :--- | :--- | +| **Android** | ✅ | SQLite + File System | +| **iOS** | ✅ | SQLite + File System | +| **macOS** | ✅ | SQLite + File System | +| **Windows** | ✅ | SQLite + File System | +| **Linux** | ✅ | SQLite + File System | +| **Web** | ⚠️ | **Not Supported** (Use `fetch_client`) | diff --git a/experimental/http_get_cache/analysis_options.yaml b/experimental/http_get_cache/analysis_options.yaml new file mode 100644 index 0000000..a5744c1 --- /dev/null +++ b/experimental/http_get_cache/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/experimental/http_get_cache/build.yaml b/experimental/http_get_cache/build.yaml new file mode 100644 index 0000000..01bede2 --- /dev/null +++ b/experimental/http_get_cache/build.yaml @@ -0,0 +1,30 @@ +# This configures how `build_runner` and associated builders should behave. +# For more information, see https://pub.dev/packages/build_config +targets: + $default: + # Reducing sources makes the build slightly faster (some of these are required + # to exist in the default target). + sources: + - lib/** + - web/** + - "tool/**" + - pubspec.yaml + - lib/$lib$ + - $package$ + builders: + drift_dev: + # These options change how drift generates code + options: + # Drift analyzes SQL queries at compile-time. For this purpose, it needs to know which sqlite3 + # features will be available. We depend on `sqlite3_flutter_libs`, which lets us use the latest + # version with fts5 enabled. + override_hash_and_equals_in_result_sets: true + apply_converters_on_variables: true + store_date_time_values_as_text: true + mutable_classes: true + named_parameters: true + sql: + dialect: sqlite + options: + version: "3.38" + modules: [fts5, json1] diff --git a/experimental/http_get_cache/example/.gitignore b/experimental/http_get_cache/example/.gitignore new file mode 100644 index 0000000..29a3a50 --- /dev/null +++ b/experimental/http_get_cache/example/.gitignore @@ -0,0 +1,43 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/experimental/http_get_cache/example/.metadata b/experimental/http_get_cache/example/.metadata new file mode 100644 index 0000000..6eb54a1 --- /dev/null +++ b/experimental/http_get_cache/example/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: android + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: ios + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: linux + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: macos + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: web + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + - platform: windows + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + + # 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/experimental/http_get_cache/example/README.md b/experimental/http_get_cache/example/README.md new file mode 100644 index 0000000..1b7a4e3 --- /dev/null +++ b/experimental/http_get_cache/example/README.md @@ -0,0 +1,3 @@ +# example + +A new Flutter project. diff --git a/experimental/http_get_cache/example/analysis_options.yaml b/experimental/http_get_cache/example/analysis_options.yaml new file mode 100644 index 0000000..f9b3034 --- /dev/null +++ b/experimental/http_get_cache/example/analysis_options.yaml @@ -0,0 +1 @@ +include: package:flutter_lints/flutter.yaml diff --git a/experimental/http_get_cache/example/android/.gitignore b/experimental/http_get_cache/example/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/experimental/http_get_cache/example/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/experimental/http_get_cache/example/android/app/build.gradle b/experimental/http_get_cache/example/android/app/build.gradle new file mode 100644 index 0000000..2a2d082 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/build.gradle @@ -0,0 +1,58 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file("local.properties") +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader("UTF-8") { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty("flutter.versionCode") +if (flutterVersionCode == null) { + flutterVersionCode = "1" +} + +def flutterVersionName = localProperties.getProperty("flutter.versionName") +if (flutterVersionName == null) { + flutterVersionName = "1.0" +} + +android { + namespace = "com.example.example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.example" + // 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. + minSdk = flutter.minSdkVersion + targetSdk = 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 = "../.." +} diff --git a/experimental/http_get_cache/example/android/app/src/debug/AndroidManifest.xml b/experimental/http_get_cache/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/experimental/http_get_cache/example/android/app/src/main/AndroidManifest.xml b/experimental/http_get_cache/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..74a78b9 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/experimental/http_get_cache/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt new file mode 100644 index 0000000..70f8f08 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/experimental/http_get_cache/example/android/app/src/main/res/drawable-v21/launch_background.xml b/experimental/http_get_cache/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/experimental/http_get_cache/example/android/app/src/main/res/drawable/launch_background.xml b/experimental/http_get_cache/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/experimental/http_get_cache/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/experimental/http_get_cache/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/experimental/http_get_cache/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/experimental/http_get_cache/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/android/app/src/main/res/values-night/styles.xml b/experimental/http_get_cache/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/experimental/http_get_cache/example/android/app/src/main/res/values/styles.xml b/experimental/http_get_cache/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/experimental/http_get_cache/example/android/app/src/profile/AndroidManifest.xml b/experimental/http_get_cache/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/experimental/http_get_cache/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/experimental/http_get_cache/example/android/build.gradle b/experimental/http_get_cache/example/android/build.gradle new file mode 100644 index 0000000..d2ffbff --- /dev/null +++ b/experimental/http_get_cache/example/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/experimental/http_get_cache/example/android/gradle.properties b/experimental/http_get_cache/example/android/gradle.properties new file mode 100644 index 0000000..3b5b324 --- /dev/null +++ b/experimental/http_get_cache/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/experimental/http_get_cache/example/android/gradle/wrapper/gradle-wrapper.properties b/experimental/http_get_cache/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..aa49780 --- /dev/null +++ b/experimental/http_get_cache/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip diff --git a/experimental/http_get_cache/example/android/settings.gradle b/experimental/http_get_cache/example/android/settings.gradle new file mode 100644 index 0000000..536165d --- /dev/null +++ b/experimental/http_get_cache/example/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} + +include ":app" diff --git a/experimental/http_get_cache/example/ios/.gitignore b/experimental/http_get_cache/example/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/experimental/http_get_cache/example/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/experimental/http_get_cache/example/ios/Flutter/AppFrameworkInfo.plist b/experimental/http_get_cache/example/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/experimental/http_get_cache/example/ios/Flutter/Debug.xcconfig b/experimental/http_get_cache/example/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/experimental/http_get_cache/example/ios/Flutter/Release.xcconfig b/experimental/http_get_cache/example/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/experimental/http_get_cache/example/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/experimental/http_get_cache/example/ios/Podfile b/experimental/http_get_cache/example/ios/Podfile new file mode 100644 index 0000000..d97f17e --- /dev/null +++ b/experimental/http_get_cache/example/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.pbxproj b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..3d07fb6 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,619 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 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 PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy 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 = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + 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 */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 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 = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 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 */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 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 */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency 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; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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 = 12.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)"; + DEVELOPMENT_TEAM = 9FK3425VTA; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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 = 12.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; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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 = 12.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)"; + DEVELOPMENT_TEAM = 9FK3425VTA; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 9FK3425VTA; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.example; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 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/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/experimental/http_get_cache/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/experimental/http_get_cache/example/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/experimental/http_get_cache/example/ios/Runner/AppDelegate.swift b/experimental/http_get_cache/example/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..9074fee --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@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/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 zcmeHN2~<R zh`|8`A_PQ1nSu(UMFx?8j8PC!!VDphaL#`F42fd#7Vlc`zIE4n%Y~eiz4y1j|NDpi z?<@|pSJ-HM`qifhf@m%MamgwK83`XpBA<+azdF#2QsT{X@z0A9Bq>~TVErigKH1~P zRX-!h-f0NJ4Mh++{D}J+K>~~rq}d%o%+4dogzXp7RxX4C>Km5XEI|PAFDmo;DFm6G zzjVoB`@qW98Yl0Kvc-9w09^PrsobmG*Eju^=3f?0o-t$U)TL1B3;sZ^!++3&bGZ!o-*6w?;oOhf z=A+Qb$scV5!RbG+&2S}BQ6YH!FKb0``VVX~T$dzzeSZ$&9=X$3)_7Z{SspSYJ!lGE z7yig_41zpQ)%5dr4ff0rh$@ky3-JLRk&DK)NEIHecf9c*?Z1bUB4%pZjQ7hD!A0r-@NF(^WKdr(LXj|=UE7?gBYGgGQV zidf2`ZT@pzXf7}!NH4q(0IMcxsUGDih(0{kRSez&z?CFA0RVXsVFw3^u=^KMtt95q z43q$b*6#uQDLoiCAF_{RFc{!H^moH_cmll#Fc^KXi{9GDl{>%+3qyfOE5;Zq|6#Hb zp^#1G+z^AXfRKaa9HK;%b3Ux~U@q?xg<2DXP%6k!3E)PA<#4$ui8eDy5|9hA5&{?v z(-;*1%(1~-NTQ`Is1_MGdQ{+i*ccd96ab$R$T3=% zw_KuNF@vI!A>>Y_2pl9L{9h1-C6H8<)J4gKI6{WzGBi<@u3P6hNsXG=bRq5c+z;Gc3VUCe;LIIFDmQAGy+=mRyF++u=drBWV8-^>0yE9N&*05XHZpPlE zxu@?8(ZNy7rm?|<+UNe0Vs6&o?l`Pt>P&WaL~M&#Eh%`rg@Mbb)J&@DA-wheQ>hRV z<(XhigZAT z>=M;URcdCaiO3d^?H<^EiEMDV+7HsTiOhoaMX%P65E<(5xMPJKxf!0u>U~uVqnPN7T!X!o@_gs3Ct1 zlZ_$5QXP4{Aj645wG_SNT&6m|O6~Tsl$q?nK*)(`{J4b=(yb^nOATtF1_aS978$x3 zx>Q@s4i3~IT*+l{@dx~Hst21fR*+5}S1@cf>&8*uLw-0^zK(+OpW?cS-YG1QBZ5q! zgTAgivzoF#`cSz&HL>Ti!!v#?36I1*l^mkrx7Y|K6L#n!-~5=d3;K<;Zqi|gpNUn_ z_^GaQDEQ*jfzh;`j&KXb66fWEk1K7vxQIMQ_#Wu_%3 z4Oeb7FJ`8I>Px;^S?)}2+4D_83gHEq>8qSQY0PVP?o)zAv3K~;R$fnwTmI-=ZLK`= zTm+0h*e+Yfr(IlH3i7gUclNH^!MU>id$Jw>O?2i0Cila#v|twub21@e{S2v}8Z13( zNDrTXZVgris|qYm<0NU(tAPouG!QF4ZNpZPkX~{tVf8xY690JqY1NVdiTtW+NqyRP zZ&;T0ikb8V{wxmFhlLTQ&?OP7 z;(z*<+?J2~z*6asSe7h`$8~Se(@t(#%?BGLVs$p``;CyvcT?7Y!{tIPva$LxCQ&4W z6v#F*);|RXvI%qnoOY&i4S*EL&h%hP3O zLsrFZhv&Hu5tF$Lx!8(hs&?!Kx5&L(fdu}UI5d*wn~A`nPUhG&Rv z2#ixiJdhSF-K2tpVL=)5UkXRuPAFrEW}7mW=uAmtVQ&pGE-&az6@#-(Te^n*lrH^m@X-ftVcwO_#7{WI)5v(?>uC9GG{lcGXYJ~Q8q zbMFl7;t+kV;|;KkBW2!P_o%Czhw&Q(nXlxK9ak&6r5t_KH8#1Mr-*0}2h8R9XNkr zto5-b7P_auqTJb(TJlmJ9xreA=6d=d)CVbYP-r4$hDn5|TIhB>SReMfh&OVLkMk-T zYf%$taLF0OqYF?V{+6Xkn>iX@TuqQ?&cN6UjC9YF&%q{Ut3zv{U2)~$>-3;Dp)*(? zg*$mu8^i=-e#acaj*T$pNowo{xiGEk$%DusaQiS!KjJH96XZ-hXv+jk%ard#fu=@Q z$AM)YWvE^{%tDfK%nD49=PI|wYu}lYVbB#a7wtN^Nml@CE@{Gv7+jo{_V?I*jkdLD zJE|jfdrmVbkfS>rN*+`#l%ZUi5_bMS<>=MBDNlpiSb_tAF|Zy`K7kcp@|d?yaTmB^ zo?(vg;B$vxS|SszusORgDg-*Uitzdi{dUV+glA~R8V(?`3GZIl^egW{a919!j#>f` znL1o_^-b`}xnU0+~KIFLQ)$Q6#ym%)(GYC`^XM*{g zv3AM5$+TtDRs%`2TyR^$(hqE7Y1b&`Jd6dS6B#hDVbJlUXcG3y*439D8MrK!2D~6gn>UD4Imctb z+IvAt0iaW73Iq$K?4}H`7wq6YkTMm`tcktXgK0lKPmh=>h+l}Y+pDtvHnG>uqBA)l zAH6BV4F}v$(o$8Gfo*PB>IuaY1*^*`OTx4|hM8jZ?B6HY;F6p4{`OcZZ(us-RVwDx zUzJrCQlp@mz1ZFiSZ*$yX3c_#h9J;yBE$2g%xjmGF4ca z&yL`nGVs!Zxsh^j6i%$a*I3ZD2SoNT`{D%mU=LKaEwbN(_J5%i-6Va?@*>=3(dQy` zOv%$_9lcy9+(t>qohkuU4r_P=R^6ME+wFu&LA9tw9RA?azGhjrVJKy&8=*qZT5Dr8g--d+S8zAyJ$1HlW3Olryt`yE zFIph~Z6oF&o64rw{>lgZISC6p^CBer9C5G6yq%?8tC+)7*d+ib^?fU!JRFxynRLEZ zj;?PwtS}Ao#9whV@KEmwQgM0TVP{hs>dg(1*DiMUOKHdQGIqa0`yZnHk9mtbPfoLx zo;^V6pKUJ!5#n`w2D&381#5#_t}AlTGEgDz$^;u;-vxDN?^#5!zN9ngytY@oTv!nc zp1Xn8uR$1Z;7vY`-<*?DfPHB;x|GUi_fI9@I9SVRv1)qETbNU_8{5U|(>Du84qP#7 z*l9Y$SgA&wGbj>R1YeT9vYjZuC@|{rajTL0f%N@>3$DFU=`lSPl=Iv;EjuGjBa$Gw zHD-;%YOE@<-!7-Mn`0WuO3oWuL6tB2cpPw~Nvuj|KM@))ixuDK`9;jGMe2d)7gHin zS<>k@!x;!TJEc#HdL#RF(`|4W+H88d4V%zlh(7#{q2d0OQX9*FW^`^_<3r$kabWAB z$9BONo5}*(%kx zOXi-yM_cmB3>inPpI~)duvZykJ@^^aWzQ=eQ&STUa}2uT@lV&WoRzkUoE`rR0)`=l zFT%f|LA9fCw>`enm$p7W^E@U7RNBtsh{_-7vVz3DtB*y#*~(L9+x9*wn8VjWw|Q~q zKFsj1Yl>;}%MG3=PY`$g$_mnyhuV&~O~u~)968$0b2!Jkd;2MtAP#ZDYw9hmK_+M$ zb3pxyYC&|CuAbtiG8HZjj?MZJBFbt`ryf+c1dXFuC z0*ZQhBzNBd*}s6K_G}(|Z_9NDV162#y%WSNe|FTDDhx)K!c(mMJh@h87@8(^YdK$&d*^WQe8Z53 z(|@MRJ$Lk-&ii74MPIs80WsOFZ(NX23oR-?As+*aq6b?~62@fSVmM-_*cb1RzZ)`5$agEiL`-E9s7{GM2?(KNPgK1(+c*|-FKoy}X(D_b#etO|YR z(BGZ)0Ntfv-7R4GHoXp?l5g#*={S1{u-QzxCGng*oWr~@X-5f~RA14b8~B+pLKvr4 zfgL|7I>jlak9>D4=(i(cqYf7#318!OSR=^`xxvI!bBlS??`xxWeg?+|>MxaIdH1U~#1tHu zB{QMR?EGRmQ_l4p6YXJ{o(hh-7Tdm>TAX380TZZZyVkqHNzjUn*_|cb?T? zt;d2s-?B#Mc>T-gvBmQZx(y_cfkXZO~{N zT6rP7SD6g~n9QJ)8F*8uHxTLCAZ{l1Y&?6v)BOJZ)=R-pY=Y=&1}jE7fQ>USS}xP#exo57uND0i*rEk@$;nLvRB@u~s^dwRf?G?_enN@$t* zbL%JO=rV(3Ju8#GqUpeE3l_Wu1lN9Y{D4uaUe`g>zlj$1ER$6S6@{m1!~V|bYkhZA z%CvrDRTkHuajMU8;&RZ&itnC~iYLW4DVkP<$}>#&(`UO>!n)Po;Mt(SY8Yb`AS9lt znbX^i?Oe9r_o=?})IHKHoQGKXsps_SE{hwrg?6dMI|^+$CeC&z@*LuF+P`7LfZ*yr+KN8B4{Nzv<`A(wyR@!|gw{zB6Ha ziwPAYh)oJ(nlqSknu(8g9N&1hu0$vFK$W#mp%>X~AU1ay+EKWcFdif{% z#4!4aoVVJ;ULmkQf!ke2}3hqxLK>eq|-d7Ly7-J9zMpT`?dxo6HdfJA|t)?qPEVBDv z{y_b?4^|YA4%WW0VZd8C(ZgQzRI5(I^)=Ub`Y#MHc@nv0w-DaJAqsbEHDWG8Ia6ju zo-iyr*sq((gEwCC&^TYBWt4_@|81?=B-?#P6NMff(*^re zYqvDuO`K@`mjm_Jd;mW_tP`3$cS?R$jR1ZN09$YO%_iBqh5ftzSpMQQtxKFU=FYmP zeY^jph+g<4>YO;U^O>-NFLn~-RqlHvnZl2yd2A{Yc1G@Ga$d+Q&(f^tnPf+Z7serIU};17+2DU_f4Z z@GaPFut27d?!YiD+QP@)T=77cR9~MK@bd~pY%X(h%L={{OIb8IQmf-!xmZkm8A0Ga zQSWONI17_ru5wpHg3jI@i9D+_Y|pCqVuHJNdHUauTD=R$JcD2K_liQisqG$(sm=k9;L* z!L?*4B~ql7uioSX$zWJ?;q-SWXRFhz2Jt4%fOHA=Bwf|RzhwqdXGr78y$J)LR7&3T zE1WWz*>GPWKZ0%|@%6=fyx)5rzUpI;bCj>3RKzNG_1w$fIFCZ&UR0(7S?g}`&Pg$M zf`SLsz8wK82Vyj7;RyKmY{a8G{2BHG%w!^T|Njr!h9TO2LaP^_f22Q1=l$QiU84ao zHe_#{S6;qrC6w~7{y(hs-?-j?lbOfgH^E=XcSgnwW*eEz{_Z<_xN#0001NP)t-s|Ns9~ z#rXRE|M&d=0au&!`~QyF`q}dRnBDt}*!qXo`c{v z{Djr|@Adh0(D_%#_&mM$D6{kE_x{oE{l@J5@%H*?%=t~i_`ufYOPkAEn!pfkr2$fs z652Tz0001XNklqeeKN4RM4i{jKqmiC$?+xN>3Apn^ z0QfuZLym_5b<*QdmkHjHlj811{If)dl(Z2K0A+ekGtrFJb?g|wt#k#pV-#A~bK=OT ts8>{%cPtyC${m|1#B1A6#u!Q;umknL1chzTM$P~L002ovPDHLkV1lTfnu!1a literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 zcmV;526g#~P){YQnis^a@{&-nmRmq)<&%Mztj67_#M}W?l>kYSliK<%xAp;0j{!}J0!o7b zE>q9${Lb$D&h7k=+4=!ek^n+`0zq>LL1O?lVyea53S5x`Nqqo2YyeuIrQrJj9XjOp z{;T5qbj3}&1vg1VK~#9!?b~^C5-}JC@Pyrv-6dSEqJqT}#j9#dJ@GzT@B8}x zU&J@bBI>f6w6en+CeI)3^kC*U?}X%OD8$Fd$H&LV$H&LV$H&LV#|K5~mLYf|VqzOc zkc7qL~0sOYuM{tG`rYEDV{DWY`Z8&)kW*hc2VkBuY+^Yx&92j&StN}Wp=LD zxoGxXw6f&8sB^u})h@b@z0RBeD`K7RMR9deyL(ZJu#39Z>rT)^>v}Khq8U-IbIvT> z?4pV9qGj=2)TNH3d)=De<+^w;>S7m_eFKTvzeaBeir45xY!^m!FmxnljbSS_3o=g( z->^wC9%qkR{kbGnW8MfFew_o9h3(r55Is`L$8KI@d+*%{=Nx+FXJ98L0PjFIu;rGnnfY zn1R5Qnp<{Jq0M1vX=X&F8gtLmcWv$1*M@4ZfF^9``()#hGTeKeP`1!iED ztNE(TN}M5}3Bbc*d=FIv`DNv&@|C6yYj{sSqUj5oo$#*0$7pu|Dd2TLI>t5%I zIa4Dvr(iayb+5x=j*Vum9&irk)xV1`t509lnPO0%skL8_1c#Xbamh(2@f?4yUI zhhuT5<#8RJhGz4%b$`PJwKPAudsm|at?u;*hGgnA zU1;9gnxVBC)wA(BsB`AW54N{|qmikJR*%x0c`{LGsSfa|NK61pYH(r-UQ4_JXd!Rsz)=k zL{GMc5{h138)fF5CzHEDM>+FqY)$pdN3}Ml+riTgJOLN0F*Vh?{9ESR{SVVg>*>=# zix;VJHPtvFFCRY$Ks*F;VX~%*r9F)W`PmPE9F!(&s#x07n2<}?S{(ygpXgX-&B&OM zONY&BRQ(#%0%jeQs?oJ4P!p*R98>qCy5p8w>_gpuh39NcOlp)(wOoz0sY-Qz55eB~ z7OC-fKBaD1sE3$l-6QgBJO!n?QOTza`!S_YK z_v-lm^7{VO^8Q@M_^8F)09Ki6%=s?2_5eupee(w1FB%aqSweusQ-T+CH0Xt{` zFjMvW{@C&TB)k25()nh~_yJ9coBRL(0oO@HK~z}7?bm5j;y@69;bvlHb2tf!$ReA~x{22wTq550 z?f?Hnw(;m3ip30;QzdV~7pi!wyMYhDtXW#cO7T>|f=bdFhu+F!zMZ2UFj;GUKX7tI z;hv3{q~!*pMj75WP_c}>6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FaF{8 z;u`Mw0ly(uE>*CgQYv{be6ab2LWhlaH1^iLIM{olnag$78^Fd}%dR7;JECQ+hmk|o z!u2&!3MqPfP5ChDSkFSH8F2WVOEf0(E_M(JL17G}Y+fg0_IuW%WQ zG(mG&u?|->YSdk0;8rc{yw2@2Z&GA}z{Wb91Ooz9VhA{b2DYE7RmG zjL}?eq#iX%3#k;JWMx_{^2nNax`xPhByFiDX+a7uTGU|otOvIAUy|dEKkXOm-`aWS z27pUzD{a)Ct<6p{{3)+lq@i`t@%>-wT4r?*S}k)58e09WZYP0{{R3FC5Sl00039P)t-s|Ns9~ z#rP?<_5oL$Q^olD{r_0T`27C={r>*`|Nj71npVa5OTzc(_WfbW_({R{p56NV{r*M2 z_xt?)2V0#0NsfV0u>{42ctGP(8vQj-Btk1n|O0ZD=YLwd&R{Ko41Gr9H= zY@z@@bOAMB5Ltl$E>bJJ{>JP30ZxkmI%?eW{k`b?Wy<&gOo;dS`~CR$Vwb@XWtR|N zi~t=w02?-0&j0TD{>bb6sNwsK*!p?V`RMQUl(*DVjk-9Cx+-z1KXab|Ka2oXhX5f% z`$|e!000AhNklrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`? zTG`AHia671e^vgmp!llKp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?hz91 z7p83F3%LVu9;S$tSI$C^%^yud1dfTM_6p2|+5Ejp$bd`GDvbR|xit>i!ZD&F>@CJrPmu*UjD&?DfZs=$@e3FQA(vNiU+$A*%a} z?`XcG2jDxJ_ZQ#Md`H{4Lpf6QBDp81_KWZ6Tk#yCy1)32zO#3<7>b`eT7UyYH1eGz z;O(rH$=QR*L%%ZcBpc=eGua?N55nD^K(8<#gl2+pN_j~b2MHs4#mcLmv%DkspS-3< zpI1F=^9siI0s-;IN_IrA;5xm~3?3!StX}pUv0vkxMaqm+zxrg7X7(I&*N~&dEd0kD z-FRV|g=|QuUsuh>-xCI}vD2imzYIOIdcCVV=$Bz@*u0+Bs<|L^)32nN*=wu3n%Ynw z@1|eLG>!8ruU1pFXUfb`j>(=Gy~?Rn4QJ-c3%3T|(Frd!bI`9u&zAnyFYTqlG#&J7 zAkD(jpw|oZLNiA>;>hgp1KX7-wxC~31II47gc zHcehD6Uxlf%+M^^uN5Wc*G%^;>D5qT{>=uxUhX%WJu^Z*(_Wq9y}npFO{Hhb>s6<9 zNi0pHXWFaVZnb)1+RS&F)xOv6&aeILcI)`k#0YE+?e)5&#r7J#c`3Z7x!LpTc01dx zrdC3{Z;joZ^KN&))zB_i)I9fWedoN>Zl-6_Iz+^G&*ak2jpF07*qoM6N<$f;w%0(f|Me literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/experimental/http_get_cache/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/experimental/http_get_cache/example/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/ios/Runner/Base.lproj/Main.storyboard b/experimental/http_get_cache/example/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/ios/Runner/Info.plist b/experimental/http_get_cache/example/ios/Runner/Info.plist new file mode 100644 index 0000000..5458fc4 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Example + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + example + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/experimental/http_get_cache/example/ios/Runner/Runner-Bridging-Header.h b/experimental/http_get_cache/example/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/experimental/http_get_cache/example/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/experimental/http_get_cache/example/ios/RunnerTests/RunnerTests.swift b/experimental/http_get_cache/example/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/experimental/http_get_cache/example/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/experimental/http_get_cache/example/lib/main.dart b/experimental/http_get_cache/example/lib/main.dart new file mode 100644 index 0000000..b1338a8 --- /dev/null +++ b/experimental/http_get_cache/example/lib/main.dart @@ -0,0 +1,222 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:http_get_cache/http_get_cache.dart'; +import 'package:http_get_cache/http_get_cache_flutter.dart'; +import 'package:http_get_cache/http_image_provider.dart'; +import 'package:signals/signals_flutter.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await initFlutterHttpGetCache(); + runApp(const MainApp()); +} + +class MainApp extends StatefulWidget { + const MainApp({super.key}); + + @override + State createState() => _MainAppState(); +} + +class _MainAppState extends State { + final client = httpClient(); + + static const target = 'https://jsonplaceholder.typicode.com/photos'; + final requestCount$ = signal(0); + + // We limit to 50 items for the demo to keep it snappy and focused + late final items$ = client + .get(Uri.parse(target)) + .then((res) => res.statusCode == 200 ? jsonDecode(res.body) as List : []) + .then((items) => items.take(50).cast>().toList()) + .then( + (r) => () { + requestCount$.value++; + return r; + }(), + ) + .toFutureSignal(); + + @override + Widget build(BuildContext context) { + final state = items$.watch(context); + final count = requestCount$.watch(context); + + return MaterialApp( + debugShowCheckedModeBanner: false, + themeMode: ThemeMode.system, + theme: ThemeData( + useMaterial3: true, + colorScheme: ColorScheme.fromSeed( + seedColor: const Color(0xFF6750A4), + brightness: Brightness.light, + ), + ), + darkTheme: ThemeData( + useMaterial3: true, + colorScheme: ColorScheme.fromSeed( + seedColor: const Color(0xFFD0BCFF), + brightness: Brightness.dark, + ), + ), + home: Scaffold( + body: CustomScrollView( + slivers: [ + SliverAppBar.large( + title: const Text('Http Get Cache'), + actions: [ + Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: Badge( + label: Text('$count'), + child: const Icon(Icons.cloud_sync_outlined), + ), + ), + ), + ], + ), + state.map( + data: (items) { + if (items.isEmpty) { + return const SliverFillRemaining( + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.inbox_outlined, + size: 64, color: Colors.grey), + SizedBox(height: 16), + Text( + 'No items found', + style: TextStyle(fontSize: 18, color: Colors.grey), + ), + ], + ), + ), + ); + } + return SliverPadding( + padding: const EdgeInsets.all(16.0), + sliver: SliverGrid( + gridDelegate: + const SliverGridDelegateWithMaxCrossAxisExtent( + maxCrossAxisExtent: 300, + mainAxisSpacing: 16, + crossAxisSpacing: 16, + childAspectRatio: 0.8, + ), + delegate: SliverChildBuilderDelegate( + (context, index) { + final item = items[index]; + final title = item['title'] as String; + final url = item['url'] as String; + // Use a deterministic random height for a staggered-like feel if we were using masonry, + // but for standard grid, we keep uniform aspect ratio. + // We'll use the ID to pick a color for the placeholder. + final id = item['id'] as int; + final color = + Colors.primaries[id % Colors.primaries.length]; + + return Card( + elevation: 2, + clipBehavior: Clip.antiAlias, + child: Stack( + fit: StackFit.expand, + children: [ + Image( + image: HttpImageProvider( + Uri.parse(url), + client: client, + ), + fit: BoxFit.cover, + loadingBuilder: + (context, child, loadingProgress) { + if (loadingProgress == null) return child; + return Container( + color: color.withValues(alpha: 0.1), + child: const Center( + child: CircularProgressIndicator(), + ), + ); + }, + errorBuilder: (context, error, stackTrace) { + return Container( + color: color.withValues(alpha: 0.2), + child: const Icon( + Icons.broken_image_outlined, + size: 48), + ); + }, + ), + Positioned( + bottom: 0, + left: 0, + right: 0, + child: Container( + decoration: const BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.transparent, + Colors.black87, + ], + ), + ), + padding: const EdgeInsets.all(12.0), + child: Text( + title, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + ), + ], + ), + ); + }, + childCount: items.length, + ), + ), + ); + }, + error: (error) => SliverFillRemaining( + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.error_outline, + size: 64, color: Colors.red), + const SizedBox(height: 16), + Text('Error: $error', textAlign: TextAlign.center), + const SizedBox(height: 16), + FilledButton.icon( + onPressed: () => items$.refresh(), + icon: const Icon(Icons.refresh), + label: const Text('Retry'), + ), + ], + ), + ), + ), + loading: () => const SliverFillRemaining( + child: Center(child: CircularProgressIndicator()), + ), + ), + ], + ), + floatingActionButton: FloatingActionButton.extended( + onPressed: () => items$.refresh(), + icon: const Icon(Icons.refresh), + label: const Text('Refresh Data'), + ), + ), + ); + } +} diff --git a/experimental/http_get_cache/example/linux/.gitignore b/experimental/http_get_cache/example/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/experimental/http_get_cache/example/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/experimental/http_get_cache/example/linux/CMakeLists.txt b/experimental/http_get_cache/example/linux/CMakeLists.txt new file mode 100644 index 0000000..9cb0d1d --- /dev/null +++ b/experimental/http_get_cache/example/linux/CMakeLists.txt @@ -0,0 +1,145 @@ +# 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 "example") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# 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/experimental/http_get_cache/example/linux/flutter/CMakeLists.txt b/experimental/http_get_cache/example/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/experimental/http_get_cache/example/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.cc b/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..2c1ec4f --- /dev/null +++ b/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); + sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); +} diff --git a/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.h b/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/experimental/http_get_cache/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/experimental/http_get_cache/example/linux/flutter/generated_plugins.cmake b/experimental/http_get_cache/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..7ea2a80 --- /dev/null +++ b/experimental/http_get_cache/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + sqlite3_flutter_libs +) + +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/experimental/http_get_cache/example/linux/main.cc b/experimental/http_get_cache/example/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/experimental/http_get_cache/example/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/experimental/http_get_cache/example/linux/my_application.cc b/experimental/http_get_cache/example/linux/my_application.cc new file mode 100644 index 0000000..c0530d4 --- /dev/null +++ b/experimental/http_get_cache/example/linux/my_application.cc @@ -0,0 +1,124 @@ +#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, "example"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "example"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// 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_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + 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/experimental/http_get_cache/example/linux/my_application.h b/experimental/http_get_cache/example/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/experimental/http_get_cache/example/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/experimental/http_get_cache/example/macos/.gitignore b/experimental/http_get_cache/example/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/experimental/http_get_cache/example/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/experimental/http_get_cache/example/macos/Flutter/Flutter-Debug.xcconfig b/experimental/http_get_cache/example/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..4b81f9b --- /dev/null +++ b/experimental/http_get_cache/example/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/experimental/http_get_cache/example/macos/Flutter/Flutter-Release.xcconfig b/experimental/http_get_cache/example/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..d495280 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" diff --git a/experimental/http_get_cache/example/macos/Flutter/GeneratedPluginRegistrant.swift b/experimental/http_get_cache/example/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..a76a051 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,12 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import sqlite3_flutter_libs + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) +} diff --git a/experimental/http_get_cache/example/macos/Podfile b/experimental/http_get_cache/example/macos/Podfile new file mode 100644 index 0000000..c795730 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/experimental/http_get_cache/example/macos/Podfile.lock b/experimental/http_get_cache/example/macos/Podfile.lock new file mode 100644 index 0000000..8d44ecc --- /dev/null +++ b/experimental/http_get_cache/example/macos/Podfile.lock @@ -0,0 +1,56 @@ +PODS: + - cupertino_http (0.0.1): + - FlutterMacOS + - FlutterMacOS (1.0.0) + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - "sqlite3 (3.46.0+1)": + - "sqlite3/common (= 3.46.0+1)" + - "sqlite3/common (3.46.0+1)" + - "sqlite3/dbstatvtab (3.46.0+1)": + - sqlite3/common + - "sqlite3/fts5 (3.46.0+1)": + - sqlite3/common + - "sqlite3/perf-threadsafe (3.46.0+1)": + - sqlite3/common + - "sqlite3/rtree (3.46.0+1)": + - sqlite3/common + - sqlite3_flutter_libs (0.0.1): + - FlutterMacOS + - "sqlite3 (~> 3.46.0+1)" + - sqlite3/dbstatvtab + - sqlite3/fts5 + - sqlite3/perf-threadsafe + - sqlite3/rtree + +DEPENDENCIES: + - cupertino_http (from `Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos`) + - FlutterMacOS (from `Flutter/ephemeral`) + - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) + - sqlite3_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos`) + +SPEC REPOS: + trunk: + - sqlite3 + +EXTERNAL SOURCES: + cupertino_http: + :path: Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos + FlutterMacOS: + :path: Flutter/ephemeral + path_provider_foundation: + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin + sqlite3_flutter_libs: + :path: Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos + +SPEC CHECKSUMS: + cupertino_http: 1d506209e339211efa0764caa7b2de4bc55b6818 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630 + sqlite3_flutter_libs: 5ca46c1a04eddfbeeb5b16566164aa7ad1616e7b + +PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 + +COCOAPODS: 1.14.3 diff --git a/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.pbxproj b/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ba8fbd8 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,801 @@ +// !$*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 */ + 074CF984A91057E941EEE73C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69FE33FADD7FC0F5D18BA539 /* Pods_RunnerTests.framework */; }; + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 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 */; }; + FBCE14358C8D4F52CEE3840F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C79B05C2069EFDB77890EFEF /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 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 */ + 027D44E704C19D3FB3AB9F69 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 11470187A0A4BB27CF093CE4 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 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 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 649D5F9C2EDD38C07C58A1DD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 69FE33FADD7FC0F5D18BA539 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; + ADD41B185F859BCE924EFED3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + C79B05C2069EFDB77890EFEF /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D012884557B1087627B0947B /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + E663B22DCC569136517CEE35 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 074CF984A91057E941EEE73C /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FBCE14358C8D4F52CEE3840F /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 8B4B97E465317603E70CFC94 /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* example.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + 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 = ""; + }; + 8B4B97E465317603E70CFC94 /* Pods */ = { + isa = PBXGroup; + children = ( + 11470187A0A4BB27CF093CE4 /* Pods-Runner.debug.xcconfig */, + 649D5F9C2EDD38C07C58A1DD /* Pods-Runner.release.xcconfig */, + 027D44E704C19D3FB3AB9F69 /* Pods-Runner.profile.xcconfig */, + E663B22DCC569136517CEE35 /* Pods-RunnerTests.debug.xcconfig */, + D012884557B1087627B0947B /* Pods-RunnerTests.release.xcconfig */, + ADD41B185F859BCE924EFED3 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C79B05C2069EFDB77890EFEF /* Pods_Runner.framework */, + 69FE33FADD7FC0F5D18BA539 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 014BCC003C5148098362C3C5 /* [CP] Check Pods Manifest.lock */, + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + D2F43A3D0FD807C1023F7099 /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + 27EA7637625ECEA8711C8E13 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* example.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 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 */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 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 */ + 014BCC003C5148098362C3C5 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 27EA7637625ECEA8711C8E13 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 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"; + }; + D2F43A3D0FD807C1023F7099 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 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 */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 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 */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E663B22DCC569136517CEE35 /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D012884557B1087627B0947B /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ADD41B185F859BCE924EFED3 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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 */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 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/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/experimental/http_get_cache/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/experimental/http_get_cache/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..15368ec --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/experimental/http_get_cache/example/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/experimental/http_get_cache/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/http_get_cache/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/experimental/http_get_cache/example/macos/Runner/AppDelegate.swift b/experimental/http_get_cache/example/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..d53ef64 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/experimental/http_get_cache/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/macos/Runner/Configs/AppInfo.xcconfig b/experimental/http_get_cache/example/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..92fb3cd --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = example + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.example + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved. diff --git a/experimental/http_get_cache/example/macos/Runner/Configs/Debug.xcconfig b/experimental/http_get_cache/example/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/experimental/http_get_cache/example/macos/Runner/Configs/Release.xcconfig b/experimental/http_get_cache/example/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/experimental/http_get_cache/example/macos/Runner/Configs/Warnings.xcconfig b/experimental/http_get_cache/example/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/experimental/http_get_cache/example/macos/Runner/DebugProfile.entitlements b/experimental/http_get_cache/example/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..3ba6c12 --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/experimental/http_get_cache/example/macos/Runner/Info.plist b/experimental/http_get_cache/example/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/experimental/http_get_cache/example/macos/Runner/MainFlutterWindow.swift b/experimental/http_get_cache/example/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/experimental/http_get_cache/example/macos/Runner/Release.entitlements b/experimental/http_get_cache/example/macos/Runner/Release.entitlements new file mode 100644 index 0000000..7a2230d --- /dev/null +++ b/experimental/http_get_cache/example/macos/Runner/Release.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/experimental/http_get_cache/example/macos/RunnerTests/RunnerTests.swift b/experimental/http_get_cache/example/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/experimental/http_get_cache/example/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/experimental/http_get_cache/example/pubspec.yaml b/experimental/http_get_cache/example/pubspec.yaml new file mode 100644 index 0000000..5c85693 --- /dev/null +++ b/experimental/http_get_cache/example/pubspec.yaml @@ -0,0 +1,26 @@ +name: example +description: "A new Flutter project." +publish_to: 'none' +version: 0.1.0 + +environment: + sdk: '>=3.4.3 <4.0.0' + +dependencies: + http_get_cache: + path: .. + flutter: + sdk: flutter + drift: ^2.24.2 + drift_flutter: ^0.2.8 + signals: ^5.5.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^6.0.0 + drift_dev: ^2.24.2 + build_runner: ^2.4.11 + +flutter: + uses-material-design: true diff --git a/experimental/http_get_cache/example/web/drift_worker.js b/experimental/http_get_cache/example/web/drift_worker.js new file mode 100644 index 0000000..60cbff0 --- /dev/null +++ b/experimental/http_get_cache/example/web/drift_worker.js @@ -0,0 +1,29608 @@ +// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.3. +// The code supports the following hooks: +// dartPrint(message): +// if this function is defined it is called instead of the Dart [print] +// method. +// +// dartMainRunner(main, args): +// if this function is defined, the Dart [main] method will not be invoked +// directly. Instead, a closure that will invoke [main], and its arguments +// [args] is passed to [dartMainRunner]. +// +// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of `uri`, and call +// successCallback. If it fails to do so, it should call errorCallback with +// an error. The loadId argument is the deferred import that resulted in +// this uri being loaded. The loadPriority argument is the priority the +// library should be loaded with as specified in the code via the +// load-priority annotation (0: normal, 1: high). +// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of every URI in `uris`, +// and call successCallback. If it fails to do so, it should call +// errorCallback with an error. The loadId argument is the deferred import +// that resulted in this uri being loaded. The loadPriority argument is the +// priority the library should be loaded with as specified in the code via +// the load-priority annotation (0: normal, 1: high). +// +// dartCallInstrumentation(id, qualifiedName): +// if this function is defined, it will be called at each entry of a +// method or constructor. Used only when compiling programs with +// --experiment-call-instrumentation. +(function dartProgram() { + function copyProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + to[key] = from[key]; + } + } + function mixinPropertiesHard(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!to.hasOwnProperty(key)) { + to[key] = from[key]; + } + } + } + function mixinPropertiesEasy(from, to) { + Object.assign(to, from); + } + var supportsDirectProtoAccess = function() { + var cls = function() { + }; + cls.prototype = {p: {}}; + var object = new cls(); + if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) + return false; + try { + if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) + return true; + if (typeof version == "function" && version.length == 0) { + var v = version(); + if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) + return true; + } + } catch (_) { + } + return false; + }(); + function inherit(cls, sup) { + cls.prototype.constructor = cls; + cls.prototype["$is" + cls.name] = cls; + if (sup != null) { + if (supportsDirectProtoAccess) { + Object.setPrototypeOf(cls.prototype, sup.prototype); + return; + } + var clsPrototype = Object.create(sup.prototype); + copyProperties(cls.prototype, clsPrototype); + cls.prototype = clsPrototype; + } + } + function inheritMany(sup, classes) { + for (var i = 0; i < classes.length; i++) { + inherit(classes[i], sup); + } + } + function mixinEasy(cls, mixin) { + mixinPropertiesEasy(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function mixinHard(cls, mixin) { + mixinPropertiesHard(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function lazy(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + holder[name] = initializer(); + } + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function lazyFinal(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + var value = initializer(); + if (holder[name] !== uninitializedSentinel) { + A.throwLateFieldADI(name); + } + holder[name] = value; + } + var finalValue = holder[name]; + holder[getterName] = function() { + return finalValue; + }; + return finalValue; + }; + } + function makeConstList(list) { + list.immutable$list = Array; + list.fixed$length = Array; + return list; + } + function convertToFastObject(properties) { + function t() { + } + t.prototype = properties; + new t(); + return properties; + } + function convertAllToFastObject(arrayOfObjects) { + for (var i = 0; i < arrayOfObjects.length; ++i) { + convertToFastObject(arrayOfObjects[i]); + } + } + var functionCounter = 0; + function instanceTearOffGetter(isIntercepted, parameters) { + var cache = null; + return isIntercepted ? function(receiver) { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(receiver, this); + } : function() { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(this, null); + }; + } + function staticTearOffGetter(parameters) { + var cache = null; + return function() { + if (cache === null) + cache = A.closureFromTearOff(parameters).prototype; + return cache; + }; + } + var typesOffset = 0; + function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + if (typeof funType == "number") { + funType += typesOffset; + } + return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; + } + function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false); + var getterFunction = staticTearOffGetter(parameters); + holder[getterName] = getterFunction; + } + function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + isIntercepted = !!isIntercepted; + var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess); + var getterFunction = instanceTearOffGetter(isIntercepted, parameters); + prototype[getterName] = getterFunction; + } + function setOrUpdateInterceptorsByTag(newTags) { + var tags = init.interceptorsByTag; + if (!tags) { + init.interceptorsByTag = newTags; + return; + } + copyProperties(newTags, tags); + } + function setOrUpdateLeafTags(newTags) { + var tags = init.leafTags; + if (!tags) { + init.leafTags = newTags; + return; + } + copyProperties(newTags, tags); + } + function updateTypes(newTypes) { + var types = init.types; + var length = types.length; + types.push.apply(types, newTypes); + return length; + } + function updateHolder(holder, newHolder) { + copyProperties(newHolder, holder); + return holder; + } + var hunkHelpers = function() { + var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false); + }; + }, + mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }; + return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; + }(); + function initializeDeferredHunk(hunk) { + typesOffset = init.types.length; + hunk(hunkHelpers, init, holders, $); + } + var J = { + makeDispatchRecord(interceptor, proto, extension, indexability) { + return {i: interceptor, p: proto, e: extension, x: indexability}; + }, + getNativeInterceptor(object) { + var proto, objectProto, $constructor, interceptor, t1, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + A.initNativeDispatch(); + record = object[init.dispatchPropertyName]; + } + if (record != null) { + proto = record.p; + if (false === proto) + return record.i; + if (true === proto) + return object; + objectProto = Object.getPrototypeOf(object); + if (proto === objectProto) + return record.i; + if (record.e === objectProto) + throw A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record)))); + } + $constructor = object.constructor; + if ($constructor == null) + interceptor = null; + else { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + interceptor = $constructor[t1]; + } + if (interceptor != null) + return interceptor; + interceptor = A.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return B.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return B.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return B.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); + return B.UnknownJavaScriptObject_methods; + } + return B.UnknownJavaScriptObject_methods; + }, + JSArray_JSArray$fixed($length, $E) { + if ($length < 0 || $length > 4294967295) + throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null)); + return J.JSArray_JSArray$markFixed(new Array($length), $E); + }, + JSArray_JSArray$growable($length, $E) { + if ($length < 0) + throw A.wrapException(A.ArgumentError$("Length must be a non-negative integer: " + $length, null)); + return A._setArrayType(new Array($length), $E._eval$1("JSArray<0>")); + }, + JSArray_JSArray$allocateGrowable($length, $E) { + if ($length < 0) + throw A.wrapException(A.ArgumentError$("Length must be a non-negative integer: " + $length, null)); + return A._setArrayType(new Array($length), $E._eval$1("JSArray<0>")); + }, + JSArray_JSArray$markFixed(allocation, $E) { + return J.JSArray_markFixedList(A._setArrayType(allocation, $E._eval$1("JSArray<0>")), $E); + }, + JSArray_markFixedList(list, $T) { + list.fixed$length = Array; + return list; + }, + JSArray_markUnmodifiableList(list) { + list.fixed$length = Array; + list.immutable$list = Array; + return list; + }, + JSArray__compareAny(a, b) { + var t1 = type$.Comparable_dynamic; + return J.compareTo$1$ns(t1._as(a), t1._as(b)); + }, + JSString__isWhitespace(codeUnit) { + if (codeUnit < 256) + switch (codeUnit) { + case 9: + case 10: + case 11: + case 12: + case 13: + case 32: + case 133: + case 160: + return true; + default: + return false; + } + switch (codeUnit) { + case 5760: + case 8192: + case 8193: + case 8194: + case 8195: + case 8196: + case 8197: + case 8198: + case 8199: + case 8200: + case 8201: + case 8202: + case 8232: + case 8233: + case 8239: + case 8287: + case 12288: + case 65279: + return true; + default: + return false; + } + }, + JSString__skipLeadingWhitespace(string, index) { + var t1, codeUnit; + for (t1 = string.length; index < t1;) { + codeUnit = string.charCodeAt(index); + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) + break; + ++index; + } + return index; + }, + JSString__skipTrailingWhitespace(string, index) { + var t1, index0, codeUnit; + for (t1 = string.length; index > 0; index = index0) { + index0 = index - 1; + if (!(index0 < t1)) + return A.ioore(string, index0); + codeUnit = string.charCodeAt(index0); + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) + break; + } + return index; + }, + getInterceptor$(receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSNumNotInt.prototype; + } + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return J.JSNull.prototype; + if (typeof receiver == "boolean") + return J.JSBool.prototype; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax(receiver) { + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ns(receiver) { + if (typeof receiver == "number") + return J.JSNumber.prototype; + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + getInterceptor$s(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + get$first$ax(receiver) { + return J.getInterceptor$ax(receiver).get$first(receiver); + }, + get$hashCode$(receiver) { + return J.getInterceptor$(receiver).get$hashCode(receiver); + }, + get$isEmpty$asx(receiver) { + return J.getInterceptor$asx(receiver).get$isEmpty(receiver); + }, + get$iterator$ax(receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$last$ax(receiver) { + return J.getInterceptor$ax(receiver).get$last(receiver); + }, + get$length$asx(receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + get$runtimeType$(receiver) { + return J.getInterceptor$(receiver).get$runtimeType(receiver); + }, + $eq$(receiver, a0) { + if (receiver == null) + return a0 == null; + if (typeof receiver != "object") + return a0 != null && receiver === a0; + return J.getInterceptor$(receiver).$eq(receiver, a0); + }, + $index$asx(receiver, a0) { + if (typeof a0 === "number") + if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) + if (a0 >>> 0 === a0 && a0 < receiver.length) + return receiver[a0]; + return J.getInterceptor$asx(receiver).$index(receiver, a0); + }, + $indexSet$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); + }, + add$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).add$1(receiver, a0); + }, + allMatches$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).allMatches$1(receiver, a0); + }, + allMatches$2$s(receiver, a0, a1) { + return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1); + }, + cast$1$0$ax(receiver, $T1) { + return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); + }, + codeUnitAt$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0); + }, + compareTo$1$ns(receiver, a0) { + return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); + }, + contains$1$asx(receiver, a0) { + return J.getInterceptor$asx(receiver).contains$1(receiver, a0); + }, + elementAt$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); + }, + endsWith$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).endsWith$1(receiver, a0); + }, + getRange$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1); + }, + map$1$1$ax(receiver, a0, $T1) { + return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); + }, + matchAsPrefix$2$s(receiver, a0, a1) { + return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1); + }, + noSuchMethod$1$(receiver, a0) { + return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); + }, + setRange$4$ax(receiver, a0, a1, a2, a3) { + return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3); + }, + skip$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).skip$1(receiver, a0); + }, + startsWith$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).startsWith$1(receiver, a0); + }, + sublist$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1); + }, + take$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).take$1(receiver, a0); + }, + toList$0$ax(receiver) { + return J.getInterceptor$ax(receiver).toList$0(receiver); + }, + toString$0$(receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + LegacyJavaScriptObject: function LegacyJavaScriptObject() { + }, + PlainJavaScriptObject: function PlainJavaScriptObject() { + }, + UnknownJavaScriptObject: function UnknownJavaScriptObject() { + }, + JavaScriptFunction: function JavaScriptFunction() { + }, + JavaScriptBigInt: function JavaScriptBigInt() { + }, + JavaScriptSymbol: function JavaScriptSymbol() { + }, + JSArray: function JSArray(t0) { + this.$ti = t0; + }, + JSUnmodifiableArray: function JSUnmodifiableArray(t0) { + this.$ti = t0; + }, + ArrayIterator: function ArrayIterator(t0, t1, t2) { + var _ = this; + _._iterable = t0; + _._length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSNumNotInt: function JSNumNotInt() { + }, + JSString: function JSString() { + } + }, + A = {JS_CONST: function JS_CONST() { + }, + CastIterable_CastIterable(source, $S, $T) { + if ($S._eval$1("EfficientLengthIterable<0>")._is(source)) + return new A._EfficientLengthCastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("_EfficientLengthCastIterable<1,2>")); + return new A.CastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastIterable<1,2>")); + }, + LateError$fieldNI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has not been initialized."); + }, + hexDigitValue(char) { + var digit, letter; + A.assertHelper(char <= 65535); + digit = char ^ 48; + if (digit <= 9) + return digit; + letter = char | 32; + if (97 <= letter && letter <= 102) + return letter - 87; + return -1; + }, + SystemHash_combine(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + SystemHash_finish(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + checkNotNullable(value, $name, $T) { + return value; + }, + isToStringVisiting(object) { + var t1, i; + for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i) + if (object === $.toStringVisiting[i]) + return true; + return false; + }, + SubListIterable$(_iterable, _start, _endOrLength, $E) { + A.RangeError_checkNotNegative(_start, "start"); + if (_endOrLength != null) { + A.RangeError_checkNotNegative(_endOrLength, "end"); + if (_start > _endOrLength) + A.throwExpression(A.RangeError$range(_start, 0, _endOrLength, "start", null)); + } + return new A.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>")); + }, + MappedIterable_MappedIterable(iterable, $function, $S, $T) { + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); + }, + TakeIterable_TakeIterable(iterable, takeCount, $E) { + var _s9_ = "takeCount"; + A.ArgumentError_checkNotNull(takeCount, _s9_, type$.int); + A.RangeError_checkNotNegative(takeCount, _s9_); + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + return new A.EfficientLengthTakeIterable(iterable, takeCount, $E._eval$1("EfficientLengthTakeIterable<0>")); + return new A.TakeIterable(iterable, takeCount, $E._eval$1("TakeIterable<0>")); + }, + SkipIterable_SkipIterable(iterable, count, $E) { + var _s5_ = "count"; + if (type$.EfficientLengthIterable_dynamic._is(iterable)) { + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>")); + } + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>")); + }, + IterableElementError_noElement() { + return new A.StateError("No element"); + }, + IterableElementError_tooFew() { + return new A.StateError("Too few elements"); + }, + _CastIterableBase: function _CastIterableBase() { + }, + CastIterator: function CastIterator(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + CastIterable: function CastIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + _CastListBase: function _CastListBase() { + }, + CastList: function CastList(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + LateError: function LateError(t0) { + this._message = t0; + }, + CodeUnits: function CodeUnits(t0) { + this.__internal$_string = t0; + }, + nullFuture_closure: function nullFuture_closure() { + }, + SentinelValue: function SentinelValue() { + }, + EfficientLengthIterable: function EfficientLengthIterable() { + }, + ListIterable: function ListIterable() { + }, + SubListIterable: function SubListIterable(t0, t1, t2, t3) { + var _ = this; + _.__internal$_iterable = t0; + _._start = t1; + _._endOrLength = t2; + _.$ti = t3; + }, + ListIterator: function ListIterator(t0, t1, t2) { + var _ = this; + _.__internal$_iterable = t0; + _.__internal$_length = t1; + _.__internal$_index = 0; + _.__internal$_current = null; + _.$ti = t2; + }, + MappedIterable: function MappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + MappedIterator: function MappedIterator(t0, t1, t2) { + var _ = this; + _.__internal$_current = null; + _._iterator = t0; + _._f = t1; + _.$ti = t2; + }, + MappedListIterable: function MappedListIterable(t0, t1, t2) { + this._source = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterable: function WhereIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterator: function WhereIterator(t0, t1, t2) { + this._iterator = t0; + this._f = t1; + this.$ti = t2; + }, + ExpandIterable: function ExpandIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + ExpandIterator: function ExpandIterator(t0, t1, t2, t3) { + var _ = this; + _._iterator = t0; + _._f = t1; + _._currentExpansion = t2; + _.__internal$_current = null; + _.$ti = t3; + }, + TakeIterable: function TakeIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._takeCount = t1; + this.$ti = t2; + }, + EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._takeCount = t1; + this.$ti = t2; + }, + TakeIterator: function TakeIterator(t0, t1, t2) { + this._iterator = t0; + this._remaining = t1; + this.$ti = t2; + }, + SkipIterable: function SkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + SkipIterator: function SkipIterator(t0, t1, t2) { + this._iterator = t0; + this._skipCount = t1; + this.$ti = t2; + }, + SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + SkipWhileIterator: function SkipWhileIterator(t0, t1, t2) { + var _ = this; + _._iterator = t0; + _._f = t1; + _._hasSkipped = false; + _.$ti = t2; + }, + EmptyIterable: function EmptyIterable(t0) { + this.$ti = t0; + }, + EmptyIterator: function EmptyIterator(t0) { + this.$ti = t0; + }, + WhereTypeIterable: function WhereTypeIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + WhereTypeIterator: function WhereTypeIterator(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + FixedLengthListMixin: function FixedLengthListMixin() { + }, + UnmodifiableListMixin: function UnmodifiableListMixin() { + }, + UnmodifiableListBase: function UnmodifiableListBase() { + }, + ReversedListIterable: function ReversedListIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + Symbol: function Symbol(t0) { + this.__internal$_name = t0; + }, + __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { + }, + unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + isJsIndexable(object, record) { + var result; + if (record != null) { + result = record.x; + if (result != null) + return result; + } + return type$.JavaScriptIndexingBehavior_dynamic._is(object); + }, + S(value) { + var result; + if (typeof value == "string") + return value; + if (typeof value == "number") { + if (value !== 0) + return "" + value; + } else if (true === value) + return "true"; + else if (false === value) + return "false"; + else if (value == null) + return "null"; + result = J.toString$0$(value); + return result; + }, + Primitives_objectHashCode(object) { + var hash, + property = $.Primitives__identityHashCodeProperty; + if (property == null) + property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); + hash = object[property]; + if (hash == null) { + hash = Math.random() * 0x3fffffff | 0; + object[property] = hash; + } + return hash; + }, + Primitives_parseInt(source, radix) { + var decimalMatch, maxCharCode, digitsPart, t1, i, _null = null, + match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source); + if (match == null) + return _null; + if (3 >= match.length) + return A.ioore(match, 3); + decimalMatch = match[3]; + if (radix == null) { + if (decimalMatch != null) + return parseInt(source, 10); + if (match[2] != null) + return parseInt(source, 16); + return _null; + } + if (radix < 2 || radix > 36) + throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", _null)); + if (radix === 10 && decimalMatch != null) + return parseInt(source, 10); + if (radix < 10 || decimalMatch == null) { + maxCharCode = radix <= 10 ? 47 + radix : 86 + radix; + A.assertHelper(typeof match[1] == "string"); + digitsPart = match[1]; + for (t1 = digitsPart.length, i = 0; i < t1; ++i) + if ((digitsPart.charCodeAt(i) | 32) > maxCharCode) + return _null; + } + return parseInt(source, radix); + }, + Primitives_objectTypeName(object) { + return A.Primitives__objectTypeNameNewRti(object); + }, + Primitives__objectTypeNameNewRti(object) { + var interceptor, dispatchName, $constructor, constructorName; + if (object instanceof A.Object) + return A._rtiToString(A.instanceType(object), null); + interceptor = J.getInterceptor$(object); + if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = B.C_JS_CONST(object); + if (dispatchName !== "Object" && dispatchName !== "") + return dispatchName; + $constructor = object.constructor; + if (typeof $constructor == "function") { + constructorName = $constructor.name; + if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") + return constructorName; + } + } + return A._rtiToString(A.instanceType(object), null); + }, + Primitives_safeToString(object) { + if (object == null || typeof object == "number" || A._isBool(object)) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + if (object instanceof A.Closure) + return object.toString$0(0); + if (object instanceof A._Record) + return object._toString$1(true); + return "Instance of '" + A.Primitives_objectTypeName(object) + "'"; + }, + Primitives_currentUri() { + if (!!self.location) + return self.location.href; + return null; + }, + Primitives__fromCharCodeApply(array) { + var result, i, i0, chunkEnd, + end = array.length; + if (end <= 500) + return String.fromCharCode.apply(null, array); + for (result = "", i = 0; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, array.slice(i, chunkEnd)); + } + return result; + }, + Primitives_stringFromCodePoints(codePoints) { + var t1, _i, i, + a = A._setArrayType([], type$.JSArray_int); + for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, A.throwConcurrentModificationError)(codePoints), ++_i) { + i = codePoints[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i <= 65535) + B.JSArray_methods.add$1(a, i); + else if (i <= 1114111) { + B.JSArray_methods.add$1(a, 55296 + (B.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023)); + B.JSArray_methods.add$1(a, 56320 + (i & 1023)); + } else + throw A.wrapException(A.argumentErrorValue(i)); + } + return A.Primitives__fromCharCodeApply(a); + }, + Primitives_stringFromCharCodes(charCodes) { + var t1, _i, i; + for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) { + i = charCodes[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i < 0) + throw A.wrapException(A.argumentErrorValue(i)); + if (i > 65535) + return A.Primitives_stringFromCodePoints(charCodes); + } + return A.Primitives__fromCharCodeApply(charCodes); + }, + Primitives_stringFromNativeUint8List(charCodes, start, end) { + var i, result, i0, chunkEnd; + if (end <= 500 && start === 0 && end === charCodes.length) + return String.fromCharCode.apply(null, charCodes); + for (i = start, result = ""; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); + } + return result; + }, + Primitives_stringFromCharCode(charCode) { + var bits; + if (0 <= charCode) { + if (charCode <= 65535) + return String.fromCharCode(charCode); + if (charCode <= 1114111) { + bits = charCode - 65536; + return String.fromCharCode((B.JSInt_methods._shrOtherPositive$1(bits, 10) | 55296) >>> 0, bits & 1023 | 56320); + } + } + throw A.wrapException(A.RangeError$range(charCode, 0, 1114111, null, null)); + }, + Primitives_lazyAsJsDate(receiver) { + if (receiver.date === void 0) + receiver.date = new Date(receiver._core$_value); + return receiver.date; + }, + Primitives_getYear(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; + }, + Primitives_getMonth(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : A.Primitives_lazyAsJsDate(receiver).getMonth() + 1; + }, + Primitives_getDay(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : A.Primitives_lazyAsJsDate(receiver).getDate() + 0; + }, + Primitives_getHours(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : A.Primitives_lazyAsJsDate(receiver).getHours() + 0; + }, + Primitives_getMinutes(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; + }, + Primitives_getSeconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; + }, + Primitives_getMilliseconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; + }, + Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) { + var $arguments, namedArgumentList, t1 = {}; + t1.argumentCount = 0; + $arguments = []; + namedArgumentList = []; + t1.argumentCount = positionalArguments.length; + B.JSArray_methods.addAll$1($arguments, positionalArguments); + t1.names = ""; + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); + return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0)); + }, + Primitives_applyFunction($function, positionalArguments, namedArguments) { + var t1, argumentCount, jsStub; + if (Array.isArray(positionalArguments)) + t1 = namedArguments == null || namedArguments.__js_helper$_length === 0; + else + t1 = false; + if (t1) { + argumentCount = positionalArguments.length; + if (argumentCount === 0) { + if (!!$function.call$0) + return $function.call$0(); + } else if (argumentCount === 1) { + if (!!$function.call$1) + return $function.call$1(positionalArguments[0]); + } else if (argumentCount === 2) { + if (!!$function.call$2) + return $function.call$2(positionalArguments[0], positionalArguments[1]); + } else if (argumentCount === 3) { + if (!!$function.call$3) + return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]); + } else if (argumentCount === 4) { + if (!!$function.call$4) + return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]); + } else if (argumentCount === 5) + if (!!$function.call$5) + return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]); + jsStub = $function["call" + "$" + argumentCount]; + if (jsStub != null) + return jsStub.apply($function, positionalArguments); + } + return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments); + }, + Primitives__generalApplyFunction($function, positionalArguments, namedArguments) { + var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key, + $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic), + argumentCount = $arguments.length, + requiredParameterCount = $function.$requiredArgCount; + if (argumentCount < requiredParameterCount) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + defaultValuesClosure = $function.$defaultValues; + t1 = defaultValuesClosure == null; + defaultValues = !t1 ? defaultValuesClosure() : null; + interceptor = J.getInterceptor$($function); + jsFunction = interceptor["call*"]; + if (typeof jsFunction == "string") + jsFunction = interceptor[jsFunction]; + if (t1) { + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if (argumentCount === requiredParameterCount) + return jsFunction.apply($function, $arguments); + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + if (Array.isArray(defaultValues)) { + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + maxArguments = requiredParameterCount + defaultValues.length; + if (argumentCount > maxArguments) + return A.Primitives_functionNoSuchMethod($function, $arguments, null); + if (argumentCount < maxArguments) { + missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount); + if ($arguments === positionalArguments) + $arguments = A.List_List$of($arguments, true, type$.dynamic); + B.JSArray_methods.addAll$1($arguments, missingDefaults); + } + return jsFunction.apply($function, $arguments); + } else { + if (argumentCount > requiredParameterCount) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if ($arguments === positionalArguments) + $arguments = A.List_List$of($arguments, true, type$.dynamic); + keys = Object.keys(defaultValues); + if (namedArguments == null) + for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + defaultValue = defaultValues[A._asString(keys[_i])]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + else { + for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + key = A._asString(keys[_i]); + if (namedArguments.containsKey$1(key)) { + ++used; + B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); + } else { + defaultValue = defaultValues[key]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + } + if (used !== namedArguments.__js_helper$_length) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + return jsFunction.apply($function, $arguments); + } + }, + Primitives_extractStackTrace(error) { + var jsError = error.$thrownJsError; + if (jsError == null) + return null; + return A.getTraceFromException(jsError); + }, + iae(argument) { + throw A.wrapException(A.argumentErrorValue(argument)); + }, + ioore(receiver, index) { + if (receiver == null) + J.get$length$asx(receiver); + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + }, + diagnoseIndexError(indexable, index) { + var $length, _s5_ = "index"; + if (!A._isInt(index)) + return new A.ArgumentError(true, index, _s5_, null); + $length = A._asInt(J.get$length$asx(indexable)); + if (index < 0 || index >= $length) + return A.IndexError$withLength(index, $length, indexable, null, _s5_); + return A.RangeError$value(index, _s5_); + }, + diagnoseRangeError(start, end, $length) { + if (start > $length) + return A.RangeError$range(start, 0, $length, "start", null); + if (end != null) + if (end < start || end > $length) + return A.RangeError$range(end, start, $length, "end", null); + return new A.ArgumentError(true, end, "end", null); + }, + argumentErrorValue(object) { + return new A.ArgumentError(true, object, null, null); + }, + wrapException(ex) { + return A.initializeExceptionWrapper(new Error(), ex); + }, + initializeExceptionWrapper(wrapper, ex) { + var t1; + if (ex == null) + ex = new A.TypeError(); + wrapper.dartException = ex; + t1 = A.toStringWrapper; + if ("defineProperty" in Object) { + Object.defineProperty(wrapper, "message", {get: t1}); + wrapper.name = ""; + } else + wrapper.toString = t1; + return wrapper; + }, + toStringWrapper() { + return J.toString$0$(this.dartException); + }, + throwExpression(ex) { + throw A.wrapException(ex); + }, + throwExpressionWithWrapper(ex, wrapper) { + throw A.initializeExceptionWrapper(wrapper, ex); + }, + throwConcurrentModificationError(collection) { + throw A.wrapException(A.ConcurrentModificationError$(collection)); + }, + TypeErrorDecoder_extractPattern(message) { + var match, $arguments, argumentsExpr, expr, method, receiver; + message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + match = message.match(/\\\$[a-zA-Z]+\\\$/g); + if (match == null) + match = A._setArrayType([], type$.JSArray_String); + $arguments = match.indexOf("\\$arguments\\$"); + argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); + expr = match.indexOf("\\$expr\\$"); + method = match.indexOf("\\$method\\$"); + receiver = match.indexOf("\\$receiver\\$"); + return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); + }, + TypeErrorDecoder_provokeCallErrorOn(expression) { + return function($expr$) { + var $argumentsExpr$ = "$arguments$"; + try { + $expr$.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }(expression); + }, + TypeErrorDecoder_provokePropertyErrorOn(expression) { + return function($expr$) { + try { + $expr$.$method$; + } catch (e) { + return e.message; + } + }(expression); + }, + JsNoSuchMethodError$(_message, match) { + var t1 = match == null, + t2 = t1 ? null : match.method; + return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + }, + unwrapException(ex) { + var t1; + if (ex == null) + return new A.NullThrownFromJavaScriptException(ex); + if (ex instanceof A.ExceptionAndStackTrace) { + t1 = ex.dartException; + return A.saveStackTrace(ex, t1 == null ? type$.Object._as(t1) : t1); + } + if (typeof ex !== "object") + return ex; + if ("dartException" in ex) + return A.saveStackTrace(ex, ex.dartException); + return A._unwrapNonDartException(ex); + }, + saveStackTrace(ex, error) { + if (type$.Error._is(error)) + if (error.$thrownJsError == null) + error.$thrownJsError = ex; + return error; + }, + _unwrapNonDartException(ex) { + var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match; + if (!("message" in ex)) + return ex; + message = ex.message; + if ("number" in ex && typeof ex.number == "number") { + number = ex.number; + ieErrorCode = number & 65535; + if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) + switch (ieErrorCode) { + case 438: + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", null)); + case 445: + case 5007: + A.S(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + if (ex instanceof TypeError) { + nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); + notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); + nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); + nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); + undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); + undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); + nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); + $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); + undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); + undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); + match = nsme.matchTypeError$1(message); + if (match != null) + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + else { + match = notClosure.matchTypeError$1(message); + if (match != null) { + match.method = "call"; + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + } else if (nullCall.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefCall.matchTypeError$1(message) != null || undefLiteralCall.matchTypeError$1(message) != null || nullProperty.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefProperty.matchTypeError$1(message) != null || undefLiteralProperty.matchTypeError$1(message) != null) { + A._asString(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); + } + if (ex instanceof RangeError) { + if (typeof message == "string" && message.indexOf("call stack") !== -1) + return new A.StackOverflowError(); + message = function(ex) { + try { + return String(ex); + } catch (e) { + } + return null; + }(ex); + return A.saveStackTrace(ex, new A.ArgumentError(false, null, null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + } + if (typeof InternalError == "function" && ex instanceof InternalError) + if (typeof message == "string" && message === "too much recursion") + return new A.StackOverflowError(); + return ex; + }, + getTraceFromException(exception) { + var trace; + if (exception instanceof A.ExceptionAndStackTrace) + return exception.stackTrace; + if (exception == null) + return new A._StackTrace(exception); + trace = exception.$cachedTrace; + if (trace != null) + return trace; + trace = new A._StackTrace(exception); + if (typeof exception === "object") + exception.$cachedTrace = trace; + return trace; + }, + objectHashCode(object) { + if (object == null) + return J.get$hashCode$(object); + if (typeof object == "object") + return A.Primitives_objectHashCode(object); + return J.get$hashCode$(object); + }, + fillLiteralMap(keyValuePairs, result) { + var index, index0, index1, + $length = keyValuePairs.length; + for (index = 0; index < $length; index = index1) { + index0 = index + 1; + index1 = index0 + 1; + result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); + } + return result; + }, + _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + type$.Function._as(closure); + switch (A._asInt(numberOfArguments)) { + case 0: + return closure.call$0(); + case 1: + return closure.call$1(arg1); + case 2: + return closure.call$2(arg1, arg2); + case 3: + return closure.call$3(arg1, arg2, arg3); + case 4: + return closure.call$4(arg1, arg2, arg3, arg4); + } + throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure")); + }, + convertDartClosureToJS(closure, arity) { + var $function; + if (closure == null) + return null; + $function = closure.$identity; + if (!!$function) + return $function; + $function = A.convertDartClosureToJSUncached(closure, arity); + closure.$identity = $function; + return $function; + }, + convertDartClosureToJSUncached(closure, arity) { + var entry; + switch (arity) { + case 0: + entry = closure.call$0; + break; + case 1: + entry = closure.call$1; + break; + case 2: + entry = closure.call$2; + break; + case 3: + entry = closure.call$3; + break; + case 4: + entry = closure.call$4; + break; + default: + entry = null; + } + if (entry != null) + return entry.bind(closure); + return function(closure, arity, invoke) { + return function(a1, a2, a3, a4) { + return invoke(closure, arity, a1, a2, a3, a4); + }; + }(closure, arity, A._invokeClosure); + }, + Closure_fromTearOff(parameters) { + var $name, callName, $function, t1, $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName, + container = parameters.co, + isStatic = parameters.iS, + isIntercepted = parameters.iI, + needsDirectAccess = parameters.nDA, + applyTrampolineIndex = parameters.aI, + funsOrNames = parameters.fs, + callNames = parameters.cs; + A.assertHelper(typeof funsOrNames[0] == "string"); + $name = funsOrNames[0]; + callName = callNames[0]; + $function = container[$name]; + t1 = parameters.fT; + t1.toString; + $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype); + $prototype.$initialize = $prototype.constructor; + $constructor = isStatic ? function static_tear_off() { + this.$initialize(); + } : function tear_off(a, b) { + this.$initialize(a, b); + }; + $prototype.constructor = $constructor; + $constructor.prototype = $prototype; + $prototype.$_name = $name; + $prototype.$_target = $function; + t2 = !isStatic; + if (t2) + trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess); + else { + $prototype.$static_name = $name; + trampoline = $function; + } + $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted); + $prototype[callName] = trampoline; + for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { + stub = funsOrNames[i]; + if (typeof stub == "string") { + stub0 = container[stub]; + stubName = stub; + stub = stub0; + } else + stubName = ""; + stubCallName = callNames[i]; + if (stubCallName != null) { + if (t2) + stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); + $prototype[stubCallName] = stub; + } + if (i === applyTrampolineIndex) + applyTrampoline = stub; + } + $prototype["call*"] = applyTrampoline; + $prototype.$requiredArgCount = parameters.rC; + $prototype.$defaultValues = parameters.dV; + return $constructor; + }, + Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) { + if (typeof functionType == "number") + return functionType; + if (typeof functionType == "string") { + if (isStatic) + throw A.wrapException("Cannot compute signature for static tearoff."); + return function(recipe, evalOnReceiver) { + return function() { + return evalOnReceiver(this, recipe); + }; + }(functionType, A.BoundClosure_evalRecipe); + } + throw A.wrapException("Error in functionType of tearoff"); + }, + Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + return function(entry, receiverOf) { + return function() { + return receiverOf(this)[entry](); + }; + }(stubName, getReceiver); + case 1: + return function(entry, receiverOf) { + return function(a) { + return receiverOf(this)[entry](a); + }; + }(stubName, getReceiver); + case 2: + return function(entry, receiverOf) { + return function(a, b) { + return receiverOf(this)[entry](a, b); + }; + }(stubName, getReceiver); + case 3: + return function(entry, receiverOf) { + return function(a, b, c) { + return receiverOf(this)[entry](a, b, c); + }; + }(stubName, getReceiver); + case 4: + return function(entry, receiverOf) { + return function(a, b, c, d) { + return receiverOf(this)[entry](a, b, c, d); + }; + }(stubName, getReceiver); + case 5: + return function(entry, receiverOf) { + return function(a, b, c, d, e) { + return receiverOf(this)[entry](a, b, c, d, e); + }; + }(stubName, getReceiver); + default: + return function(f, receiverOf) { + return function() { + return f.apply(receiverOf(this), arguments); + }; + }($function, getReceiver); + } + }, + Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { + if (isIntercepted) + return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); + return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function); + }, + Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf, + getInterceptor = A.BoundClosure_interceptorOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); + case 1: + return function(entry, interceptorOf, receiverOf) { + return function() { + return interceptorOf(this)[entry](receiverOf(this)); + }; + }(stubName, getInterceptor, getReceiver); + case 2: + return function(entry, interceptorOf, receiverOf) { + return function(a) { + return interceptorOf(this)[entry](receiverOf(this), a); + }; + }(stubName, getInterceptor, getReceiver); + case 3: + return function(entry, interceptorOf, receiverOf) { + return function(a, b) { + return interceptorOf(this)[entry](receiverOf(this), a, b); + }; + }(stubName, getInterceptor, getReceiver); + case 4: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c); + }; + }(stubName, getInterceptor, getReceiver); + case 5: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); + }; + }(stubName, getInterceptor, getReceiver); + case 6: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d, e) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); + }; + }(stubName, getInterceptor, getReceiver); + default: + return function(f, interceptorOf, receiverOf) { + return function() { + var a = [receiverOf(this)]; + Array.prototype.push.apply(a, arguments); + return f.apply(interceptorOf(this), a); + }; + }($function, getInterceptor, getReceiver); + } + }, + Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { + var arity, t1; + if ($.BoundClosure__interceptorFieldNameCache == null) + $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); + if ($.BoundClosure__receiverFieldNameCache == null) + $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); + arity = $function.length; + t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); + return t1; + }, + closureFromTearOff(parameters) { + return A.Closure_fromTearOff(parameters); + }, + BoundClosure_evalRecipe(closure, recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); + }, + BoundClosure_receiverOf(closure) { + return closure._receiver; + }, + BoundClosure_interceptorOf(closure) { + return closure._interceptor; + }, + BoundClosure__computeFieldNamed(fieldName) { + var t1, i, $name, + template = new A.BoundClosure("receiver", "interceptor"), + names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object); + for (t1 = names.length, i = 0; i < t1; ++i) { + $name = names[i]; + if (template[$name] === fieldName) + return $name; + } + throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); + }, + boolConversionCheck(value) { + if (value == null) + A.assertThrow("boolean expression must not be null"); + return value; + }, + assertTest(condition) { + if (true === condition) + return false; + if (false === condition) + return true; + A._asBool(condition); + return !condition; + }, + assertThrow(message) { + throw A.wrapException(new A._AssertionError(message)); + }, + assertHelper(condition) { + if (A.assertTest(condition)) + throw A.wrapException(A.AssertionError$(null)); + }, + throwCyclicInit(staticName) { + throw A.wrapException(new A._CyclicInitializationError(staticName)); + }, + getIsolateAffinityTag($name) { + return init.getIsolateTag($name); + }, + assertInteropArgs(args) { + if (A.assertTest(B.JSArray_methods.every$1(args, new A.assertInteropArgs_closure()))) + A.assertThrow(string$.Dart_f); + }, + wrapZoneUnaryCallback(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + defineProperty(obj, property, value) { + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); + }, + lookupAndCacheInterceptor(obj) { + var tag, record, interceptor, interceptorClass, altTag, mark, t1; + A.assertHelper(!(obj instanceof A.Object)); + tag = A._asString($.getTagFunction.call$1(obj)); + record = $.dispatchRecordsForInstanceTags[tag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[tag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[tag]; + if (interceptorClass == null) { + altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); + if (altTag != null) { + record = $.dispatchRecordsForInstanceTags[altTag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[altTag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[altTag]; + tag = altTag; + } + } + if (interceptorClass == null) + return null; + interceptor = interceptorClass.prototype; + mark = tag[0]; + if (mark === "!") { + record = A.makeLeafDispatchRecord(interceptor); + $.dispatchRecordsForInstanceTags[tag] = record; + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + if (mark === "~") { + $.interceptorsForUncacheableTags[tag] = interceptor; + return interceptor; + } + if (mark === "-") { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } + if (mark === "+") + return A.patchInteriorProto(obj, interceptor); + if (mark === "*") + throw A.wrapException(A.UnimplementedError$(tag)); + if (init.leafTags[tag] === true) { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } else + return A.patchInteriorProto(obj, interceptor); + }, + patchInteriorProto(obj, interceptor) { + var proto = Object.getPrototypeOf(obj); + Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); + return interceptor; + }, + makeLeafDispatchRecord(interceptor) { + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); + }, + makeDefaultDispatchRecord(tag, interceptorClass, proto) { + var interceptor = interceptorClass.prototype; + if (init.leafTags[tag] === true) + return A.makeLeafDispatchRecord(interceptor); + else + return J.makeDispatchRecord(interceptor, proto, null, null); + }, + initNativeDispatch() { + if (true === $.initNativeDispatchFlag) + return; + $.initNativeDispatchFlag = true; + A.initNativeDispatchContinue(); + }, + initNativeDispatchContinue() { + var map, tags, fun, i, tag, proto, record, interceptorClass; + $.dispatchRecordsForInstanceTags = Object.create(null); + $.interceptorsForUncacheableTags = Object.create(null); + A.initHooks(); + map = init.interceptorsByTag; + tags = Object.getOwnPropertyNames(map); + if (typeof window != "undefined") { + window; + fun = function() { + }; + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + proto = $.prototypeForTagFunction.call$1(tag); + if (proto != null) { + record = A.makeDefaultDispatchRecord(tag, map[tag], proto); + if (record != null) { + Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + fun.prototype = proto; + } + } + } + } + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + if (/^[A-Za-z_]/.test(tag)) { + interceptorClass = map[tag]; + map["!" + tag] = interceptorClass; + map["~" + tag] = interceptorClass; + map["-" + tag] = interceptorClass; + map["+" + tag] = interceptorClass; + map["*" + tag] = interceptorClass; + } + } + }, + initHooks() { + var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, + hooks = B.C_JS_CONST0(); + hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks))))))); + if (typeof dartNativeDispatchHooksTransformer != "undefined") { + transformers = dartNativeDispatchHooksTransformer; + if (typeof transformers == "function") + transformers = [transformers]; + if (Array.isArray(transformers)) + for (i = 0; i < transformers.length; ++i) { + transformer = transformers[i]; + if (typeof transformer == "function") + hooks = transformer(hooks) || hooks; + } + } + getTag = hooks.getTag; + getUnknownTag = hooks.getUnknownTag; + prototypeForTag = hooks.prototypeForTag; + $.getTagFunction = new A.initHooks_closure(getTag); + $.alternateTagFunction = new A.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag); + }, + applyHooksTransformer(transformer, hooks) { + return transformer(hooks) || hooks; + }, + createRecordTypePredicate(shape, fieldRtis) { + var argumentCount, + $length = fieldRtis.length, + $function = init.rttc["" + $length + ";" + shape]; + if ($function == null) + return null; + if ($length === 0) + return $function; + argumentCount = $function.length; + if ($length === argumentCount) + return $function.apply(null, fieldRtis); + A.assertHelper(argumentCount === 1); + return $function(fieldRtis); + }, + JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) { + var m = multiLine ? "m" : "", + i = caseSensitive ? "" : "i", + u = unicode ? "u" : "", + s = dotAll ? "s" : "", + g = global ? "g" : "", + regexp = function(source, modifiers) { + try { + return new RegExp(source, modifiers); + } catch (e) { + return e; + } + }(source, m + i + u + s + g); + if (regexp instanceof RegExp) + return regexp; + throw A.wrapException(A.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null)); + }, + _MatchImplementation$(pattern, _match) { + A.assertHelper(typeof _match.input == "string"); + A.assertHelper(A._isInt(_match.index)); + return new A._MatchImplementation(_match); + }, + stringContainsUnchecked(receiver, other, startIndex) { + var t1; + if (typeof other == "string") + return receiver.indexOf(other, startIndex) >= 0; + else if (other instanceof A.JSSyntaxRegExp) { + t1 = B.JSString_methods.substring$1(receiver, startIndex); + return other._nativeRegExp.test(t1); + } else + return !J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)).get$isEmpty(0); + }, + escapeReplacement(replacement) { + if (replacement.indexOf("$", 0) >= 0) + return replacement.replace(/\$/g, "$$$$"); + return replacement; + }, + stringReplaceFirstRE(receiver, regexp, replacement, startIndex) { + var match = regexp._execGlobal$2(receiver, startIndex); + if (match == null) + return receiver; + return A.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(), replacement); + }, + quoteStringForRegExp(string) { + if (/[[\]{}()*+?.\\^$|]/.test(string)) + return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); + return string; + }, + stringReplaceAllUnchecked(receiver, pattern, replacement) { + var nativeRegexp; + if (typeof pattern == "string") + return A.stringReplaceAllUncheckedString(receiver, pattern, replacement); + if (pattern instanceof A.JSSyntaxRegExp) { + nativeRegexp = pattern.get$_nativeGlobalVersion(); + nativeRegexp.lastIndex = 0; + return receiver.replace(nativeRegexp, A.escapeReplacement(replacement)); + } + return A.stringReplaceAllGeneral(receiver, pattern, replacement); + }, + stringReplaceAllGeneral(receiver, pattern, replacement) { + var t1, startIndex, t2, match; + for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), startIndex = 0, t2 = ""; t1.moveNext$0();) { + match = t1.get$current(); + t2 = t2 + receiver.substring(startIndex, match.get$start()) + replacement; + startIndex = match.get$end(); + } + t1 = t2 + receiver.substring(startIndex); + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + stringReplaceAllUncheckedString(receiver, pattern, replacement) { + var $length, t1, i; + if (pattern === "") { + if (receiver === "") + return replacement; + $length = receiver.length; + t1 = "" + replacement; + for (i = 0; i < $length; ++i) + t1 = t1 + receiver[i] + replacement; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + if (receiver.indexOf(pattern, 0) < 0) + return receiver; + if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0) + return receiver.split(pattern).join(replacement); + return receiver.replace(new RegExp(A.quoteStringForRegExp(pattern), "g"), A.escapeReplacement(replacement)); + }, + stringReplaceFirstUnchecked(receiver, pattern, replacement, startIndex) { + var index, t1, matches, match; + if (typeof pattern == "string") { + index = receiver.indexOf(pattern, startIndex); + if (index < 0) + return receiver; + return A.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement); + } + if (pattern instanceof A.JSSyntaxRegExp) + return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, A.escapeReplacement(replacement)) : A.stringReplaceFirstRE(receiver, pattern, replacement, startIndex); + t1 = J.allMatches$2$s(pattern, receiver, startIndex); + matches = t1.get$iterator(t1); + if (!matches.moveNext$0()) + return receiver; + match = matches.get$current(); + return B.JSString_methods.replaceRange$3(receiver, match.get$start(), match.get$end(), replacement); + }, + stringReplaceRangeUnchecked(receiver, start, end, replacement) { + return receiver.substring(0, start) + replacement + receiver.substring(end); + }, + _Record_2: function _Record_2(t0, t1) { + this._0 = t0; + this._1 = t1; + }, + _Record_2_file_outFlags: function _Record_2_file_outFlags(t0, t1) { + this._0 = t0; + this._1 = t1; + }, + ConstantMapView: function ConstantMapView(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + ConstantMap: function ConstantMap() { + }, + ConstantStringMap: function ConstantStringMap(t0, t1, t2) { + this._jsIndex = t0; + this._values = t1; + this.$ti = t2; + }, + _KeysOrValues: function _KeysOrValues(t0, t1) { + this._elements = t0; + this.$ti = t1; + }, + _KeysOrValuesOrElementsIterator: function _KeysOrValuesOrElementsIterator(t0, t1, t2) { + var _ = this; + _._elements = t0; + _.__js_helper$_length = t1; + _.__js_helper$_index = 0; + _.__js_helper$_current = null; + _.$ti = t2; + }, + Instantiation: function Instantiation() { + }, + Instantiation1: function Instantiation1(t0, t1) { + this._genericClosure = t0; + this.$ti = t1; + }, + JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { + var _ = this; + _._memberName = t0; + _.__js_helper$_kind = t1; + _._arguments = t2; + _._namedArgumentNames = t3; + _._typeArgumentCount = t4; + }, + Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { + this._box_0 = t0; + this.namedArgumentList = t1; + this.$arguments = t2; + }, + TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._pattern = t0; + _._arguments = t1; + _._argumentsExpr = t2; + _._expr = t3; + _._method = t4; + _._receiver = t5; + }, + NullError: function NullError() { + }, + JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { + this.__js_helper$_message = t0; + this._method = t1; + this._receiver = t2; + }, + UnknownJsTypeError: function UnknownJsTypeError(t0) { + this.__js_helper$_message = t0; + }, + NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { + this._irritant = t0; + }, + ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { + this.dartException = t0; + this.stackTrace = t1; + }, + _StackTrace: function _StackTrace(t0) { + this._exception = t0; + this._trace = null; + }, + Closure: function Closure() { + }, + Closure0Args: function Closure0Args() { + }, + Closure2Args: function Closure2Args() { + }, + TearOffClosure: function TearOffClosure() { + }, + StaticClosure: function StaticClosure() { + }, + BoundClosure: function BoundClosure(t0, t1) { + this._receiver = t0; + this._interceptor = t1; + }, + _CyclicInitializationError: function _CyclicInitializationError(t0) { + this.variableName = t0; + }, + RuntimeError: function RuntimeError(t0) { + this.message = t0; + }, + _AssertionError: function _AssertionError(t0) { + this.message = t0; + }, + _Required: function _Required() { + }, + assertInteropArgs_closure: function assertInteropArgs_closure() { + }, + JsLinkedHashMap: function JsLinkedHashMap(t0) { + var _ = this; + _.__js_helper$_length = 0; + _.__js_helper$_last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t0; + }, + JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) { + this.$this = t0; + }, + JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) { + this.$this = t0; + }, + LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { + var _ = this; + _.hashMapCellKey = t0; + _.hashMapCellValue = t1; + _._previous = _._next = null; + }, + LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) { + this._map = t0; + this.$ti = t1; + }, + LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._map = t0; + _._modifications = t1; + _.__js_helper$_current = _._cell = null; + _.$ti = t2; + }, + initHooks_closure: function initHooks_closure(t0) { + this.getTag = t0; + }, + initHooks_closure0: function initHooks_closure0(t0) { + this.getUnknownTag = t0; + }, + initHooks_closure1: function initHooks_closure1(t0) { + this.prototypeForTag = t0; + }, + _Record: function _Record() { + }, + _Record2: function _Record2() { + }, + JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { + var _ = this; + _.pattern = t0; + _._nativeRegExp = t1; + _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; + }, + _MatchImplementation: function _MatchImplementation(t0) { + this._match = t0; + }, + _AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) { + this._re = t0; + this._string = t1; + this.__js_helper$_start = t2; + }, + _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) { + var _ = this; + _._regExp = t0; + _._string = t1; + _._nextIndex = t2; + _.__js_helper$_current = null; + }, + StringMatch: function StringMatch(t0, t1) { + this.start = t0; + this.pattern = t1; + }, + _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) { + this._input = t0; + this._pattern = t1; + this.__js_helper$_index = t2; + }, + _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) { + var _ = this; + _._input = t0; + _._pattern = t1; + _.__js_helper$_index = t2; + _.__js_helper$_current = null; + }, + throwLateFieldNI(fieldName) { + A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has not been initialized."), new Error()); + }, + throwLateFieldAI(fieldName) { + A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has already been initialized."), new Error()); + }, + throwLateFieldADI(fieldName) { + A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error()); + }, + _Cell$named(_name) { + var t1 = new A._Cell(_name); + return t1._value = t1; + }, + _Cell: function _Cell(t0) { + this._name = t0; + this._value = null; + }, + _checkLength($length) { + return $length; + }, + _checkViewArguments(buffer, offsetInBytes, $length) { + }, + _ensureNativeList(list) { + var t1, result, i; + if (type$.JSIndexable_dynamic._is(list)) + return list; + t1 = J.getInterceptor$asx(list); + result = A.List_List$filled(t1.get$length(list), null, false, type$.dynamic); + for (i = 0; i < t1.get$length(list); ++i) + B.JSArray_methods.$indexSet(result, i, t1.$index(list, i)); + return result; + }, + NativeByteData_NativeByteData$view(buffer, offsetInBytes, $length) { + var t1; + A._checkViewArguments(buffer, offsetInBytes, $length); + t1 = new DataView(buffer, offsetInBytes); + return t1; + }, + NativeInt32List_NativeInt32List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4); + return new Int32Array(buffer, offsetInBytes, $length); + }, + NativeInt8List__create1(arg) { + return new Int8Array(arg); + }, + NativeUint8List_NativeUint8List($length) { + return new Uint8Array($length); + }, + NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); + }, + _checkValidIndex(index, list, $length) { + if (index >>> 0 !== index || index >= $length) + throw A.wrapException(A.diagnoseIndexError(list, index)); + }, + _checkValidRange(start, end, $length) { + var t1; + if (!(start >>> 0 !== start)) + t1 = end >>> 0 !== end || start > end || end > $length; + else + t1 = true; + if (t1) + throw A.wrapException(A.diagnoseRangeError(start, end, $length)); + return end; + }, + NativeByteBuffer: function NativeByteBuffer() { + }, + NativeTypedData: function NativeTypedData() { + }, + NativeByteData: function NativeByteData() { + }, + NativeTypedArray: function NativeTypedArray() { + }, + NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { + }, + NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { + }, + NativeFloat32List: function NativeFloat32List() { + }, + NativeFloat64List: function NativeFloat64List() { + }, + NativeInt16List: function NativeInt16List() { + }, + NativeInt32List: function NativeInt32List() { + }, + NativeInt8List: function NativeInt8List() { + }, + NativeUint16List: function NativeUint16List() { + }, + NativeUint32List: function NativeUint32List() { + }, + NativeUint8ClampedList: function NativeUint8ClampedList() { + }, + NativeUint8List: function NativeUint8List() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + Rti__getQuestionFromStar(universe, rti) { + var question; + A.assertHelper(rti._kind === 6); + question = rti._precomputed1; + if (question == null) { + A.assertHelper(rti._kind === 6); + question = rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true); + } + return question; + }, + Rti__getFutureFromFutureOr(universe, rti) { + var future; + A.assertHelper(rti._kind === 8); + future = rti._precomputed1; + if (future == null) { + A.assertHelper(rti._kind === 8); + future = rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]); + } + return future; + }, + Rti__isUnionOfFunctionType(rti) { + var kind = rti._kind; + if (kind === 6 || kind === 7 || kind === 8) + return A.Rti__isUnionOfFunctionType(rti._primary); + return kind === 12 || kind === 13; + }, + Rti__getInterfaceTypeArguments(rti) { + A.assertHelper(rti._kind === 9); + return rti._rest; + }, + Rti__getBindingArguments(rti) { + A.assertHelper(rti._kind === 10); + return rti._rest; + }, + Rti__getRecordFields(rti) { + A.assertHelper(rti._kind === 11); + return rti._rest; + }, + Rti__getGenericFunctionBounds(rti) { + A.assertHelper(rti._kind === 13); + return rti._rest; + }, + Rti__getCanonicalRecipe(rti) { + var s = rti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + return s; + }, + findType(recipe) { + return A._Universe_eval(init.typeUniverse, recipe, false); + }, + instantiatedGenericFunctionType(genericFunctionRti, instantiationRti) { + var bounds, typeArguments, cache, s, key, probe, rti; + if (genericFunctionRti == null) + return null; + bounds = A.Rti__getGenericFunctionBounds(genericFunctionRti); + typeArguments = A.Rti__getInterfaceTypeArguments(instantiationRti); + A.assertHelper(bounds.length === typeArguments.length); + cache = genericFunctionRti._bindCache; + if (cache == null) + cache = genericFunctionRti._bindCache = new Map(); + s = instantiationRti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s; + probe = cache.get(key); + if (probe != null) + return probe; + A.assertHelper(genericFunctionRti._kind === 13); + rti = A._substitute(init.typeUniverse, genericFunctionRti._primary, typeArguments, 0); + cache.set(key, rti); + return rti; + }, + _substitute(universe, rti, typeArguments, depth) { + var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + t1 = rti._kind, + kind = t1; + switch (kind) { + case 5: + case 1: + case 2: + case 3: + case 4: + return rti; + case 6: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupStarRti(universe, substitutedBaseType, true); + case 7: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + case 8: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); + case 9: + interfaceTypeArguments = A.Rti__getInterfaceTypeArguments(rti); + substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); + if (substitutedInterfaceTypeArguments === interfaceTypeArguments) + return rti; + A.assertHelper(rti._kind === 9); + return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); + case 10: + A.assertHelper(t1 === 10); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + $arguments = A.Rti__getBindingArguments(rti); + substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); + if (substitutedBase === base && substitutedArguments === $arguments) + return rti; + return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + case 11: + A.assertHelper(t1 === 11); + t1 = rti._primary; + fields = A.Rti__getRecordFields(rti); + substitutedFields = A._substituteArray(universe, fields, typeArguments, depth); + if (substitutedFields === fields) + return rti; + return A._Universe__lookupRecordRti(universe, t1, substitutedFields); + case 12: + A.assertHelper(t1 === 12); + returnType = rti._primary; + substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); + A.assertHelper(rti._kind === 12); + functionParameters = rti._rest; + substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) + return rti; + return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 13: + bounds = A.Rti__getGenericFunctionBounds(rti); + depth += bounds.length; + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); + A.assertHelper(rti._kind === 13); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + if (substitutedBounds === bounds && substitutedBase === base) + return rti; + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 14: + A.assertHelper(t1 === 14); + index = rti._primary; + if (index < depth) + return rti; + argument = typeArguments[index - depth]; + if (argument == null) + return rti; + return argument; + default: + throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + } + }, + _substituteArray(universe, rtiArray, typeArguments, depth) { + var changed, i, rti, substitutedRti, + $length = rtiArray.length, + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; ++i) { + rti = rtiArray[i]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result[i] = substitutedRti; + } + return changed ? result : rtiArray; + }, + _substituteNamed(universe, namedArray, typeArguments, depth) { + var result, changed, i, t1, t2, rti, substitutedRti, + $length = namedArray.length; + A.assertHelper($length % 3 === 0); + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; i += 3) { + t1 = namedArray[i]; + t2 = namedArray[i + 1]; + rti = namedArray[i + 2]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.splice(i, 3, t1, t2, substitutedRti); + } + return changed ? result : namedArray; + }, + _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { + var result, + requiredPositional = functionParameters._requiredPositional, + substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), + optionalPositional = functionParameters._optionalPositional, + substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), + named = functionParameters._named, + substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); + if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) + return functionParameters; + result = new A._FunctionParameters(); + result._requiredPositional = substitutedRequiredPositional; + result._optionalPositional = substitutedOptionalPositional; + result._named = substitutedNamed; + return result; + }, + _setArrayType(target, rti) { + A.assertHelper(rti != null); + target[init.arrayRti] = rti; + return target; + }, + closureFunctionType(closure) { + var signature = closure.$signature; + if (signature != null) { + if (typeof signature == "number") + return A.getTypeFromTypesTable(signature); + return closure.$signature(); + } + return null; + }, + instanceOrFunctionType(object, testRti) { + var rti; + if (A.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof A.Closure) { + rti = A.closureFunctionType(object); + if (rti != null) + return rti; + } + return A.instanceType(object); + }, + instanceType(object) { + if (object instanceof A.Object) + return A._instanceType(object); + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A._instanceTypeFromConstructor(J.getInterceptor$(object)); + }, + _arrayInstanceType(object) { + var rti = object[init.arrayRti], + defaultRti = type$.JSArray_dynamic; + if (rti == null) + return defaultRti; + if (rti.constructor !== defaultRti.constructor) + return defaultRti; + return rti; + }, + _instanceType(object) { + var rti = object.$ti; + return rti != null ? rti : A._instanceTypeFromConstructor(object); + }, + _instanceTypeFromConstructor(instance) { + var $constructor = instance.constructor, + probe = $constructor.$ccache; + if (probe != null) + return probe; + return A._instanceTypeFromConstructorMiss(instance, $constructor); + }, + _instanceTypeFromConstructorMiss(instance, $constructor) { + var effectiveConstructor = instance instanceof A.Closure ? Object.getPrototypeOf(Object.getPrototypeOf(instance)).constructor : $constructor, + rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + $constructor.$ccache = rti; + return rti; + }, + getTypeFromTypesTable(index) { + var rti, + table = init.types, + type = table[index]; + if (typeof type == "string") { + rti = A._Universe_eval(init.typeUniverse, type, false); + table[index] = rti; + return rti; + } + return type; + }, + getRuntimeTypeOfDartObject(object) { + return A.createRuntimeType(A._instanceType(object)); + }, + getRuntimeTypeOfClosure(closure) { + var rti = A.closureFunctionType(closure); + return A.createRuntimeType(rti == null ? A.instanceType(closure) : rti); + }, + _structuralTypeOf(object) { + var functionRti; + if (object instanceof A._Record) + return A.evaluateRtiForRecord(object.$recipe, object._getFieldValues$0()); + functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null; + if (functionRti != null) + return functionRti; + if (type$.TrustedGetRuntimeType._is(object)) + return J.get$runtimeType$(object)._rti; + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A.instanceType(object); + }, + createRuntimeType(rti) { + var t1 = rti._cachedRuntimeType; + return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1; + }, + _createRuntimeType(rti) { + var s0, starErasedRecipe, starErasedRti, t1, + _s24_ = "Missing canonical recipe", + s = rti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow(_s24_); + s0 = rti._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow(_s24_); + starErasedRecipe = s0.replace(/\*/g, ""); + if (starErasedRecipe === s) { + A.assertHelper(rti._cachedRuntimeType == null); + return rti._cachedRuntimeType = new A._Type(rti); + } + starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true); + t1 = starErasedRti._cachedRuntimeType; + return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1; + }, + evaluateRtiForRecord(recordRecipe, valuesList) { + var bindings, i, + values = valuesList, + $length = values.length; + if ($length === 0) + return type$.Record_0; + if (0 >= $length) + return A.ioore(values, 0); + bindings = A._Universe_evalInEnvironment(init.typeUniverse, A._structuralTypeOf(values[0]), "@<0>"); + for (i = 1; i < $length; ++i) { + if (!(i < values.length)) + return A.ioore(values, i); + bindings = A._Universe_bind(init.typeUniverse, bindings, A._structuralTypeOf(values[i])); + } + return A._Universe_evalInEnvironment(init.typeUniverse, bindings, recordRecipe); + }, + typeLiteral(recipe) { + return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false)); + }, + _installSpecializedIsTest(object) { + var t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this; + if (testRti === type$.Object) + return A._finishIsFn(testRti, object, A._isObject); + if (!A.isSoundTopType(testRti)) + t1 = testRti === type$.legacy_Object; + else + t1 = true; + if (t1) + return A._finishIsFn(testRti, object, A._isTop); + t1 = testRti._kind; + if (t1 === 7) + return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation); + if (t1 === 1) + return A._finishIsFn(testRti, object, A._isNever); + if (t1 === 6) { + A.assertHelper(t1 === 6); + unstarred = testRti._primary; + } else + unstarred = testRti; + t1 = unstarred._kind; + unstarredKind = t1; + if (unstarredKind === 8) + return A._finishIsFn(testRti, object, A._isFutureOr); + if (unstarred === type$.int) + isFn = A._isInt; + else if (unstarred === type$.double || unstarred === type$.num) + isFn = A._isNum; + else if (unstarred === type$.String) + isFn = A._isString; + else + isFn = unstarred === type$.bool ? A._isBool : null; + if (isFn != null) + return A._finishIsFn(testRti, object, isFn); + if (unstarredKind === 9) { + A.assertHelper(t1 === 9); + $name = unstarred._primary; + if (A.Rti__getInterfaceTypeArguments(unstarred).every(A.isDefinitelyTopType)) { + testRti._specializedTestResource = "$is" + $name; + if ($name === "List") + return A._finishIsFn(testRti, object, A._isListTestViaProperty); + return A._finishIsFn(testRti, object, A._isTestViaProperty); + } + } else if (unstarredKind === 11) { + A.assertHelper(t1 === 11); + predicate = A.createRecordTypePredicate(unstarred._primary, A.Rti__getRecordFields(unstarred)); + return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate); + } + return A._finishIsFn(testRti, object, A._generalIsTestImplementation); + }, + _finishIsFn(testRti, object, isFn) { + testRti._is = isFn; + return testRti._is(object); + }, + _installSpecializedAsCheck(object) { + var t1, testRti = this, + asFn = A._generalAsCheckImplementation; + if (!A.isSoundTopType(testRti)) + t1 = testRti === type$.legacy_Object; + else + t1 = true; + if (t1) + asFn = A._asTop; + else if (testRti === type$.Object) + asFn = A._asObject; + else { + t1 = A.isNullable(testRti); + if (t1) + asFn = A._generalNullableAsCheckImplementation; + } + testRti._as = asFn; + return testRti._as(object); + }, + _nullIs(testRti) { + var t1, + kind = testRti._kind; + if (!A.isSoundTopType(testRti)) + if (!(testRti === type$.legacy_Object)) + if (!(testRti === type$.legacy_Never)) + if (kind !== 7) { + if (kind === 6) { + A.assertHelper(testRti._kind === 6); + t1 = A._nullIs(testRti._primary); + } else + t1 = false; + if (!t1) { + if (kind === 8) { + A.assertHelper(testRti._kind === 8); + t1 = A._nullIs(testRti._primary); + } else + t1 = false; + t1 = t1 || testRti === type$.Null || testRti === type$.JSNull; + } else + t1 = true; + } else + t1 = true; + else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + _generalIsTestImplementation(object) { + var testRti = this; + if (object == null) + return A._nullIs(testRti); + return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); + }, + _generalNullableIsTestImplementation(object) { + var testRti; + if (object == null) + return true; + testRti = this; + A.assertHelper(testRti._kind === 7); + return testRti._primary._is(object); + }, + _isTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A._nullIs(testRti); + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _isListTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A._nullIs(testRti); + if (typeof object != "object") + return false; + if (Array.isArray(object)) + return true; + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _generalAsCheckImplementation(object) { + var testRti = this; + if (object == null) { + if (A.isNullable(testRti)) + return object; + } else if (testRti._is(object)) + return object; + A._failedAsCheck(object, testRti); + }, + _generalNullableAsCheckImplementation(object) { + var testRti = this; + if (object == null) + return object; + else if (testRti._is(object)) + return object; + A._failedAsCheck(object, testRti); + }, + _failedAsCheck(object, testRti) { + throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null)))); + }, + checkTypeBound(type, bound, variable, methodName) { + if (A.isSubtype(init.typeUniverse, type, bound)) + return type; + throw A.wrapException(A._TypeError$fromMessage("The type argument '" + A._rtiToString(type, null) + "' is not a subtype of the type variable bound '" + A._rtiToString(bound, null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); + }, + _Error_compose(object, checkedTypeDescription) { + return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; + }, + _TypeError$fromMessage(message) { + return new A._TypeError("TypeError: " + message); + }, + _TypeError__TypeError$forType(object, type) { + return new A._TypeError("TypeError: " + A._Error_compose(object, type)); + }, + _isFutureOr(object) { + var unstarred, testRti = this, + t1 = testRti._kind; + if (t1 === 6) { + A.assertHelper(t1 === 6); + unstarred = testRti._primary; + } else + unstarred = testRti; + A.assertHelper(unstarred._kind === 8); + return unstarred._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, unstarred)._is(object); + }, + _isObject(object) { + return object != null; + }, + _asObject(object) { + if (object != null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "Object")); + }, + _isTop(object) { + return true; + }, + _asTop(object) { + return object; + }, + _isNever(object) { + return false; + }, + _isBool(object) { + return true === object || false === object; + }, + _asBool(object) { + if (true === object) + return true; + if (false === object) + return false; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolS(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + }, + _asBoolQ(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "bool?")); + }, + _asDouble(object) { + if (typeof object == "number") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleS(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + }, + _asDoubleQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "double?")); + }, + _isInt(object) { + return typeof object == "number" && Math.floor(object) === object; + }, + _asInt(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + }, + _asIntS(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + }, + _asIntQ(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "int?")); + }, + _isNum(object) { + return typeof object == "number"; + }, + _asNum(object) { + if (typeof object == "number") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + }, + _asNumS(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + }, + _asNumQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "num?")); + }, + _isString(object) { + return typeof object == "string"; + }, + _asString(object) { + if (typeof object == "string") + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + }, + _asStringS(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + }, + _asStringQ(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.wrapException(A._TypeError__TypeError$forType(object, "String?")); + }, + _rtiArrayToString(array, genericContext) { + var s, sep, i; + for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") + s += sep + A._rtiToString(array[i], genericContext); + return s; + }, + _recordRtiToString(recordType, genericContext) { + var partialShape, fields, fieldCount, names, namesIndex, s, comma, i; + A.assertHelper(recordType._kind === 11); + partialShape = recordType._primary; + fields = A.Rti__getRecordFields(recordType); + if ("" === partialShape) + return "(" + A._rtiArrayToString(fields, genericContext) + ")"; + fieldCount = fields.length; + names = partialShape.split(","); + namesIndex = names.length - fieldCount; + for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") { + s += comma; + if (namesIndex === 0) + s += "{"; + s += A._rtiToString(fields[i], genericContext); + if (namesIndex >= 0) + s += " " + names[namesIndex]; + ++namesIndex; + } + return s + "})"; + }, + _functionRtiToString(functionType, genericContext, bounds) { + var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", "; + if (bounds != null) { + boundsLength = bounds.length; + if (genericContext == null) { + genericContext = A._setArrayType([], type$.JSArray_String); + outerContextLength = null; + } else + outerContextLength = genericContext.length; + offset = genericContext.length; + for (i = boundsLength; i > 0; --i) + B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); + for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + t3 = genericContext.length; + t4 = t3 - 1 - i; + if (!(t4 >= 0)) + return A.ioore(genericContext, t4); + typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]); + boundRti = bounds[i]; + kind = boundRti._kind; + if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) + t3 = boundRti === t2; + else + t3 = true; + if (!t3) + typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); + } + typeParametersText += ">"; + } else { + typeParametersText = ""; + outerContextLength = null; + } + A.assertHelper(functionType._kind === 12); + t1 = functionType._primary; + A.assertHelper(functionType._kind === 12); + parameters = functionType._rest; + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + returnTypeText = A._rtiToString(t1, genericContext); + for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); + if (optionalPositionalLength > 0) { + argumentsText += sep + "["; + for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext); + argumentsText += "]"; + } + if (namedLength > 0) { + argumentsText += sep + "{"; + for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { + argumentsText += sep; + if (named[i + 1]) + argumentsText += "required "; + argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; + } + argumentsText += "}"; + } + if (outerContextLength != null) { + genericContext.toString; + genericContext.length = outerContextLength; + } + return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; + }, + _rtiToString(rti, genericContext) { + var questionArgument, s, argumentKind, $name, $arguments, t2, + t1 = rti._kind, + kind = t1; + if (kind === 5) + return "erased"; + if (kind === 2) + return "dynamic"; + if (kind === 3) + return "void"; + if (kind === 1) + return "Never"; + if (kind === 4) + return "any"; + if (kind === 6) { + A.assertHelper(t1 === 6); + return A._rtiToString(rti._primary, genericContext); + } + if (kind === 7) { + A.assertHelper(t1 === 7); + questionArgument = rti._primary; + s = A._rtiToString(questionArgument, genericContext); + argumentKind = questionArgument._kind; + return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?"; + } + if (kind === 8) { + A.assertHelper(t1 === 8); + return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; + } + if (kind === 9) { + A.assertHelper(t1 === 9); + $name = A._unminifyOrTag(rti._primary); + $arguments = A.Rti__getInterfaceTypeArguments(rti); + return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; + } + if (kind === 11) + return A._recordRtiToString(rti, genericContext); + if (kind === 12) + return A._functionRtiToString(rti, genericContext, null); + if (kind === 13) { + A.assertHelper(t1 === 13); + return A._functionRtiToString(rti._primary, genericContext, A.Rti__getGenericFunctionBounds(rti)); + } + if (kind === 14) { + genericContext.toString; + A.assertHelper(t1 === 14); + t1 = rti._primary; + t2 = genericContext.length; + t1 = t2 - 1 - t1; + if (!(t1 >= 0 && t1 < t2)) + return A.ioore(genericContext, t1); + return genericContext[t1]; + } + return "?"; + }, + _unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + _Universe_findRule(universe, targetType) { + var rule = universe.tR[targetType]; + for (; typeof rule == "string";) + rule = universe.tR[rule]; + return rule; + }, + _Universe_findErasedType(universe, cls) { + var $length, erased, $arguments, i, $interface, + t1 = universe.eT, + probe = t1[cls]; + if (probe == null) + return A._Universe_eval(universe, cls, false); + else if (typeof probe == "number") { + $length = probe; + erased = A._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = A._Utils_newArrayOrEmpty($length); + for (i = 0; i < $length; ++i) + $arguments[i] = erased; + $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); + t1[cls] = $interface; + return $interface; + } else + return probe; + }, + _Universe_addRules(universe, rules) { + return A._Utils_objectAssign(universe.tR, rules); + }, + _Universe_addErasedTypes(universe, types) { + return A._Utils_objectAssign(universe.eT, types); + }, + _Universe_eval(universe, recipe, normalize) { + var rti, + t1 = universe.eC, + probe = t1.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize)); + t1.set(recipe, rti); + return rti; + }, + _Universe_evalInEnvironment(universe, environment, recipe) { + var probe, rti, + cache = environment._evalCache; + if (cache == null) + cache = environment._evalCache = new Map(); + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); + cache.set(recipe, rti); + return rti; + }, + _Universe_bind(universe, environment, argumentsRti) { + var s, argumentsRecipe, probe, rti, + cache = environment._bindCache; + if (cache == null) + cache = environment._bindCache = new Map(); + s = argumentsRti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + argumentsRecipe = s; + probe = cache.get(argumentsRecipe); + if (probe != null) + return probe; + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? A.Rti__getBindingArguments(argumentsRti) : [argumentsRti]); + cache.set(argumentsRecipe, rti); + return rti; + }, + _Universe__installTypeTests(universe, rti) { + rti._as = A._installSpecializedAsCheck; + rti._is = A._installSpecializedIsTest; + return rti; + }, + _Universe__lookupTerminalRti(universe, kind, key) { + var rti, t1, + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = kind; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupStarRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "*"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createStarRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createStarRti(universe, baseType, key, normalize) { + var baseKind, t1, rti; + if (normalize) { + baseKind = baseType._kind; + if (!A.isSoundTopType(baseType)) + t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; + else + t1 = true; + if (t1) + return baseType; + } + rti = new A.Rti(null, null); + rti._kind = 6; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupQuestionRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "?"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createQuestionRti(universe, baseType, key, normalize) { + var baseKind, t1, starArgument, rti; + if (normalize) { + baseKind = baseType._kind; + if (!A.isSoundTopType(baseType)) + if (!(baseType === type$.Null || baseType === type$.JSNull)) + if (baseKind !== 7) + if (baseKind === 8) { + A.assertHelper(baseType._kind === 8); + t1 = A.isNullable(baseType._primary); + } else + t1 = false; + else + t1 = true; + else + t1 = true; + else + t1 = true; + if (t1) + return baseType; + else if (baseKind === 1 || baseType === type$.legacy_Never) + return type$.Null; + else if (baseKind === 6) { + A.assertHelper(baseType._kind === 6); + starArgument = baseType._primary; + t1 = starArgument._kind; + if (t1 === 8) { + A.assertHelper(t1 === 8); + t1 = A.isNullable(starArgument._primary); + } else + t1 = false; + if (t1) + return starArgument; + else + return A.Rti__getQuestionFromStar(universe, baseType); + } + } + rti = new A.Rti(null, null); + rti._kind = 7; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupFutureOrRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "/"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createFutureOrRti(universe, baseType, key, normalize) { + var t1, rti; + if (normalize) { + t1 = baseType._kind; + if (A.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_Object) + return baseType; + else if (t1 === 1) + return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); + else if (baseType === type$.Null || baseType === type$.JSNull) + return type$.nullable_Future_Null; + } + rti = new A.Rti(null, null); + rti._kind = 8; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupGenericFunctionParameterRti(universe, index) { + var rti, t1, + key = "" + index + "^", + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 14; + rti._primary = index; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__canonicalRecipeJoin($arguments) { + var s, sep, i, s0, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") { + s0 = $arguments[i]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + s0; + } + return s; + }, + _Universe__canonicalRecipeJoinNamed($arguments) { + var s, sep, i, t1, nameSep, s0, + $length = $arguments.length; + A.assertHelper($length % 3 === 0); + for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { + t1 = $arguments[i]; + nameSep = $arguments[i + 1] ? "!" : ":"; + s0 = $arguments[i + 2]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + t1 + nameSep + s0; + } + return s; + }, + _Universe__lookupInterfaceRti(universe, $name, $arguments) { + var s, probe, rti, t1; + A.assertHelper(typeof $name == "string"); + s = $name; + if ($arguments.length > 0) + s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; + probe = universe.eC.get(s); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 9; + rti._primary = $name; + rti._rest = $arguments; + if ($arguments.length > 0) + rti._precomputed1 = $arguments[0]; + rti._canonicalRecipe = s; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(s, t1); + return t1; + }, + _Universe__lookupBindingRti(universe, base, $arguments) { + var newBase, newArguments, s, key, probe, rti, + t1 = base._kind; + if (t1 === 10) { + A.assertHelper(t1 === 10); + newBase = base._primary; + newArguments = A.Rti__getBindingArguments(base).concat($arguments); + } else { + newArguments = $arguments; + newBase = base; + } + s = newBase._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 10; + rti._primary = newBase; + rti._rest = newArguments; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupRecordRti(universe, partialShapeTag, fields) { + var rti, t1, + key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 11; + rti._primary = partialShapeTag; + rti._rest = fields; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupFunctionRti(universe, returnType, parameters) { + var requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, recipe, sep, key, probe, rti, t1, + s = returnType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); + if (optionalPositionalLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; + } + if (namedLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; + } + key = s + (recipe + ")"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 12; + rti._primary = returnType; + rti._rest = parameters; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { + var key, probe, t1, + s = baseFunctionType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { + var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; + if (normalize) { + $length = bounds.length; + typeArguments = A._Utils_newArrayOrEmpty($length); + for (count = 0, i = 0; i < $length; ++i) { + bound = bounds[i]; + if (bound._kind === 1) { + typeArguments[i] = bound; + ++count; + } + } + if (count > 0) { + substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0); + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); + } + } + rti = new A.Rti(null, null); + rti._kind = 13; + rti._primary = baseFunctionType; + rti._rest = bounds; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Parser_create(universe, environment, recipe, normalize) { + return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; + }, + _Parser_parse(parser) { + var t2, i, ch, t3, t4, array, end, item, + source = parser.r, + t1 = parser.s; + for (t2 = source.length, i = 0; i < t2;) { + ch = source.charCodeAt(i); + if (ch >= 48 && ch <= 57) + i = A._Parser_handleDigit(i + 1, ch, source, t1); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) + i = A._Parser_handleIdentifier(parser, i, source, t1, false); + else if (ch === 46) + i = A._Parser_handleIdentifier(parser, i, source, t1, true); + else { + ++i; + switch (ch) { + case 44: + break; + case 58: + t1.push(false); + break; + case 33: + t1.push(true); + break; + case 59: + t1.push(A._Parser_toType(parser.u, parser.e, t1.pop())); + break; + case 94: + t3 = parser.u; + t4 = t1.pop(); + A.assertHelper(typeof t4 == "number"); + t1.push(A._Universe__lookupGenericFunctionParameterRti(t3, t4)); + break; + case 35: + t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + break; + case 64: + t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + break; + case 126: + t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + break; + case 60: + t1.push(parser.p); + parser.p = t1.length; + break; + case 62: + A._Parser_handleTypeArguments(parser, t1); + break; + case 38: + A._Parser_handleExtendedOperations(parser, t1); + break; + case 42: + t3 = parser.u; + t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 63: + t3 = parser.u; + t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 47: + t3 = parser.u; + t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + break; + case 40: + t1.push(-3); + t1.push(parser.p); + parser.p = t1.length; + break; + case 41: + A._Parser_handleArguments(parser, t1); + break; + case 91: + t1.push(parser.p); + parser.p = t1.length; + break; + case 93: + array = t1.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-1); + break; + case 123: + t1.push(parser.p); + parser.p = t1.length; + break; + case 125: + array = t1.splice(parser.p); + A._Parser_toTypesNamed(parser.u, parser.e, array); + parser.p = t1.pop(); + t1.push(array); + t1.push(-2); + break; + case 43: + end = source.indexOf("(", i); + A.assertHelper(end >= 0); + t1.push(source.substring(i, end)); + t1.push(-4); + t1.push(parser.p); + parser.p = t1.length; + i = end + 1; + break; + default: + throw "Bad character " + ch; + } + } + } + item = t1.pop(); + return A._Parser_toType(parser.u, parser.e, item); + }, + _Parser_handleDigit(i, digit, source, stack) { + var t1, ch, + value = digit - 48; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (!(ch >= 48 && ch <= 57)) + break; + value = value * 10 + (ch - 48); + } + stack.push(value); + return i; + }, + _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { + var t1, ch, t2, string, environment, rule, recipe, + i = start + 1; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (ch === 46) { + if (hasPeriod) + break; + hasPeriod = true; + } else { + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) + t2 = ch >= 48 && ch <= 57; + else + t2 = true; + if (!t2) + break; + } + } + string = source.substring(start, i); + if (hasPeriod) { + t1 = parser.u; + environment = parser.e; + t2 = environment._kind; + if (t2 === 10) { + A.assertHelper(t2 === 10); + environment = environment._primary; + } + A.assertHelper(environment._kind === 9); + rule = A._Universe_findRule(t1, environment._primary); + A.assertHelper(rule != null); + recipe = rule[string]; + if (recipe == null) + A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(A._Universe_evalInEnvironment(t1, environment, recipe)); + } else + stack.push(string); + return i; + }, + _Parser_handleTypeArguments(parser, stack) { + var base, + t1 = parser.u, + $arguments = A._Parser_collectArray(parser, stack), + head = stack.pop(); + if (typeof head == "string") + stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments)); + else { + base = A._Parser_toType(t1, parser.e, head); + switch (base._kind) { + case 12: + stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n)); + break; + default: + stack.push(A._Universe__lookupBindingRti(t1, base, $arguments)); + break; + } + } + }, + _Parser_handleArguments(parser, stack) { + var optionalPositional, named, requiredPositional, returnType, parameters, _null = null, + t1 = parser.u, + head = stack.pop(); + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = stack.pop(); + named = _null; + break; + case -2: + named = stack.pop(); + optionalPositional = _null; + break; + default: + stack.push(head); + named = _null; + optionalPositional = named; + break; + } + else { + stack.push(head); + named = _null; + optionalPositional = named; + } + requiredPositional = A._Parser_collectArray(parser, stack); + head = stack.pop(); + switch (head) { + case -3: + head = stack.pop(); + if (optionalPositional == null) + optionalPositional = t1.sEA; + if (named == null) + named = t1.sEA; + returnType = A._Parser_toType(t1, parser.e, head); + parameters = new A._FunctionParameters(); + parameters._requiredPositional = requiredPositional; + parameters._optionalPositional = optionalPositional; + parameters._named = named; + stack.push(A._Universe__lookupFunctionRti(t1, returnType, parameters)); + return; + case -4: + A.assertHelper(optionalPositional == null); + A.assertHelper(named == null); + head = stack.pop(); + A.assertHelper(typeof head == "string"); + stack.push(A._Universe__lookupRecordRti(t1, head, requiredPositional)); + return; + default: + throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); + } + }, + _Parser_handleExtendedOperations(parser, stack) { + var $top = stack.pop(); + if (0 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); + return; + } + if (1 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); + return; + } + throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); + }, + _Parser_collectArray(parser, stack) { + var array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + return array; + }, + _Parser_toType(universe, environment, item) { + if (typeof item == "string") + return A._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") { + environment.toString; + return A._Parser_indexToType(universe, environment, item); + } else + return item; + }, + _Parser_toTypes(universe, environment, items) { + var i, + $length = items.length; + for (i = 0; i < $length; ++i) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_toTypesNamed(universe, environment, items) { + var i, + $length = items.length; + A.assertHelper($length % 3 === 0); + for (i = 2; i < $length; i += 3) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_indexToType(universe, environment, index) { + var typeArguments, len, + t1 = environment._kind, + kind = t1; + if (kind === 10) { + if (index === 0) { + A.assertHelper(t1 === 10); + return environment._primary; + } + typeArguments = A.Rti__getBindingArguments(environment); + len = typeArguments.length; + if (index <= len) + return typeArguments[index - 1]; + index -= len; + A.assertHelper(t1 === 10); + environment = environment._primary; + kind = environment._kind; + } else if (index === 0) + return environment; + if (kind !== 9) + throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); + typeArguments = A.Rti__getInterfaceTypeArguments(environment); + if (index <= typeArguments.length) + return typeArguments[index - 1]; + throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); + }, + isSubtype(universe, s, t) { + var result, + sCache = s._isSubtypeCache; + if (sCache == null) + sCache = s._isSubtypeCache = new Map(); + result = sCache.get(t); + if (result == null) { + result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0; + sCache.set(t, result); + } + if (0 === result) + return false; + if (1 === result) + return true; + return true; + }, + _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound; + if (s === t) + return true; + if (!A.isSoundTopType(t)) + t1 = t === type$.legacy_Object; + else + t1 = true; + if (t1) + return true; + sKind = s._kind; + if (sKind === 4) + return true; + if (A.isSoundTopType(s)) + return false; + t1 = s._kind; + if (t1 === 1) + return true; + leftTypeVariable = sKind === 14; + if (leftTypeVariable) { + A.assertHelper(t1 === 14); + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false)) + return true; + } + t1 = t._kind; + tKind = t1; + t2 = s === type$.Null || s === type$.JSNull; + if (t2) { + if (tKind === 8) { + A.assertHelper(t1 === 8); + return A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); + } + return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; + } + if (t === type$.Object) { + if (sKind === 8) { + A.assertHelper(s._kind === 8); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + } + if (sKind === 6) { + A.assertHelper(s._kind === 6); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + } + return sKind !== 7; + } + if (sKind === 6) { + A.assertHelper(s._kind === 6); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + } + if (tKind === 6) { + t1 = A.Rti__getQuestionFromStar(universe, t); + return A._isSubtype(universe, s, sEnv, t1, tEnv, false); + } + if (sKind === 8) { + A.assertHelper(s._kind === 8); + if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false)) + return false; + return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false); + } + if (sKind === 7) { + t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false); + if (t1) { + A.assertHelper(s._kind === 7); + t1 = A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + } else + t1 = false; + return t1; + } + if (tKind === 8) { + A.assertHelper(t1 === 8); + if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false)) + return true; + return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false); + } + if (tKind === 7) { + t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false); + if (!t1) { + A.assertHelper(t._kind === 7); + t1 = A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); + } else + t1 = true; + return t1; + } + if (leftTypeVariable) + return false; + t1 = sKind !== 12; + if ((!t1 || sKind === 13) && t === type$.Function) + return true; + t2 = sKind === 11; + if (t2 && t === type$.Record) + return true; + if (tKind === 13) { + if (s === type$.JavaScriptFunction) + return true; + if (sKind !== 13) + return false; + sBounds = A.Rti__getGenericFunctionBounds(s); + tBounds = A.Rti__getGenericFunctionBounds(t); + sLength = sBounds.length; + if (sLength !== tBounds.length) + return false; + sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); + tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); + for (i = 0; i < sLength; ++i) { + sBound = sBounds[i]; + tBound = tBounds[i]; + if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false)) + return false; + } + A.assertHelper(s._kind === 13); + t1 = s._primary; + A.assertHelper(t._kind === 13); + return A._isFunctionSubtype(universe, t1, sEnv, t._primary, tEnv, false); + } + if (tKind === 12) { + if (s === type$.JavaScriptFunction) + return true; + if (t1) + return false; + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false); + } + if (sKind === 9) { + if (tKind !== 9) + return false; + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false); + } + if (t2 && tKind === 11) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false); + return false; + }, + _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + var t1, sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; + A.assertHelper(s._kind === 12); + A.assertHelper(t._kind === 12); + A.assertHelper(s._kind === 12); + t1 = s._primary; + A.assertHelper(t._kind === 12); + if (!A._isSubtype(universe, t1, sEnv, t._primary, tEnv, false)) + return false; + A.assertHelper(s._kind === 12); + sParameters = s._rest; + A.assertHelper(t._kind === 12); + tParameters = t._rest; + sRequiredPositional = sParameters._requiredPositional; + tRequiredPositional = tParameters._requiredPositional; + sRequiredPositionalLength = sRequiredPositional.length; + tRequiredPositionalLength = tRequiredPositional.length; + if (sRequiredPositionalLength > tRequiredPositionalLength) + return false; + requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; + sOptionalPositional = sParameters._optionalPositional; + tOptionalPositional = tParameters._optionalPositional; + sOptionalPositionalLength = sOptionalPositional.length; + tOptionalPositionalLength = tOptionalPositional.length; + if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) + return false; + for (i = 0; i < sRequiredPositionalLength; ++i) { + t1 = sRequiredPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv, false)) + return false; + } + for (i = 0; i < requiredPositionalDelta; ++i) { + t1 = sOptionalPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv, false)) + return false; + } + for (i = 0; i < tOptionalPositionalLength; ++i) { + t1 = sOptionalPositional[requiredPositionalDelta + i]; + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv, false)) + return false; + } + sNamed = sParameters._named; + tNamed = tParameters._named; + sNamedLength = sNamed.length; + tNamedLength = tNamed.length; + for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { + tName = tNamed[tIndex]; + for (; true;) { + if (sIndex >= sNamedLength) + return false; + sName = sNamed[sIndex]; + sIndex += 3; + if (tName < sName) + return false; + sIsRequired = sNamed[sIndex - 2]; + if (sName < tName) { + if (sIsRequired) + return false; + continue; + } + t1 = tNamed[tIndex + 1]; + if (sIsRequired && !t1) + return false; + t1 = sNamed[sIndex - 1]; + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv, false)) + return false; + break; + } + } + for (; sIndex < sNamedLength;) { + if (sNamed[sIndex + 1]) + return false; + sIndex += 3; + } + return true; + }, + _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + var sName, tName, t1, rule, recipes, $length, supertypeArgs, i; + A.assertHelper(s._kind === 9); + sName = s._primary; + A.assertHelper(t._kind === 9); + tName = t._primary; + for (; t1 = sName === tName, !t1;) { + rule = universe.tR[sName]; + if (rule == null) + return false; + if (typeof rule == "string") { + sName = rule; + continue; + } + recipes = rule[tName]; + if (recipes == null) + return false; + $length = recipes.length; + supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA; + for (i = 0; i < $length; ++i) + supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]); + A.assertHelper(t._kind === 9); + return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv, false); + } + A.assertHelper(t1); + return A._areArgumentsSubtypes(universe, A.Rti__getInterfaceTypeArguments(s), null, sEnv, A.Rti__getInterfaceTypeArguments(t), tEnv, false); + }, + _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) { + var i, + $length = sArgs.length; + A.assertHelper($length === tArgs.length); + for (i = 0; i < $length; ++i) + if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false)) + return false; + return true; + }, + _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + var t1, i, + sFields = A.Rti__getRecordFields(s), + tFields = A.Rti__getRecordFields(t), + sCount = sFields.length; + if (sCount !== tFields.length) + return false; + A.assertHelper(s._kind === 11); + t1 = s._primary; + A.assertHelper(t._kind === 11); + if (t1 !== t._primary) + return false; + for (i = 0; i < sCount; ++i) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv, false)) + return false; + return true; + }, + isNullable(t) { + var t1, + kind = t._kind; + if (!(t === type$.Null || t === type$.JSNull)) + if (!A.isSoundTopType(t)) + if (kind !== 7) { + if (kind === 6) { + A.assertHelper(t._kind === 6); + t1 = A.isNullable(t._primary); + } else + t1 = false; + if (!t1) + if (kind === 8) { + A.assertHelper(t._kind === 8); + t1 = A.isNullable(t._primary); + } else + t1 = false; + else + t1 = true; + } else + t1 = true; + else + t1 = true; + else + t1 = true; + return t1; + }, + isDefinitelyTopType(t) { + var t1; + if (!A.isSoundTopType(t)) + t1 = t === type$.legacy_Object; + else + t1 = true; + return t1; + }, + isSoundTopType(t) { + var kind = t._kind; + return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; + }, + _Utils_objectAssign(o, other) { + var i, key, + keys = Object.keys(other), + $length = keys.length; + for (i = 0; i < $length; ++i) { + key = keys[i]; + o[key] = other[key]; + } + }, + _Utils_newArrayOrEmpty($length) { + return $length > 0 ? new Array($length) : init.typeUniverse.sEA; + }, + Rti: function Rti(t0, t1) { + var _ = this; + _._as = t0; + _._is = t1; + _._cachedRuntimeType = _._specializedTestResource = _._isSubtypeCache = _._precomputed1 = null; + _._kind = 0; + _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; + }, + _FunctionParameters: function _FunctionParameters() { + this._named = this._optionalPositional = this._requiredPositional = null; + }, + _Type: function _Type(t0) { + this._rti = t0; + }, + _Error: function _Error() { + }, + _TypeError: function _TypeError(t0) { + this.__rti$_message = t0; + }, + _AsyncRun__initializeScheduleImmediate() { + var div, span, t1 = {}; + if (self.scheduleImmediate != null) + return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); + if (self.MutationObserver != null && self.document != null) { + div = self.document.createElement("div"); + span = self.document.createElement("span"); + t1.storedCallback = null; + new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); + return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); + } else if (self.setImmediate != null) + return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); + }, + _AsyncRun__scheduleImmediateJsOverride(callback) { + self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithSetImmediate(callback) { + self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithTimer(callback) { + A.Timer__createTimer(B.Duration_0, type$.void_Function._as(callback)); + }, + Timer__createTimer(duration, callback) { + var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000); + return A._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); + }, + _TimerImpl$(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$2(milliseconds, callback); + return t1; + }, + _TimerImpl$periodic(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$periodic$2(milliseconds, callback); + return t1; + }, + _makeAsyncAwaitCompleter($T) { + return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); + }, + _asyncStartSync(bodyFunction, completer) { + bodyFunction.call$2(0, null); + completer.isSync = true; + return completer._future; + }, + _asyncAwait(object, bodyFunction) { + A._awaitOnObject(object, bodyFunction); + }, + _asyncReturn(object, completer) { + completer.complete$1(object); + }, + _asyncRethrow(object, completer) { + completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object)); + }, + _awaitOnObject(object, bodyFunction) { + var t1, future, + thenCallback = new A._awaitOnObject_closure(bodyFunction), + errorCallback = new A._awaitOnObject_closure0(bodyFunction); + if (object instanceof A._Future) + object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); + else { + t1 = type$.dynamic; + if (object instanceof A._Future) + object.then$1$2$onError(thenCallback, errorCallback, t1); + else { + future = new A._Future($.Zone__current, type$._Future_dynamic); + future._async$_state = 8; + future._resultOrListeners = object; + future._thenAwait$1$2(thenCallback, errorCallback, t1); + } + } + }, + _wrapJsFunctionForAsync($function) { + var $protected = function(fn, ERROR) { + return function(errorCode, result) { + while (true) { + try { + fn(errorCode, result); + break; + } catch (error) { + result = error; + errorCode = ERROR; + } + } + }; + }($function, 1); + return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); + }, + _SyncStarIterator__terminatedBody(_1, _2, _3) { + return 0; + }, + AsyncError$(error, stackTrace) { + var t1 = A.checkNotNullable(error, "error", type$.Object); + return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace); + }, + AsyncError_defaultStackTrace(error) { + var stackTrace; + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace != null) + return stackTrace; + } + return B._StringStackTrace_uwd; + }, + Future_Future(computation, $T) { + var result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(B.Duration_0, new A.Future_Future_closure(result, computation)); + return result; + }, + Future_Future$sync(computation, $T) { + var result, error, stackTrace, future, replacement, t1, exception; + try { + result = computation.call$0(); + t1 = $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T); + return t1; + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + t1 = $.Zone__current; + future = new A._Future(t1, $T._eval$1("_Future<0>")); + replacement = t1.errorCallback$2(error, stackTrace); + if (replacement != null) + future._asyncCompleteError$2(replacement.error, replacement.stackTrace); + else + future._asyncCompleteError$2(error, stackTrace); + return future; + } + }, + Future_Future$value(value, $T) { + var t1 = value == null ? $T._as(value) : value, + t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t2._asyncComplete$1(t1); + return t2; + }, + Future_Future$error(error, stackTrace, $T) { + var t1, replacement; + A.checkNotNullable(error, "error", type$.Object); + t1 = $.Zone__current; + if (t1 !== B.C__RootZone) { + replacement = t1.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + } + if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t1._asyncCompleteError$2(error, stackTrace); + return t1; + }, + Future_Future$delayed(duration, $T) { + var result, + t1 = !$T._is(null); + if (t1) + throw A.wrapException(A.ArgumentError$value(null, "computation", "The type parameter is not nullable")); + result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(duration, new A.Future_Future$delayed_closure(null, result, $T)); + return result; + }, + Future_wait(futures, $T) { + var handleError, future, pos, e, st, t1, t2, exception, _box_0 = {}, cleanUp = null, + eagerError = false, + _future = new A._Future($.Zone__current, $T._eval$1("_Future>")); + _box_0.values = null; + _box_0.remaining = 0; + _box_0.stackTrace = _box_0.error = null; + handleError = new A.Future_wait_handleError(_box_0, cleanUp, eagerError, _future); + try { + for (t1 = J.get$iterator$ax(futures), t2 = type$.Null; t1.moveNext$0();) { + future = t1.get$current(); + pos = _box_0.remaining; + future.then$1$2$onError(new A.Future_wait_closure(_box_0, pos, _future, $T, cleanUp, eagerError), handleError, t2); + ++_box_0.remaining; + } + t1 = _box_0.remaining; + if (t1 === 0) { + t1 = _future; + t1._completeWithValue$1(A._setArrayType([], $T._eval$1("JSArray<0>"))); + return t1; + } + _box_0.values = A.List_List$filled(t1, null, false, $T._eval$1("0?")); + } catch (exception) { + e = A.unwrapException(exception); + st = A.getTraceFromException(exception); + if (_box_0.remaining === 0 || A.boolConversionCheck(eagerError)) + return A.Future_Future$error(e, st, $T._eval$1("List<0>")); + else { + _box_0.error = e; + _box_0.stackTrace = st; + } + } + return _future; + }, + _completeWithErrorCallback(result, error, stackTrace) { + var replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + result._completeError$2(error, stackTrace); + }, + _Future$zoneValue(value, _zone, $T) { + var t1 = new A._Future(_zone, $T._eval$1("_Future<0>")); + $T._as(value); + t1._async$_state = 8; + t1._resultOrListeners = value; + return t1; + }, + _Future$value(value, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + $T._as(value); + t1._async$_state = 8; + t1._resultOrListeners = value; + return t1; + }, + _Future__chainCoreFutureSync(source, target) { + var t1, t2, t3, listeners; + A.assertHelper(target._async$_state <= 3); + for (t1 = type$._Future_dynamic; t2 = source._async$_state, t3 = (t2 & 4) !== 0, t3;) { + A.assertHelper(t3); + source = t1._as(source._resultOrListeners); + } + t1 = t2 | target._async$_state & 1; + source._async$_state = t1; + if ((t1 & 24) !== 0) { + listeners = target._removeListeners$0(); + target._cloneResult$1(source); + A._Future__propagateToListeners(target, listeners); + } else { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + target._setChained$1(source); + source._prependListeners$1(listeners); + } + }, + _Future__chainCoreFutureAsync(source, target) { + var t2, t3, t4, listeners, _box_0 = {}, + t1 = _box_0.source = source; + A.assertHelper(target._async$_state <= 3); + for (t2 = type$._Future_dynamic; t3 = t1._async$_state, t4 = (t3 & 4) !== 0, t4; t1 = source) { + A.assertHelper(t4); + source = t2._as(t1._resultOrListeners); + _box_0.source = source; + } + if ((t3 & 24) === 0) { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + target._setChained$1(t1); + _box_0.source._prependListeners$1(listeners); + return; + } + if ((t3 & 16) === 0 && target._resultOrListeners == null) { + target._cloneResult$1(t1); + return; + } + target._setPendingComplete$0(); + target._zone.scheduleMicrotask$1(new A._Future__chainCoreFutureAsync_closure(_box_0, target)); + }, + _Future__propagateToListeners(source, listeners) { + var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, previous, oldZone, result, current, _box_1 = {}, + t1 = _box_1.source = source; + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { + _box_0 = {}; + A.assertHelper((t1._async$_state & 24) !== 0); + t1 = _box_1.source; + t5 = t1._async$_state; + t6 = (t5 & 16) === 0; + hasError = !t6; + if (listeners == null) { + if (hasError && (t5 & 1) === 0) { + A.assertHelper(hasError); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + } + return; + } + _box_0.listener = listeners; + nextListener = listeners._nextListener; + for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { + t1._nextListener = null; + A._Future__propagateToListeners(_box_1.source, t1); + _box_0.listener = nextListener; + nextListener0 = nextListener._nextListener; + } + t5 = _box_1.source; + sourceResult = t5._resultOrListeners; + _box_0.listenerHasError = hasError; + _box_0.listenerValueOrError = sourceResult; + if (t6) { + t7 = t1.state; + t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; + } else + t7 = true; + if (t7) { + zone = t1.result._zone; + if (hasError) { + t1 = t5._zone; + t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone()); + } else + t1 = false; + if (t1) { + t1 = _box_1.source; + A.assertHelper((t1._async$_state & 16) !== 0); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + return; + } + t1 = $.Zone__current; + if (t1 !== zone) { + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + oldZone = previous; + } else + oldZone = null; + t1 = _box_0.listener.state; + if ((t1 & 15) === 8) + new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + else if (t6) { + if ((t1 & 1) !== 0) + new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); + } else if ((t1 & 2) !== 0) + new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + if (oldZone != null) + $.Zone__current = oldZone; + t1 = _box_0.listenerValueOrError; + if (t1 instanceof A._Future) { + t5 = _box_0.listener.$ti; + t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); + } else + t5 = false; + if (t5) { + t4._as(t1); + result = _box_0.listener.result; + if ((t1._async$_state & 24) !== 0) { + A.assertHelper((result._async$_state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + result._cloneResult$1(t1); + _box_1.source = t1; + continue; + } else + A._Future__chainCoreFutureSync(t1, result); + return; + } + } + result = _box_0.listener.result; + A.assertHelper((result._async$_state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + t1 = _box_0.listenerHasError; + t5 = _box_0.listenerValueOrError; + t6 = result._async$_state & 24; + if (!t1) { + result.$ti._precomputed1._as(t5); + A.assertHelper(t6 === 0); + result._async$_state = 8; + result._resultOrListeners = t5; + } else { + t2._as(t5); + A.assertHelper(t6 === 0); + result._async$_state = result._async$_state & 1 | 16; + result._resultOrListeners = t5; + } + _box_1.source = result; + t1 = result; + } + }, + _registerErrorHandler(errorHandler, zone) { + if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) + return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.dynamic_Function_Object._is(errorHandler)) + return zone.registerUnaryCallback$2$1(errorHandler, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); + }, + _microtaskLoop() { + var entry, next; + for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { + $._lastPriorityCallback = null; + next = entry.next; + $._nextCallback = next; + if (next == null) + $._lastCallback = null; + entry.callback.call$0(); + } + }, + _startMicrotaskLoop() { + $._isInCallbackLoop = true; + try { + A._microtaskLoop(); + } finally { + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + if ($._nextCallback != null) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } + }, + _scheduleAsyncCallback(callback) { + var newEntry = new A._AsyncCallbackEntry(callback), + lastCallback = $._lastCallback; + if (lastCallback == null) { + $._nextCallback = $._lastCallback = newEntry; + if (!$._isInCallbackLoop) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } else + $._lastCallback = lastCallback.next = newEntry; + }, + _schedulePriorityAsyncCallback(callback) { + var entry, lastPriorityCallback, next, + t1 = $._nextCallback; + if (t1 == null) { + A._scheduleAsyncCallback(callback); + $._lastPriorityCallback = $._lastCallback; + return; + } + entry = new A._AsyncCallbackEntry(callback); + lastPriorityCallback = $._lastPriorityCallback; + if (lastPriorityCallback == null) { + entry.next = t1; + $._nextCallback = $._lastPriorityCallback = entry; + } else { + next = lastPriorityCallback.next; + entry.next = next; + $._lastPriorityCallback = lastPriorityCallback.next = entry; + if (next == null) + $._lastCallback = entry; + } + }, + scheduleMicrotask(callback) { + var t1, _null = null, + currentZone = $.Zone__current; + if (B.C__RootZone === currentZone) { + A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); + return; + } + if (B.C__RootZone === currentZone.get$_scheduleMicrotask().zone) + t1 = B.C__RootZone.get$errorZone() === currentZone.get$errorZone(); + else + t1 = false; + if (t1) { + A._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1$1(callback, type$.void)); + return; + } + t1 = $.Zone__current; + t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback)); + }, + StreamIterator_StreamIterator(stream, $T) { + return new A._StreamIterator(A.checkNotNullable(stream, "stream", type$.Object), $T._eval$1("_StreamIterator<0>")); + }, + StreamController_StreamController(onCancel, onListen, sync, $T) { + var _null = null; + return sync ? new A._SyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_AsyncStreamController<0>")); + }, + _runGuarded(notificationHandler) { + var e, s, exception; + if (notificationHandler == null) + return; + try { + notificationHandler.call$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current.handleUncaughtError$2(e, s); + } + }, + _ControllerSubscription$(_controller, onData, onError, onDone, cancelOnError, $T) { + var t1 = $.Zone__current, + t2 = cancelOnError ? 1 : 0, + t3 = onError != null ? 32 : 0, + t4 = A._BufferingStreamSubscription__registerDataHandler(t1, onData, $T), + t5 = A._BufferingStreamSubscription__registerErrorHandler(t1, onError), + t6 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + return new A._ControllerSubscription(_controller, t4, t5, t1.registerCallback$1$1(t6, type$.void), t1, t2 | t3, $T._eval$1("_ControllerSubscription<0>")); + }, + _BufferingStreamSubscription__registerDataHandler(zone, handleData, $T) { + var t1 = handleData == null ? A.async___nullDataHandler$closure() : handleData; + return zone.registerUnaryCallback$2$1(t1, type$.void, $T); + }, + _BufferingStreamSubscription__registerErrorHandler(zone, handleError) { + if (handleError == null) + handleError = A.async___nullErrorHandler$closure(); + if (type$.void_Function_Object_StackTrace._is(handleError)) + return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.void_Function_Object._is(handleError)) + return zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null)); + }, + _nullDataHandler(value) { + }, + _nullErrorHandler(error, stackTrace) { + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + $.Zone__current.handleUncaughtError$2(error, stackTrace); + }, + _nullDoneHandler() { + }, + _runUserCode(userCode, onSuccess, onError, $T) { + var e, s, replacement, error, stackTrace, exception; + try { + onSuccess.call$1(userCode.call$0()); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + replacement = $.Zone__current.errorCallback$2(e, s); + if (replacement == null) + onError.call$2(e, s); + else { + error = replacement.error; + stackTrace = replacement.stackTrace; + onError.call$2(error, stackTrace); + } + } + }, + _cancelAndError(subscription, future, error, stackTrace) { + var cancelFuture = subscription.cancel$0(), + t1 = $.$get$Future__nullFuture(); + if (cancelFuture !== t1) + cancelFuture.whenComplete$1(new A._cancelAndError_closure(future, error, stackTrace)); + else + future._completeError$2(error, stackTrace); + }, + _cancelAndErrorClosure(subscription, future) { + return new A._cancelAndErrorClosure_closure(subscription, future); + }, + _cancelAndValue(subscription, future, value) { + var cancelFuture = subscription.cancel$0(), + t1 = $.$get$Future__nullFuture(); + if (cancelFuture !== t1) + cancelFuture.whenComplete$1(new A._cancelAndValue_closure(future, value)); + else + future._complete$1(value); + }, + _StreamHandlerTransformer$(handleDone, $S, $T) { + return new A._StreamHandlerTransformer(new A._StreamHandlerTransformer_closure(null, null, handleDone, $T, $S), $S._eval$1("@<0>")._bind$1($T)._eval$1("_StreamHandlerTransformer<1,2>")); + }, + Timer_Timer(duration, callback) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return t1.createTimer$2(duration, callback); + return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback)); + }, + _rootHandleUncaughtError($self, $parent, zone, error, stackTrace) { + A._rootHandleError(type$.Object._as(error), type$.StackTrace._as(stackTrace)); + }, + _rootHandleError(error, stackTrace) { + A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); + }, + _rootRun($self, $parent, zone, f, $R) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("0()")._as(f); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$0(); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$0(); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$1(arg); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$1(arg); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$2(arg1, arg2); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$2(arg1, arg2); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRegisterCallback($self, $parent, zone, f, $R) { + return $R._eval$1("0()")._as(f); + }, + _rootRegisterUnaryCallback($self, $parent, zone, f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + _rootRegisterBinaryCallback($self, $parent, zone, f, $R, T1, T2) { + return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + }, + _rootErrorCallback($self, $parent, zone, error, stackTrace) { + type$.Object._as(error); + type$.nullable_StackTrace._as(stackTrace); + return null; + }, + _rootScheduleMicrotask($self, $parent, zone, f) { + var t1, t2; + type$.void_Function._as(f); + if (B.C__RootZone !== zone) { + t1 = B.C__RootZone.get$errorZone(); + t2 = zone.get$errorZone(); + f = t1 !== t2 ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); + } + A._scheduleAsyncCallback(f); + }, + _rootCreateTimer($self, $parent, zone, duration, callback) { + type$.Duration._as(duration); + type$.void_Function._as(callback); + return A.Timer__createTimer(duration, B.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback); + }, + _rootCreatePeriodicTimer($self, $parent, zone, duration, callback) { + var milliseconds; + type$.Duration._as(duration); + type$.void_Function_Timer._as(callback); + if (B.C__RootZone !== zone) + callback = zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer); + milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000); + return A._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback); + }, + _rootPrint($self, $parent, zone, line) { + A.printString(A._asString(line)); + }, + _printToZone(line) { + $.Zone__current.print$1(line); + }, + _rootFork($self, $parent, zone, specification, zoneValues) { + var valueMap, t1, handleUncaughtError; + type$.nullable_ZoneSpecification._as(specification); + type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(zoneValues); + $.printToZone = A.async___printToZone$closure(); + if (specification == null) + specification = B._ZoneSpecification_48t; + if (zoneValues == null) + valueMap = zone.get$_async$_map(); + else { + t1 = type$.nullable_Object; + valueMap = A.HashMap_HashMap$from(zoneValues, t1, t1); + } + t1 = new A._CustomZone(zone.get$_run(), zone.get$_runUnary(), zone.get$_runBinary(), zone.get$_registerCallback(), zone.get$_registerUnaryCallback(), zone.get$_registerBinaryCallback(), zone.get$_errorCallback(), zone.get$_scheduleMicrotask(), zone.get$_createTimer(), zone.get$_createPeriodicTimer(), zone.get$_print(), zone.get$_fork(), zone.get$_handleUncaughtError(), zone, valueMap); + handleUncaughtError = specification.handleUncaughtError; + if (handleUncaughtError != null) + t1.set$_handleUncaughtError(new A._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace)); + return t1; + }, + runZoned(body, zoneValues, $R) { + A.checkNotNullable(body, "body", $R._eval$1("0()")); + return A._runZoned(body, zoneValues, null, $R); + }, + _runZoned(body, zoneValues, specification, $R) { + return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1$1(body, $R); + }, + _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { + this._box_0 = t0; + }, + _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { + this._box_0 = t0; + this.div = t1; + this.span = t2; + }, + _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { + this.callback = t0; + }, + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { + this.callback = t0; + }, + _TimerImpl: function _TimerImpl() { + this._tick = 0; + }, + _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { + this.$this = t0; + this.callback = t1; + }, + _TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.milliseconds = t1; + _.start = t2; + _.callback = t3; + }, + _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { + this._future = t0; + this.isSync = false; + this.$ti = t1; + }, + _awaitOnObject_closure: function _awaitOnObject_closure(t0) { + this.bodyFunction = t0; + }, + _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { + this.bodyFunction = t0; + }, + _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { + this.$protected = t0; + }, + _SyncStarIterator: function _SyncStarIterator(t0, t1) { + var _ = this; + _._body = t0; + _._suspendedBodies = _._nestedIterator = _._datum = _._async$_current = null; + _.$ti = t1; + }, + _SyncStarIterable: function _SyncStarIterable(t0, t1) { + this._outerHelper = t0; + this.$ti = t1; + }, + AsyncError: function AsyncError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _BroadcastStream: function _BroadcastStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._eventState = 0; + _._async$_previous = _._async$_next = null; + _._controller = t0; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._async$_state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _BroadcastStreamController: function _BroadcastStreamController() { + }, + _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { + var _ = this; + _.onListen = t0; + _.onCancel = t1; + _._async$_state = 0; + _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null; + _.$ti = t2; + }, + _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) { + this.$this = t0; + this.data = t1; + }, + _SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure(t0) { + this.$this = t0; + }, + Future_Future_closure: function Future_Future_closure(t0, t1) { + this.result = t0; + this.computation = t1; + }, + Future_Future$delayed_closure: function Future_Future$delayed_closure(t0, t1, t2) { + this.computation = t0; + this.result = t1; + this.T = t2; + }, + Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.cleanUp = t1; + _.eagerError = t2; + _._future = t3; + }, + Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._box_0 = t0; + _.pos = t1; + _._future = t2; + _.T = t3; + _.cleanUp = t4; + _.eagerError = t5; + }, + _Completer: function _Completer() { + }, + _AsyncCompleter: function _AsyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _SyncCompleter: function _SyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { + var _ = this; + _._nextListener = null; + _.result = t0; + _.state = t1; + _.callback = t2; + _.errorCallback = t3; + _.$ti = t4; + }, + _Future: function _Future(t0, t1) { + var _ = this; + _._async$_state = 0; + _._zone = t0; + _._resultOrListeners = null; + _.$ti = t1; + }, + _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { + this.$this = t0; + this.listener = t1; + }, + _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { + this.$this = t0; + }, + _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { + this.$this = t0; + this.e = t1; + this.s = t2; + }, + _Future__chainCoreFutureAsync_closure: function _Future__chainCoreFutureAsync_closure(t0, t1) { + this._box_0 = t0; + this.target = t1; + }, + _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { + this._box_0 = t0; + this._box_1 = t1; + this.hasError = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { + this.originalSource = t0; + }, + _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { + this._box_0 = t0; + this.sourceResult = t1; + }, + _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { + this._box_1 = t0; + this._box_0 = t1; + }, + _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { + this.callback = t0; + this.next = null; + }, + Stream: function Stream() { + }, + Stream_length_closure: function Stream_length_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + Stream_length_closure0: function Stream_length_closure0(t0, t1) { + this._box_0 = t0; + this.future = t1; + }, + Stream_first_closure: function Stream_first_closure(t0) { + this.future = t0; + }, + Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) { + this.$this = t0; + this.subscription = t1; + this.future = t2; + }, + Stream_firstWhere_closure: function Stream_firstWhere_closure(t0, t1, t2) { + this.$this = t0; + this.orElse = t1; + this.future = t2; + }, + Stream_firstWhere_closure0: function Stream_firstWhere_closure0(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.test = t1; + _.subscription = t2; + _.future = t3; + }, + Stream_firstWhere__closure: function Stream_firstWhere__closure(t0, t1) { + this.test = t0; + this.value = t1; + }, + Stream_firstWhere__closure0: function Stream_firstWhere__closure0(t0, t1, t2) { + this.subscription = t0; + this.future = t1; + this.value = t2; + }, + StreamTransformerBase: function StreamTransformerBase() { + }, + _StreamController: function _StreamController() { + }, + _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) { + this.$this = t0; + }, + _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) { + this.$this = t0; + }, + _SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() { + }, + _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() { + }, + _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._async$_state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._async$_state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _ControllerStream: function _ControllerStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._controller = t0; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._async$_state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) { + this._async$_target = t0; + this.$ti = t1; + }, + _BufferingStreamSubscription: function _BufferingStreamSubscription() { + }, + _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) { + this.$this = t0; + }, + _StreamImpl: function _StreamImpl() { + }, + _DelayedEvent: function _DelayedEvent() { + }, + _DelayedData: function _DelayedData(t0, t1) { + this.value = t0; + this.next = null; + this.$ti = t1; + }, + _DelayedError: function _DelayedError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + this.next = null; + }, + _DelayedDone: function _DelayedDone() { + }, + _PendingEvents: function _PendingEvents(t0) { + var _ = this; + _._async$_state = 0; + _.lastPendingEvent = _.firstPendingEvent = null; + _.$ti = t0; + }, + _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { + this.$this = t0; + this.dispatch = t1; + }, + _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1) { + var _ = this; + _._async$_state = 1; + _._zone = t0; + _._onDone = null; + _.$ti = t1; + }, + _StreamIterator: function _StreamIterator(t0, t1) { + var _ = this; + _._subscription = null; + _._stateData = t0; + _._async$_hasValue = false; + _.$ti = t1; + }, + _cancelAndError_closure: function _cancelAndError_closure(t0, t1, t2) { + this.future = t0; + this.error = t1; + this.stackTrace = t2; + }, + _cancelAndErrorClosure_closure: function _cancelAndErrorClosure_closure(t0, t1) { + this.subscription = t0; + this.future = t1; + }, + _cancelAndValue_closure: function _cancelAndValue_closure(t0, t1) { + this.future = t0; + this.value = t1; + }, + _ForwardingStream: function _ForwardingStream() { + }, + _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._stream = t0; + _._subscription = null; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._async$_state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _MapStream: function _MapStream(t0, t1, t2) { + this._transform = t0; + this._async$_source = t1; + this.$ti = t2; + }, + _EventSinkWrapper: function _EventSinkWrapper(t0, t1) { + this._async$_sink = t0; + this.$ti = t1; + }, + _SinkTransformerStreamSubscription: function _SinkTransformerStreamSubscription(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.___SinkTransformerStreamSubscription__transformerSink_A = $; + _._subscription = null; + _._async$_onData = t0; + _._onError = t1; + _._onDone = t2; + _._zone = t3; + _._async$_state = t4; + _._pending = _._cancelFuture = null; + _.$ti = t5; + }, + _StreamSinkTransformer: function _StreamSinkTransformer() { + }, + _BoundSinkStream: function _BoundSinkStream(t0, t1, t2) { + this._sinkMapper = t0; + this._stream = t1; + this.$ti = t2; + }, + _HandlerEventSink: function _HandlerEventSink(t0, t1, t2, t3, t4) { + var _ = this; + _._handleData = t0; + _._handleError = t1; + _._handleDone = t2; + _._async$_sink = t3; + _.$ti = t4; + }, + _StreamHandlerTransformer: function _StreamHandlerTransformer(t0, t1) { + this._sinkMapper = t0; + this.$ti = t1; + }, + _StreamHandlerTransformer_closure: function _StreamHandlerTransformer_closure(t0, t1, t2, t3, t4) { + var _ = this; + _.handleData = t0; + _.handleError = t1; + _.handleDone = t2; + _.T = t3; + _.S = t4; + }, + _ZoneFunction: function _ZoneFunction(t0, t1, t2) { + this.zone = t0; + this.$function = t1; + this.$ti = t2; + }, + _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { + var _ = this; + _.handleUncaughtError = t0; + _.run = t1; + _.runUnary = t2; + _.runBinary = t3; + _.registerCallback = t4; + _.registerUnaryCallback = t5; + _.registerBinaryCallback = t6; + _.errorCallback = t7; + _.scheduleMicrotask = t8; + _.createTimer = t9; + _.createPeriodicTimer = t10; + _.print = t11; + _.fork = t12; + }, + _ZoneDelegate: function _ZoneDelegate(t0) { + this._delegationTarget = t0; + }, + _Zone: function _Zone() { + }, + _CustomZone: function _CustomZone(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) { + var _ = this; + _._run = t0; + _._runUnary = t1; + _._runBinary = t2; + _._registerCallback = t3; + _._registerUnaryCallback = t4; + _._registerBinaryCallback = t5; + _._errorCallback = t6; + _._scheduleMicrotask = t7; + _._createTimer = t8; + _._createPeriodicTimer = t9; + _._print = t10; + _._fork = t11; + _._handleUncaughtError = t12; + _._delegateCache = null; + _.parent = t13; + _._async$_map = t14; + }, + _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.R = t2; + }, + _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.registered = t1; + _.T = t2; + _.R = t3; + }, + _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.registered = t1; + }, + _CustomZone_bindUnaryCallbackGuarded_closure: function _CustomZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.T = t2; + }, + _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _RootZone: function _RootZone() { + }, + _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.R = t2; + }, + _RootZone_bindUnaryCallback_closure: function _RootZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.f = t1; + _.T = t2; + _.R = t3; + }, + _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.f = t1; + }, + _RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.T = t2; + }, + HashMap_HashMap($K, $V) { + return new A._HashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_HashMap<1,2>")); + }, + _HashMap__getTableEntry(table, key) { + var entry = table[key]; + return entry === table ? null : entry; + }, + _HashMap__setTableEntry(table, key, value) { + if (value == null) + table[key] = table; + else + table[key] = value; + }, + _HashMap__newHashTable() { + var table = Object.create(null); + A._HashMap__setTableEntry(table, "", table); + delete table[""]; + return table; + }, + LinkedHashMap_LinkedHashMap($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) { + return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); + }, + LinkedHashMap_LinkedHashMap$_empty($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + LinkedHashSet_LinkedHashSet$_empty($E) { + return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")); + }, + _LinkedHashSet__newHashTable() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + _LinkedHashSetIterator$(_set, _modifications, $E) { + var t1 = new A._LinkedHashSetIterator(_set, _modifications, $E._eval$1("_LinkedHashSetIterator<0>")); + t1._collection$_cell = _set._collection$_first; + return t1; + }, + HashMap_HashMap$from(other, $K, $V) { + var result = A.HashMap_HashMap($K, $V); + other.forEach$1(0, new A.HashMap_HashMap$from_closure(result, $K, $V)); + return result; + }, + MapBase_mapToString(m) { + var result, t1 = {}; + if (A.isToStringVisiting(m)) + return "{...}"; + result = new A.StringBuffer(""); + try { + B.JSArray_methods.add$1($.toStringVisiting, m); + result._contents += "{"; + t1.first = true; + m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result)); + result._contents += "}"; + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === m); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = result._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _HashMap: function _HashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _.$ti = t0; + }, + _HashMap_values_closure: function _HashMap_values_closure(t0) { + this.$this = t0; + }, + _IdentityHashMap: function _IdentityHashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _.$ti = t0; + }, + _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._collection$_map = t0; + _._collection$_keys = t1; + _._offset = 0; + _._collection$_current = null; + _.$ti = t2; + }, + _LinkedHashSet: function _LinkedHashSet(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _._collection$_modifications = 0; + _.$ti = t0; + }, + _LinkedHashSetCell: function _LinkedHashSetCell(t0) { + this._element = t0; + this._collection$_previous = this._collection$_next = null; + }, + _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { + var _ = this; + _._set = t0; + _._collection$_modifications = t1; + _._collection$_current = _._collection$_cell = null; + _.$ti = t2; + }, + HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0, t1, t2) { + this.result = t0; + this.K = t1; + this.V = t2; + }, + LinkedList: function LinkedList(t0) { + var _ = this; + _._collection$_length = _._modificationCount = 0; + _._collection$_first = null; + _.$ti = t0; + }, + _LinkedListIterator: function _LinkedListIterator(t0, t1, t2, t3) { + var _ = this; + _._list = t0; + _._modificationCount = t1; + _._collection$_current = null; + _._collection$_next = t2; + _._visitedFirst = false; + _.$ti = t3; + }, + LinkedListEntry: function LinkedListEntry() { + }, + ListBase: function ListBase() { + }, + MapBase: function MapBase() { + }, + MapBase_entries_closure: function MapBase_entries_closure(t0) { + this.$this = t0; + }, + MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { + this._box_0 = t0; + this.result = t1; + }, + _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1, t2) { + var _ = this; + _._collection$_keys = t0; + _._collection$_map = t1; + _._collection$_current = null; + _.$ti = t2; + }, + _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { + }, + MapView: function MapView() { + }, + UnmodifiableMapView: function UnmodifiableMapView() { + }, + SetBase: function SetBase() { + }, + _SetBase: function _SetBase() { + }, + _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { + }, + _Utf8Decoder__makeNativeUint8List(codeUnits, start, end) { + var bytes, t1, i, b, + $length = end - start; + if ($length <= 4096) + bytes = $.$get$_Utf8Decoder__reusableBuffer(); + else + bytes = new Uint8Array($length); + for (t1 = J.getInterceptor$asx(codeUnits), i = 0; i < $length; ++i) { + b = t1.$index(codeUnits, start + i); + if ((b & 255) !== b) + b = 255; + bytes[i] = b; + } + return bytes; + }, + _Utf8Decoder__convertInterceptedUint8List(allowMalformed, codeUnits, start, end) { + var decoder = allowMalformed ? $.$get$_Utf8Decoder__decoderNonfatal() : $.$get$_Utf8Decoder__decoder(); + if (decoder == null) + return null; + if (0 === start && end === codeUnits.length) + return A._Utf8Decoder__useTextDecoder(decoder, codeUnits); + return A._Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, end)); + }, + _Utf8Decoder__useTextDecoder(decoder, codeUnits) { + var t1, exception; + try { + t1 = decoder.decode(codeUnits); + return t1; + } catch (exception) { + } + return null; + }, + Base64Codec__checkPadding(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) { + if (B.JSInt_methods.$mod($length, 4) !== 0) + throw A.wrapException(A.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd)); + if (firstPadding + paddingCount !== $length) + throw A.wrapException(A.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex)); + if (paddingCount > 2) + throw A.wrapException(A.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex)); + }, + _Utf8Decoder_errorDescription(state) { + switch (state) { + case 65: + return "Missing extension byte"; + case 67: + return "Unexpected extension byte"; + case 69: + return "Invalid UTF-8 byte"; + case 71: + return "Overlong encoding"; + case 73: + return "Out of unicode range"; + case 75: + return "Encoded surrogate"; + case 77: + return "Unfinished UTF-8 octet sequence"; + default: + return ""; + } + }, + _Utf8Decoder__decoder_closure: function _Utf8Decoder__decoder_closure() { + }, + _Utf8Decoder__decoderNonfatal_closure: function _Utf8Decoder__decoderNonfatal_closure() { + }, + AsciiCodec: function AsciiCodec() { + }, + _UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() { + }, + AsciiEncoder: function AsciiEncoder(t0) { + this._subsetMask = t0; + }, + Base64Codec: function Base64Codec() { + }, + Base64Encoder: function Base64Encoder() { + }, + Codec: function Codec() { + }, + _FusedCodec: function _FusedCodec(t0, t1, t2) { + this._convert$_first = t0; + this._second = t1; + this.$ti = t2; + }, + Converter: function Converter() { + }, + Encoding: function Encoding() { + }, + Utf8Codec: function Utf8Codec() { + }, + Utf8Encoder: function Utf8Encoder() { + }, + _Utf8Encoder: function _Utf8Encoder(t0) { + this._bufferIndex = this._carry = 0; + this._buffer = t0; + }, + _Utf8Decoder: function _Utf8Decoder(t0) { + this.allowMalformed = t0; + this._state = 16; + this._charOrIndex = 0; + }, + BigInt_parse(source) { + var result = A._BigIntImpl__tryParse(source, null); + if (result == null) + A.throwExpression(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl_parse(source, radix) { + var result = A._BigIntImpl__tryParse(source, radix); + if (result == null) + throw A.wrapException(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl__parseDecimal(source, isNegative) { + var part, i, + result = $.$get$_BigIntImpl_zero(), + t1 = source.length, + digitInPartCount = 4 - t1 % 4; + if (digitInPartCount === 4) + digitInPartCount = 0; + for (part = 0, i = 0; i < t1; ++i) { + part = part * 10 + source.charCodeAt(i) - 48; + ++digitInPartCount; + if (digitInPartCount === 4) { + result = result.$mul(0, $.$get$_BigIntImpl__bigInt10000()).$add(0, A._BigIntImpl__BigIntImpl$_fromInt(part)); + part = 0; + digitInPartCount = 0; + } + } + if (isNegative) + return result.$negate(0); + return result; + }, + _BigIntImpl__codeUnitToRadixValue(codeUnit) { + if (48 <= codeUnit && codeUnit <= 57) + return codeUnit - 48; + return (codeUnit | 32) - 97 + 10; + }, + _BigIntImpl__parseHex(source, startPos, isNegative) { + var i, chunk, j, i0, digitValue, digitIndex, digitIndex0, + t1 = source.length, + sourceLength = t1 - startPos, + chunkCount = B.JSNumber_methods.ceil$0(sourceLength / 4), + digits = new Uint16Array(chunkCount), + t2 = chunkCount - 1, + lastDigitLength = sourceLength - t2 * 4; + for (i = startPos, chunk = 0, j = 0; j < lastDigitLength; ++j, i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(source, i); + digitValue = A._BigIntImpl__codeUnitToRadixValue(source.charCodeAt(i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex = t2 - 1; + if (!(t2 >= 0 && t2 < chunkCount)) + return A.ioore(digits, t2); + digits[t2] = chunk; + for (; i < t1; digitIndex = digitIndex0) { + for (chunk = 0, j = 0; j < 4; ++j, i = i0) { + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(source, i); + digitValue = A._BigIntImpl__codeUnitToRadixValue(source.charCodeAt(i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex0 = digitIndex - 1; + if (!(digitIndex >= 0 && digitIndex < chunkCount)) + return A.ioore(digits, digitIndex); + digits[digitIndex] = chunk; + } + if (chunkCount === 1) { + if (0 >= chunkCount) + return A.ioore(digits, 0); + t1 = digits[0] === 0; + } else + t1 = false; + if (t1) + return $.$get$_BigIntImpl_zero(); + t1 = A._BigIntImpl__normalize(chunkCount, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__tryParse(source, radix) { + var match, t1, t2, isNegative, decimalMatch, hexMatch; + if (source === "") + return null; + match = $.$get$_BigIntImpl__parseRE().firstMatch$1(source); + if (match == null) + return null; + t1 = match._match; + t2 = t1.length; + if (1 >= t2) + return A.ioore(t1, 1); + isNegative = t1[1] === "-"; + if (4 >= t2) + return A.ioore(t1, 4); + decimalMatch = t1[4]; + hexMatch = t1[3]; + if (5 >= t2) + return A.ioore(t1, 5); + if (decimalMatch != null) + return A._BigIntImpl__parseDecimal(decimalMatch, isNegative); + if (hexMatch != null) + return A._BigIntImpl__parseHex(hexMatch, 2, isNegative); + return null; + }, + _BigIntImpl__normalize(used, digits) { + var t2, + t1 = digits.length; + while (true) { + if (used > 0) { + t2 = used - 1; + if (!(t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2] === 0; + } else + t2 = false; + if (!t2) + break; + --used; + } + return used; + }, + _BigIntImpl__cloneDigits(digits, from, to, $length) { + var t1, i, t2, + resultDigits = new Uint16Array($length), + n = to - from; + for (t1 = digits.length, i = 0; i < n; ++i) { + t2 = from + i; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2]; + if (!(i < $length)) + return A.ioore(resultDigits, i); + resultDigits[i] = t2; + } + return resultDigits; + }, + _BigIntImpl__BigIntImpl$from(value) { + var t1; + if (value === 0) + return $.$get$_BigIntImpl_zero(); + if (value === 1) + return $.$get$_BigIntImpl_one(); + if (value === 2) + return $.$get$_BigIntImpl_two(); + if (Math.abs(value) < 4294967296) + return A._BigIntImpl__BigIntImpl$_fromInt(B.JSInt_methods.toInt$0(value)); + t1 = A._BigIntImpl__BigIntImpl$_fromDouble(value); + return t1; + }, + _BigIntImpl__BigIntImpl$_fromInt(value) { + var digits, t1, i, i0, + isNegative = value < 0; + if (isNegative) { + if (value === -9223372036854776e3) { + digits = new Uint16Array(4); + digits[3] = 32768; + t1 = A._BigIntImpl__normalize(4, digits); + return new A._BigIntImpl(t1 !== 0, digits, t1); + } + value = -value; + } + if (value < 65536) { + digits = new Uint16Array(1); + digits[0] = value; + t1 = A._BigIntImpl__normalize(1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + if (value <= 4294967295) { + digits = new Uint16Array(2); + digits[0] = value & 65535; + digits[1] = B.JSInt_methods._shrOtherPositive$1(value, 16); + t1 = A._BigIntImpl__normalize(2, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + t1 = B.JSInt_methods._tdivFast$1(B.JSInt_methods.get$bitLength(value) - 1, 16) + 1; + digits = new Uint16Array(t1); + for (i = 0; value !== 0; i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(digits, i); + digits[i] = value & 65535; + value = B.JSInt_methods._tdivFast$1(value, 65536); + } + t1 = A._BigIntImpl__normalize(t1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__BigIntImpl$_fromDouble(value) { + var isNegative, bits, i, t1, t2, exponent, unshiftedDigits, unshiftedBig, absResult; + if (isNaN(value) || value == 1 / 0 || value == -1 / 0) + throw A.wrapException(A.ArgumentError$("Value must be finite: " + value, null)); + isNegative = value < 0; + if (isNegative) + value = -value; + value = Math.floor(value); + if (value === 0) + return $.$get$_BigIntImpl_zero(); + bits = $.$get$_BigIntImpl__bitsForFromDouble(); + for (i = 0; i < 8; ++i) + bits[i] = 0; + B.NativeByteData_methods._setFloat64$3(A.NativeByteData_NativeByteData$view(bits.buffer, 0, null), 0, value, true); + t1 = bits[7]; + t2 = bits[6]; + exponent = (t1 << 4 >>> 0) + (t2 >>> 4) - 1075; + unshiftedDigits = new Uint16Array(4); + unshiftedDigits[0] = (bits[1] << 8 >>> 0) + bits[0]; + unshiftedDigits[1] = (bits[3] << 8 >>> 0) + bits[2]; + unshiftedDigits[2] = (bits[5] << 8 >>> 0) + bits[4]; + unshiftedDigits[3] = t2 & 15 | 16; + unshiftedBig = new A._BigIntImpl(false, unshiftedDigits, 4); + if (exponent < 0) + absResult = unshiftedBig.$shr(0, -exponent); + else + absResult = exponent > 0 ? unshiftedBig.$shl(0, exponent) : unshiftedBig; + if (isNegative) + return absResult.$negate(0); + return absResult; + }, + _BigIntImpl__dlShiftDigits(xDigits, xUsed, n, resultDigits) { + var i, t1, t2, t3, t4; + if (xUsed === 0) + return 0; + if (n === 0 && resultDigits === xDigits) + return xUsed; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length; i >= 0; --i) { + t3 = i + n; + if (!(i < t1)) + return A.ioore(xDigits, i); + t4 = xDigits[i]; + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = t4; + } + for (i = n - 1; i >= 0; --i) { + if (!(i < t2)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + return xUsed + n; + }, + _BigIntImpl__lsh(xDigits, xUsed, n, resultDigits) { + var digitShift, bitShift, carryBitShift, bitMask, i, t1, t2, carry, digit, t3, t4; + A.assertHelper(xUsed > 0); + digitShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, carryBitShift) - 1; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.length, carry = 0; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(xDigits, i); + digit = xDigits[i]; + t3 = i + digitShift + 1; + t4 = B.JSInt_methods.$shr(digit, carryBitShift); + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = (t4 | carry) >>> 0; + carry = B.JSInt_methods.$shl((digit & bitMask) >>> 0, bitShift); + } + if (!(digitShift >= 0 && digitShift < t2)) + return A.ioore(resultDigits, digitShift); + resultDigits[digitShift] = carry; + }, + _BigIntImpl__lShiftDigits(xDigits, xUsed, n, resultDigits) { + var resultUsed, t1, i, t2, + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + if (B.JSInt_methods.$mod(n, 16) === 0) + return A._BigIntImpl__dlShiftDigits(xDigits, xUsed, digitsShift, resultDigits); + resultUsed = xUsed + digitsShift + 1; + A._BigIntImpl__lsh(xDigits, xUsed, n, resultDigits); + for (t1 = resultDigits.length, i = digitsShift; --i, i >= 0;) { + if (!(i < t1)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + t2 = resultUsed - 1; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(resultDigits, t2); + if (resultDigits[t2] === 0) + resultUsed = t2; + return resultUsed; + }, + _BigIntImpl__rsh(xDigits, xUsed, n, resultDigits) { + var digitsShift, bitShift, carryBitShift, bitMask, t1, carry, last, t2, i, t3, digit; + A.assertHelper(xUsed > 0); + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, bitShift) - 1; + t1 = xDigits.length; + if (!(digitsShift >= 0 && digitsShift < t1)) + return A.ioore(xDigits, digitsShift); + carry = B.JSInt_methods.$shr(xDigits[digitsShift], bitShift); + last = xUsed - digitsShift - 1; + for (t2 = resultDigits.length, i = 0; i < last; ++i) { + t3 = i + digitsShift + 1; + if (!(t3 < t1)) + return A.ioore(xDigits, t3); + digit = xDigits[t3]; + t3 = B.JSInt_methods.$shl((digit & bitMask) >>> 0, carryBitShift); + if (!(i < t2)) + return A.ioore(resultDigits, i); + resultDigits[i] = (t3 | carry) >>> 0; + carry = B.JSInt_methods.$shr(digit, bitShift); + } + if (!(last >= 0 && last < t2)) + return A.ioore(resultDigits, last); + resultDigits[last] = carry; + }, + _BigIntImpl__compareDigits(digits, used, otherDigits, otherUsed) { + var i, t1, t2, t3, + result = used - otherUsed; + if (result === 0) + for (i = used - 1, t1 = digits.length, t2 = otherDigits.length; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + result = t3 - otherDigits[i]; + if (result !== 0) + return result; + } + return result; + }, + _BigIntImpl__absAdd(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 + otherDigits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + if (!(used >= 0 && used < t3)) + return A.ioore(resultDigits, used); + resultDigits[used] = carry; + }, + _BigIntImpl__absSub(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 - otherDigits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + if (!(i < t3)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + }, + _BigIntImpl__mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) { + var t1, t2, c, i0, t3, combined, j0, l; + if (x === 0) + return; + for (t1 = multiplicandDigits.length, t2 = accumulatorDigits.length, c = 0; --n, n >= 0; j = j0, i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(multiplicandDigits, i); + t3 = multiplicandDigits[i]; + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + combined = x * t3 + accumulatorDigits[j] + c; + j0 = j + 1; + accumulatorDigits[j] = combined & 65535; + c = B.JSInt_methods._tdivFast$1(combined, 65536); + } + for (; c !== 0; j = j0) { + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + l = accumulatorDigits[j] + c; + j0 = j + 1; + accumulatorDigits[j] = l & 65535; + c = B.JSInt_methods._tdivFast$1(l, 65536); + } + }, + _BigIntImpl__estimateQuotientDigit(topDigitDivisor, digits, i) { + var t2, t3, quotientDigit, + t1 = digits.length; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t2 = digits[i]; + if (t2 === topDigitDivisor) + return 65535; + t3 = i - 1; + if (!(t3 >= 0 && t3 < t1)) + return A.ioore(digits, t3); + quotientDigit = B.JSInt_methods.$tdiv((t2 << 16 | digits[t3]) >>> 0, topDigitDivisor); + if (quotientDigit > 65535) + return 65535; + return quotientDigit; + }, + Expando__badExpandoKey(object) { + throw A.wrapException(A.ArgumentError$value(object, "object", "Expandos are not allowed on strings, numbers, bools, records or null")); + }, + int_parse(source, radix) { + var value = A.Primitives_parseInt(source, radix); + if (value != null) + return value; + throw A.wrapException(A.FormatException$(source, null, null)); + }, + Error__throw(error, stackTrace) { + error = A.wrapException(error); + if (error == null) + error = type$.Object._as(error); + error.stack = stackTrace.toString$0(0); + throw error; + throw A.wrapException("unreachable"); + }, + List_List$filled($length, fill, growable, $E) { + var i, + result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E); + if ($length !== 0 && fill != null) + for (i = 0; i < result.length; ++i) + result[i] = fill; + return result; + }, + List_List$from(elements, growable, $E) { + var t1, + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, $E._as(t1.get$current())); + if (growable) + return list; + return J.JSArray_markFixedList(list, $E); + }, + List_List$of(elements, growable, $E) { + var t1; + if (growable) + return A.List_List$_of(elements, $E); + t1 = J.JSArray_markFixedList(A.List_List$_of(elements, $E), $E); + return t1; + }, + List_List$_of(elements, $E) { + var list, t1; + if (Array.isArray(elements)) + return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>")); + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, t1.get$current()); + return list; + }, + List_List$unmodifiable(elements, $E) { + return J.JSArray_markUnmodifiableList(A.List_List$from(elements, false, $E)); + }, + String_String$fromCharCodes(charCodes, start, end) { + var t1, t2, maxLength, array, len; + A.RangeError_checkNotNegative(start, "start"); + t1 = end == null; + t2 = !t1; + if (t2) { + maxLength = end - start; + if (maxLength < 0) + throw A.wrapException(A.RangeError$range(end, start, null, "end", null)); + if (maxLength === 0) + return ""; + } + if (Array.isArray(charCodes)) { + array = charCodes; + len = array.length; + if (t1) + end = len; + return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array); + } + if (type$.NativeUint8List._is(charCodes)) + return A.String__stringFromUint8List(charCodes, start, end); + if (t2) + charCodes = J.take$1$ax(charCodes, end); + if (start > 0) + charCodes = J.skip$1$ax(charCodes, start); + return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int)); + }, + String_String$fromCharCode(charCode) { + return A.Primitives_stringFromCharCode(charCode); + }, + String__stringFromUint8List(charCodes, start, endOrNull) { + var len = charCodes.length; + if (start >= len) + return ""; + return A.Primitives_stringFromNativeUint8List(charCodes, start, endOrNull == null || endOrNull > len ? len : endOrNull); + }, + RegExp_RegExp(source, caseSensitive, dotAll, multiLine, unicode) { + return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, false)); + }, + StringBuffer__writeAll(string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += A.S(iterator.get$current()); + while (iterator.moveNext$0()); + } else { + string += A.S(iterator.get$current()); + for (; iterator.moveNext$0();) + string = string + separator + A.S(iterator.get$current()); + } + return string; + }, + NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) { + return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()); + }, + Uri_base() { + var cachedUri, uri, + current = A.Primitives_currentUri(); + if (current == null) + throw A.wrapException(A.UnsupportedError$("'Uri.base' is not supported")); + cachedUri = $.Uri__cachedBaseUri; + if (cachedUri != null && current === $.Uri__cachedBaseString) + return cachedUri; + uri = A.Uri_parse(current); + $.Uri__cachedBaseUri = uri; + $.Uri__cachedBaseString = current; + return uri; + }, + _Uri__uriEncode(canonicalTable, text, encoding, spaceToPlus) { + var t1, bytes, i, t2, byte, t3, + _s16_ = "0123456789ABCDEF"; + if (encoding === B.C_Utf8Codec) { + t1 = $.$get$_Uri__needsNoEncoding(); + t1 = t1._nativeRegExp.test(text); + } else + t1 = false; + if (t1) + return text; + bytes = B.C_Utf8Encoder.convert$1(text); + for (t1 = bytes.length, i = 0, t2 = ""; i < t1; ++i) { + byte = bytes[i]; + if (byte < 128) { + t3 = byte >>> 4; + if (!(t3 < 8)) + return A.ioore(canonicalTable, t3); + t3 = (canonicalTable[t3] & 1 << (byte & 15)) !== 0; + } else + t3 = false; + if (t3) + t2 += A.Primitives_stringFromCharCode(byte); + else + t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[byte >>> 4 & 15] + _s16_[byte & 15]; + } + return t2.charCodeAt(0) == 0 ? t2 : t2; + }, + StackTrace_current() { + return A.getTraceFromException(new Error()); + }, + DateTime$_withValue(_value, isUtc) { + if (Math.abs(_value) > 864e13) + A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + _value, null)); + A.checkNotNullable(true, "isUtc", type$.bool); + return new A.DateTime(_value, true); + }, + DateTime__fourDigits(n) { + var absN = Math.abs(n), + sign = n < 0 ? "-" : ""; + if (absN >= 1000) + return "" + n; + if (absN >= 100) + return sign + "0" + absN; + if (absN >= 10) + return sign + "00" + absN; + return sign + "000" + absN; + }, + DateTime__threeDigits(n) { + if (n >= 100) + return "" + n; + if (n >= 10) + return "0" + n; + return "00" + n; + }, + DateTime__twoDigits(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + Duration$(microseconds, milliseconds) { + return new A.Duration(microseconds + 1000 * milliseconds); + }, + EnumByName_byName(_this, $name, $T) { + var t1, _i, value; + for (t1 = _this.length, _i = 0; _i < t1; ++_i) { + value = _this[_i]; + if (value._core$_name === $name) + return value; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "No enum value with that name")); + }, + EnumByName_asNameMap(_this, $T) { + var _i, value, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, $T); + for (_i = 0; _i < 2; ++_i) { + value = _this[_i]; + t1.$indexSet(0, value._core$_name, value); + } + return t1; + }, + Error_safeToString(object) { + if (typeof object == "number" || A._isBool(object) || object == null) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return A.Primitives_safeToString(object); + }, + Error_throwWithStackTrace(error, stackTrace) { + A.checkNotNullable(error, "error", type$.Object); + A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace); + A.Error__throw(error, stackTrace); + }, + AssertionError$(message) { + return new A.AssertionError(message); + }, + ArgumentError$(message, $name) { + return new A.ArgumentError(false, null, $name, message); + }, + ArgumentError$value(value, $name, message) { + return new A.ArgumentError(true, value, $name, message); + }, + ArgumentError_checkNotNull(argument, $name, $T) { + return argument; + }, + RangeError$(message) { + var _null = null; + return new A.RangeError(_null, _null, false, _null, _null, message); + }, + RangeError$value(value, $name) { + return new A.RangeError(null, null, true, value, $name, "Value not in range"); + }, + RangeError$range(invalidValue, minValue, maxValue, $name, message) { + return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); + }, + RangeError_checkValueInInterval(value, minValue, maxValue, $name) { + if (value < minValue || value > maxValue) + throw A.wrapException(A.RangeError$range(value, minValue, maxValue, $name, null)); + return value; + }, + RangeError_checkValidRange(start, end, $length) { + if (0 > start || start > $length) + throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null)); + if (end != null) { + if (start > end || end > $length) + throw A.wrapException(A.RangeError$range(end, start, $length, "end", null)); + return end; + } + return $length; + }, + RangeError_checkNotNegative(value, $name) { + if (value < 0) + throw A.wrapException(A.RangeError$range(value, 0, null, $name, null)); + return value; + }, + IndexError$withLength(invalidValue, $length, indexable, message, $name) { + return new A.IndexError($length, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$(message) { + return new A.UnsupportedError(message); + }, + UnimplementedError$(message) { + return new A.UnimplementedError(message); + }, + StateError$(message) { + return new A.StateError(message); + }, + ConcurrentModificationError$(modifiedObject) { + return new A.ConcurrentModificationError(modifiedObject); + }, + Exception_Exception(message) { + return new A._Exception(message); + }, + FormatException$(message, source, offset) { + return new A.FormatException(message, source, offset); + }, + Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) { + var parts, t1; + if (A.isToStringVisiting(iterable)) { + if (leftDelimiter === "(" && rightDelimiter === ")") + return "(...)"; + return leftDelimiter + "..." + rightDelimiter; + } + parts = A._setArrayType([], type$.JSArray_String); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + A._iterablePartsToStrings(iterable, parts); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { + var buffer, t1; + if (A.isToStringVisiting(iterable)) + return leftDelimiter + "..." + rightDelimiter; + buffer = new A.StringBuffer(leftDelimiter); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + t1 = buffer; + t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + buffer._contents += rightDelimiter; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _iterablePartsToStrings(iterable, parts) { + var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, + it = iterable.get$iterator(iterable), + $length = 0, count = 0; + while (true) { + if (!($length < 80 || count < 3)) + break; + if (!it.moveNext$0()) + return; + next = A.S(it.get$current()); + B.JSArray_methods.add$1(parts, next); + $length += next.length + 2; + ++count; + } + if (!it.moveNext$0()) { + if (count <= 5) + return; + if (0 >= parts.length) + return A.ioore(parts, -1); + ultimateString = parts.pop(); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + } else { + penultimate = it.get$current(); + ++count; + if (!it.moveNext$0()) { + if (count <= 4) { + B.JSArray_methods.add$1(parts, A.S(penultimate)); + return; + } + ultimateString = A.S(penultimate); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + $length += ultimateString.length + 2; + } else { + ultimate = it.get$current(); + ++count; + A.assertHelper(count < 100); + for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { + ultimate0 = it.get$current(); + ++count; + if (count > 100) { + while (true) { + if (!($length > 75 && count > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + --count; + } + B.JSArray_methods.add$1(parts, "..."); + return; + } + } + penultimateString = A.S(penultimate); + ultimateString = A.S(ultimate); + $length += ultimateString.length + penultimateString.length + 4; + } + } + if (count > parts.length + 2) { + $length += 5; + elision = "..."; + } else + elision = null; + while (true) { + if (!($length > 80 && parts.length > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + if (elision == null) { + $length += 5; + elision = "..."; + } + } + if (elision != null) + B.JSArray_methods.add$1(parts, elision); + B.JSArray_methods.add$1(parts, penultimateString); + B.JSArray_methods.add$1(parts, ultimateString); + }, + Object_hash(object1, object2, object3, object4) { + var t1; + if (B.C_SentinelValue === object3) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2)); + } + if (B.C_SentinelValue === object4) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3)); + } + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + object4 = J.get$hashCode$(object4); + object4 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4)); + return object4; + }, + print(object) { + var line = A.S(object), + toZone = $.printToZone; + if (toZone == null) + A.printString(line); + else + toZone.call$1(line); + }, + Uri_Uri$dataFromString($content) { + var t1, _null = null, + buffer = new A.StringBuffer(""), + indices = A._setArrayType([-1], type$.JSArray_int); + A.UriData__writeUri(_null, _null, _null, buffer, indices); + B.JSArray_methods.add$1(indices, buffer._contents.length); + buffer._contents += ","; + A.UriData__uriEncodeBytes(B.List_42A, B.C_AsciiCodec.encode$1($content), buffer); + t1 = buffer._contents; + return new A.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, _null).get$uri(); + }, + Uri_parse(uri) { + var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null, + end = uri.length; + if (end >= 5) { + if (4 >= end) + return A.ioore(uri, 4); + delta = ((uri.charCodeAt(4) ^ 58) * 3 | uri.charCodeAt(0) ^ 100 | uri.charCodeAt(1) ^ 97 | uri.charCodeAt(2) ^ 116 | uri.charCodeAt(3) ^ 97) >>> 0; + if (delta === 0) + return A.UriData__parse(end < end ? B.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri(); + else if (delta === 32) + return A.UriData__parse(B.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri(); + } + indices = A.List_List$filled(8, 0, false, type$.int); + B.JSArray_methods.$indexSet(indices, 0, 0); + B.JSArray_methods.$indexSet(indices, 1, -1); + B.JSArray_methods.$indexSet(indices, 2, -1); + B.JSArray_methods.$indexSet(indices, 7, -1); + B.JSArray_methods.$indexSet(indices, 3, 0); + B.JSArray_methods.$indexSet(indices, 4, 0); + B.JSArray_methods.$indexSet(indices, 5, end); + B.JSArray_methods.$indexSet(indices, 6, end); + if (A._scan(uri, 0, end, 0, indices) >= 14) + B.JSArray_methods.$indexSet(indices, 7, end); + schemeEnd = indices[1]; + if (schemeEnd >= 0) + if (A._scan(uri, 0, schemeEnd, 20, indices) === 20) + indices[7] = schemeEnd; + hostStart = indices[2] + 1; + portStart = indices[3]; + pathStart = indices[4]; + queryStart = indices[5]; + fragmentStart = indices[6]; + if (fragmentStart < queryStart) + queryStart = fragmentStart; + if (pathStart < hostStart) + pathStart = queryStart; + else if (pathStart <= schemeEnd) + pathStart = schemeEnd + 1; + if (portStart < hostStart) + portStart = pathStart; + A.assertHelper(hostStart === 0 || schemeEnd <= hostStart); + A.assertHelper(hostStart <= portStart); + A.assertHelper(schemeEnd <= pathStart); + A.assertHelper(portStart <= pathStart); + A.assertHelper(pathStart <= queryStart); + A.assertHelper(queryStart <= fragmentStart); + isSimple = indices[7] < 0; + if (isSimple) + if (hostStart > schemeEnd + 3) { + scheme = _null; + isSimple = false; + } else { + t1 = portStart > 0; + if (t1 && portStart + 1 === pathStart) { + scheme = _null; + isSimple = false; + } else { + if (!B.JSString_methods.startsWith$2(uri, "\\", pathStart)) + if (hostStart > 0) + t2 = B.JSString_methods.startsWith$2(uri, "\\", hostStart - 1) || B.JSString_methods.startsWith$2(uri, "\\", hostStart - 2); + else + t2 = false; + else + t2 = true; + if (t2) { + scheme = _null; + isSimple = false; + } else { + if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart))) + t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3); + else + t2 = true; + if (t2) + scheme = _null; + else if (schemeEnd === 4) + if (B.JSString_methods.startsWith$2(uri, "file", 0)) { + if (hostStart <= 0) { + if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) { + schemeAuth = "file:///"; + delta = 3; + } else { + schemeAuth = "file://"; + delta = 2; + } + uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end); + schemeEnd -= 0; + t1 = delta - 0; + queryStart += t1; + fragmentStart += t1; + end = uri.length; + hostStart = 7; + portStart = 7; + pathStart = 7; + } else if (pathStart === queryStart) { + ++fragmentStart; + queryStart0 = queryStart + 1; + uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); + ++end; + queryStart = queryStart0; + } + scheme = "file"; + } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) { + if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { + fragmentStart -= 3; + pathStart0 = pathStart - 3; + queryStart -= 3; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "http"; + } else + scheme = _null; + else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) { + if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) { + fragmentStart -= 4; + pathStart0 = pathStart - 4; + queryStart -= 4; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "https"; + } else + scheme = _null; + isSimple = !t2; + } + } + } + else + scheme = _null; + if (isSimple) { + if (end < uri.length) { + uri = B.JSString_methods.substring$2(uri, 0, end); + schemeEnd -= 0; + hostStart -= 0; + portStart -= 0; + pathStart -= 0; + queryStart -= 0; + fragmentStart -= 0; + } + return new A._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); + } + if (scheme == null) + if (schemeEnd > 0) + scheme = A._Uri__makeScheme(uri, 0, schemeEnd); + else { + if (schemeEnd === 0) + A._Uri__fail(uri, 0, "Invalid empty scheme"); + scheme = ""; + } + if (hostStart > 0) { + userInfoStart = schemeEnd + 3; + userInfo = userInfoStart < hostStart ? A._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : ""; + host = A._Uri__makeHost(uri, hostStart, portStart, false); + t1 = portStart + 1; + if (t1 < pathStart) { + portNumber = A.Primitives_parseInt(B.JSString_methods.substring$2(uri, t1, pathStart), _null); + port = A._Uri__makePort(portNumber == null ? A.throwExpression(A.FormatException$("Invalid port", uri, t1)) : portNumber, scheme); + } else + port = _null; + } else { + port = _null; + host = port; + userInfo = ""; + } + path = A._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null); + query = queryStart < fragmentStart ? A._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null; + return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragmentStart < end ? A._Uri__makeFragment(uri, fragmentStart + 1, end) : _null); + }, + Uri_decodeComponent(encodedComponent) { + A._asString(encodedComponent); + return A._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, B.C_Utf8Codec, false); + }, + Uri__parseIPv4Address(host, start, end) { + var t1, i, partStart, partIndex, char, part, partIndex0, + _s43_ = "IPv4 address should contain exactly 4 parts", + _s37_ = "each part must be in the range 0..255", + error = new A.Uri__parseIPv4Address_error(host), + result = new Uint8Array(4); + for (t1 = host.length, i = start, partStart = i, partIndex = 0; i < end; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(host, i); + char = host.charCodeAt(i); + if (char !== 46) { + if ((char ^ 48) > 9) + error.call$2("invalid character", i); + } else { + if (partIndex === 3) + error.call$2(_s43_, i); + part = A.int_parse(B.JSString_methods.substring$2(host, partStart, i), null); + if (part > 255) + error.call$2(_s37_, partStart); + partIndex0 = partIndex + 1; + if (!(partIndex < 4)) + return A.ioore(result, partIndex); + result[partIndex] = part; + partStart = i + 1; + partIndex = partIndex0; + } + } + if (partIndex !== 3) + error.call$2(_s43_, end); + part = A.int_parse(B.JSString_methods.substring$2(host, partStart, end), null); + if (part > 255) + error.call$2(_s37_, partStart); + if (!(partIndex < 4)) + return A.ioore(result, partIndex); + result[partIndex] = part; + return result; + }, + Uri_parseIPv6Address(host, start, end) { + var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, last, bytes, wildCardLength, index, value, j, t2, _null = null, + error = new A.Uri_parseIPv6Address_error(host), + parseHex = new A.Uri_parseIPv6Address_parseHex(error, host), + t1 = host.length; + if (t1 < 2) + error.call$2("address is too short", _null); + parts = A._setArrayType([], type$.JSArray_int); + for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(host, i); + char = host.charCodeAt(i); + if (char === 58) { + if (i === start) { + ++i; + if (!(i < t1)) + return A.ioore(host, i); + if (host.charCodeAt(i) !== 58) + error.call$2("invalid start colon.", i); + partStart = i; + } + if (i === partStart) { + if (wildcardSeen) + error.call$2("only one wildcard `::` is allowed", i); + B.JSArray_methods.add$1(parts, -1); + wildcardSeen = true; + } else + B.JSArray_methods.add$1(parts, parseHex.call$2(partStart, i)); + partStart = i + 1; + } else if (char === 46) + seenDot = true; + } + if (parts.length === 0) + error.call$2("too few parts", _null); + atEnd = partStart === end; + t1 = B.JSArray_methods.get$last(parts); + if (atEnd && t1 !== -1) + error.call$2("expected a part after last `:`", end); + if (!atEnd) + if (!seenDot) + B.JSArray_methods.add$1(parts, parseHex.call$2(partStart, end)); + else { + last = A.Uri__parseIPv4Address(host, partStart, end); + B.JSArray_methods.add$1(parts, (last[0] << 8 | last[1]) >>> 0); + B.JSArray_methods.add$1(parts, (last[2] << 8 | last[3]) >>> 0); + } + if (wildcardSeen) { + if (parts.length > 7) + error.call$2("an address with a wildcard must have less than 7 parts", _null); + } else if (parts.length !== 8) + error.call$2("an address without a wildcard must contain exactly 8 parts", _null); + bytes = new Uint8Array(16); + for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) { + value = parts[i]; + if (value === -1) + for (j = 0; j < wildCardLength; ++j) { + if (!(index >= 0 && index < 16)) + return A.ioore(bytes, index); + bytes[index] = 0; + t2 = index + 1; + if (!(t2 < 16)) + return A.ioore(bytes, t2); + bytes[t2] = 0; + index += 2; + } + else { + t2 = B.JSInt_methods._shrOtherPositive$1(value, 8); + if (!(index >= 0 && index < 16)) + return A.ioore(bytes, index); + bytes[index] = t2; + t2 = index + 1; + if (!(t2 < 16)) + return A.ioore(bytes, t2); + bytes[t2] = value & 255; + index += 2; + } + } + return bytes; + }, + _Uri$_internal(scheme, _userInfo, _host, _port, path, _query, _fragment) { + return new A._Uri(scheme, _userInfo, _host, _port, path, _query, _fragment); + }, + _Uri__Uri(host, path, pathSegments, scheme) { + var userInfo, query, fragment, port, isFile, t1, hasAuthority, t2, _null = null; + scheme = scheme == null ? "" : A._Uri__makeScheme(scheme, 0, scheme.length); + userInfo = A._Uri__makeUserInfo(_null, 0, 0); + host = A._Uri__makeHost(host, 0, host == null ? 0 : host.length, false); + query = A._Uri__makeQuery(_null, 0, 0, _null); + fragment = A._Uri__makeFragment(_null, 0, 0); + port = A._Uri__makePort(_null, scheme); + isFile = scheme === "file"; + if (host == null) + t1 = userInfo.length !== 0 || port != null || isFile; + else + t1 = false; + if (t1) + host = ""; + t1 = host == null; + hasAuthority = !t1; + path = A._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority); + t2 = scheme.length === 0; + if (t2 && t1 && !B.JSString_methods.startsWith$1(path, "/")) + path = A._Uri__normalizeRelativePath(path, !t2 || hasAuthority); + else + path = A._Uri__removeDotSegments(path); + return A._Uri$_internal(scheme, userInfo, t1 && B.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment); + }, + _Uri__defaultPort(scheme) { + if (scheme === "http") + return 80; + if (scheme === "https") + return 443; + return 0; + }, + _Uri__fail(uri, index, message) { + throw A.wrapException(A.FormatException$(message, uri, index)); + }, + _Uri__Uri$file(path, windows) { + return windows ? A._Uri__makeWindowsFileUrl(path, false) : A._Uri__makeFileUri(path, false); + }, + _Uri__checkNonWindowsPathReservedCharacters(segments, argumentError) { + var t1, _i, segment; + for (t1 = segments.length, _i = 0; _i < t1; ++_i) { + segment = segments[_i]; + if (J.contains$1$asx(segment, "/")) { + t1 = A.UnsupportedError$("Illegal path character " + A.S(segment)); + throw A.wrapException(t1); + } + } + }, + _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) { + var t1, t2, t3; + for (t1 = A.SubListIterable$(segments, firstSegment, null, A._arrayInstanceType(segments)._precomputed1), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + if (B.JSString_methods.contains$1(t3, A.RegExp_RegExp('["*/:<>?\\\\|]', true, false, false, false))) + if (argumentError) + throw A.wrapException(A.ArgumentError$("Illegal character in path", null)); + else + throw A.wrapException(A.UnsupportedError$("Illegal character in path: " + t3)); + } + }, + _Uri__checkWindowsDriveLetter(charCode, argumentError) { + var t1, + _s21_ = "Illegal drive letter "; + if (!(65 <= charCode && charCode <= 90)) + t1 = 97 <= charCode && charCode <= 122; + else + t1 = true; + if (t1) + return; + if (argumentError) + throw A.wrapException(A.ArgumentError$(_s21_ + A.String_String$fromCharCode(charCode), null)); + else + throw A.wrapException(A.UnsupportedError$(_s21_ + A.String_String$fromCharCode(charCode))); + }, + _Uri__makeFileUri(path, slashTerminated) { + var _null = null, + segments = A._setArrayType(path.split("/"), type$.JSArray_String); + if (B.JSString_methods.startsWith$1(path, "/")) + return A._Uri__Uri(_null, _null, segments, "file"); + else + return A._Uri__Uri(_null, _null, segments, _null); + }, + _Uri__makeWindowsFileUrl(path, slashTerminated) { + var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file"; + if (B.JSString_methods.startsWith$1(path, "\\\\?\\")) + if (B.JSString_methods.startsWith$2(path, "UNC\\", 4)) + path = B.JSString_methods.replaceRange$3(path, 0, 7, _s1_); + else { + path = B.JSString_methods.substring$1(path, 4); + t1 = path.length; + if (t1 >= 3) { + if (1 >= t1) + return A.ioore(path, 1); + if (path.charCodeAt(1) === 58) { + if (2 >= t1) + return A.ioore(path, 2); + t1 = path.charCodeAt(2) !== 92; + } else + t1 = true; + } else + t1 = true; + if (t1) + throw A.wrapException(A.ArgumentError$value(path, "path", "Windows paths with \\\\?\\ prefix must be absolute")); + } + else + path = A.stringReplaceAllUnchecked(path, "/", _s1_); + t1 = path.length; + if (t1 > 1 && path.charCodeAt(1) === 58) { + if (0 >= t1) + return A.ioore(path, 0); + A._Uri__checkWindowsDriveLetter(path.charCodeAt(0), true); + if (t1 !== 2) { + if (2 >= t1) + return A.ioore(path, 2); + t1 = path.charCodeAt(2) !== 92; + } else + t1 = true; + if (t1) + throw A.wrapException(A.ArgumentError$value(path, "path", "Windows paths with drive letter must be absolute")); + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1); + return A._Uri__Uri(_null, _null, pathSegments, _s4_); + } + if (B.JSString_methods.startsWith$1(path, _s1_)) + if (B.JSString_methods.startsWith$2(path, _s1_, 1)) { + pathStart = B.JSString_methods.indexOf$2(path, _s1_, 2); + t1 = pathStart < 0; + hostPart = t1 ? B.JSString_methods.substring$1(path, 2) : B.JSString_methods.substring$2(path, 2, pathStart); + pathSegments = A._setArrayType((t1 ? "" : B.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(hostPart, _null, pathSegments, _s4_); + } else { + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(_null, _null, pathSegments, _s4_); + } + else { + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(_null, _null, pathSegments, _null); + } + }, + _Uri__makePort(port, scheme) { + if (port != null && port === A._Uri__defaultPort(scheme)) + return null; + return port; + }, + _Uri__makeHost(host, start, end, strictIPv6) { + var t1, t2, index, zoneIDstart, zoneID, i; + if (host == null) + return null; + if (start === end) + return ""; + t1 = host.length; + if (!(start >= 0 && start < t1)) + return A.ioore(host, start); + if (host.charCodeAt(start) === 91) { + t2 = end - 1; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(host, t2); + if (host.charCodeAt(t2) !== 93) + A._Uri__fail(host, start, "Missing end `]` to match `[` in host"); + t1 = start + 1; + index = A._Uri__checkZoneID(host, t1, t2); + if (index < t2) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t2, "%25"); + } else + zoneID = ""; + A.Uri_parseIPv6Address(host, t1, index); + return B.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]"; + } + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(host, i); + if (host.charCodeAt(i) === 58) { + index = B.JSString_methods.indexOf$2(host, "%", start); + index = index >= start && index < end ? index : end; + if (index < end) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25"); + } else + zoneID = ""; + A.Uri_parseIPv6Address(host, start, index); + return "[" + B.JSString_methods.substring$2(host, start, index) + zoneID + "]"; + } + } + return A._Uri__normalizeRegName(host, start, end); + }, + _Uri__checkZoneID(host, start, end) { + var index = B.JSString_methods.indexOf$2(host, "%", start); + return index >= start && index < end ? index : end; + }, + _Uri__normalizeZoneID(host, start, end, prefix) { + var t1, index, sectionStart, isNormalized, char, replacement, t2, t3, tail, sourceLength, slice, + buffer = prefix !== "" ? new A.StringBuffer(prefix) : null; + for (t1 = host.length, index = start, sectionStart = index, isNormalized = true; index < end;) { + if (!(index >= 0 && index < t1)) + return A.ioore(host, index); + char = host.charCodeAt(index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t2 = replacement == null; + if (t2 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + t3 = buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + if (t2) + replacement = B.JSString_methods.substring$2(host, index, index + 3); + else if (replacement === "%") + A._Uri__fail(host, index, "ZoneID should not contain % anymore"); + buffer._contents = t3 + replacement; + index += 3; + sectionStart = index; + isNormalized = true; + } else { + if (char < 127) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_piR, t2); + t2 = (B.List_piR[t2] & 1 << (char & 15)) !== 0; + } else + t2 = false; + if (t2) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else { + if ((char & 64512) === 55296 && index + 1 < end) { + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(host, t2); + tail = host.charCodeAt(t2); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t2 = buffer; + } else + t2 = buffer; + t2._contents += slice; + t3 = A._Uri__escapeChar(char); + t2._contents += t3; + index += sourceLength; + sectionStart = index; + } + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) { + slice = B.JSString_methods.substring$2(host, sectionStart, end); + buffer._contents += slice; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__normalizeRegName(host, start, end) { + var t1, index, sectionStart, buffer, isNormalized, char, replacement, t2, slice, t3, sourceLength, tail; + for (t1 = host.length, index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) { + if (!(index >= 0 && index < t1)) + return A.ioore(host, index); + char = host.charCodeAt(index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t2 = replacement == null; + if (t2 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (!isNormalized) + slice = slice.toLowerCase(); + t3 = buffer._contents += slice; + if (t2) { + replacement = B.JSString_methods.substring$2(host, index, index + 3); + sourceLength = 3; + } else if (replacement === "%") { + replacement = "%25"; + sourceLength = 1; + } else + sourceLength = 3; + buffer._contents = t3 + replacement; + index += sourceLength; + sectionStart = index; + isNormalized = true; + } else { + if (char < 127) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_4AN, t2); + t2 = (B.List_4AN[t2] & 1 << (char & 15)) !== 0; + } else + t2 = false; + if (t2) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else { + if (char <= 93) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_VOY, t2); + t2 = (B.List_VOY[t2] & 1 << (char & 15)) !== 0; + } else + t2 = false; + if (t2) + A._Uri__fail(host, index, "Invalid character"); + else { + if ((char & 64512) === 55296 && index + 1 < end) { + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(host, t2); + tail = host.charCodeAt(t2); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (!isNormalized) + slice = slice.toLowerCase(); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t2 = buffer; + } else + t2 = buffer; + t2._contents += slice; + t3 = A._Uri__escapeChar(char); + t2._contents += t3; + index += sourceLength; + sectionStart = index; + } + } + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) { + slice = B.JSString_methods.substring$2(host, sectionStart, end); + if (!isNormalized) + slice = slice.toLowerCase(); + buffer._contents += slice; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__makeScheme(scheme, start, end) { + var t1, i, containsUpperCase, codeUnit, t2; + if (start === end) + return ""; + t1 = scheme.length; + if (!(start < t1)) + return A.ioore(scheme, start); + if (!A._Uri__isAlphabeticCharacter(scheme.charCodeAt(start))) + A._Uri__fail(scheme, start, "Scheme not starting with alphabetic character"); + for (i = start, containsUpperCase = false; i < end; ++i) { + if (!(i < t1)) + return A.ioore(scheme, i); + codeUnit = scheme.charCodeAt(i); + if (codeUnit < 128) { + t2 = codeUnit >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_GVy, t2); + t2 = (B.List_GVy[t2] & 1 << (codeUnit & 15)) !== 0; + } else + t2 = false; + if (!t2) + A._Uri__fail(scheme, i, "Illegal scheme character"); + if (65 <= codeUnit && codeUnit <= 90) + containsUpperCase = true; + } + scheme = B.JSString_methods.substring$2(scheme, start, end); + return A._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme); + }, + _Uri__canonicalizeScheme(scheme) { + if (scheme === "http") + return "http"; + if (scheme === "file") + return "file"; + if (scheme === "https") + return "https"; + if (scheme === "package") + return "package"; + return scheme; + }, + _Uri__makeUserInfo(userInfo, start, end) { + if (userInfo == null) + return ""; + return A._Uri__normalizeOrSubstring(userInfo, start, end, B.List_2jN, false, false); + }, + _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) { + var t1, result, + isFile = scheme === "file", + ensureLeadingSlash = isFile || hasAuthority; + if (path == null) { + if (pathSegments == null) + return isFile ? "/" : ""; + t1 = A._arrayInstanceType(pathSegments); + result = new A.MappedListIterable(pathSegments, t1._eval$1("String(1)")._as(new A._Uri__makePath_closure()), t1._eval$1("MappedListIterable<1,String>")).join$1(0, "/"); + } else if (pathSegments != null) + throw A.wrapException(A.ArgumentError$("Both path and pathSegments specified", null)); + else + result = A._Uri__normalizeOrSubstring(path, start, end, B.List_M2I, true, true); + if (result.length === 0) { + if (isFile) + return "/"; + } else if (ensureLeadingSlash && !B.JSString_methods.startsWith$1(result, "/")) + result = "/" + result; + return A._Uri__normalizePath(result, scheme, hasAuthority); + }, + _Uri__normalizePath(path, scheme, hasAuthority) { + var t1 = scheme.length === 0; + if (t1 && !hasAuthority && !B.JSString_methods.startsWith$1(path, "/") && !B.JSString_methods.startsWith$1(path, "\\")) + return A._Uri__normalizeRelativePath(path, !t1 || hasAuthority); + return A._Uri__removeDotSegments(path); + }, + _Uri__makeQuery(query, start, end, queryParameters) { + if (query != null) + return A._Uri__normalizeOrSubstring(query, start, end, B.List_42A, true, false); + return null; + }, + _Uri__makeFragment(fragment, start, end) { + if (fragment == null) + return null; + return A._Uri__normalizeOrSubstring(fragment, start, end, B.List_42A, true, false); + }, + _Uri__normalizeEscape(source, index, lowerCase) { + var t2, t3, firstDigit, secondDigit, firstDigitValue, secondDigitValue, value, + t1 = source.length; + if (!(index >= 0 && index < t1)) + return A.ioore(source, index); + A.assertHelper(source.charCodeAt(index) === 37); + t2 = index + 2; + if (t2 >= t1) + return "%"; + t3 = index + 1; + if (!(t3 < t1)) + return A.ioore(source, t3); + firstDigit = source.charCodeAt(t3); + secondDigit = source.charCodeAt(t2); + firstDigitValue = A.hexDigitValue(firstDigit); + secondDigitValue = A.hexDigitValue(secondDigit); + if (firstDigitValue < 0 || secondDigitValue < 0) + return "%"; + value = firstDigitValue * 16 + secondDigitValue; + if (value < 127) { + t1 = B.JSInt_methods._shrOtherPositive$1(value, 4); + if (!(t1 < 8)) + return A.ioore(B.List_piR, t1); + t1 = (B.List_piR[t1] & 1 << (value & 15)) !== 0; + } else + t1 = false; + if (t1) + return A.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value); + if (firstDigit >= 97 || secondDigit >= 97) + return B.JSString_methods.substring$2(source, index, index + 3).toUpperCase(); + return null; + }, + _Uri__escapeChar(char) { + var codeUnits, t1, flag, encodedBytes, index, byte, t2, t3, + _s16_ = "0123456789ABCDEF"; + A.assertHelper(char <= 1114111); + if (char < 128) { + codeUnits = new Uint8Array(3); + codeUnits[0] = 37; + t1 = char >>> 4; + if (!(t1 < 16)) + return A.ioore(_s16_, t1); + codeUnits[1] = _s16_.charCodeAt(t1); + codeUnits[2] = _s16_.charCodeAt(char & 15); + } else { + if (char > 2047) + if (char > 65535) { + flag = 240; + encodedBytes = 4; + } else { + flag = 224; + encodedBytes = 3; + } + else { + flag = 192; + encodedBytes = 2; + } + t1 = 3 * encodedBytes; + codeUnits = new Uint8Array(t1); + for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) { + byte = B.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag; + if (!(index < t1)) + return A.ioore(codeUnits, index); + codeUnits[index] = 37; + t2 = index + 1; + t3 = byte >>> 4; + if (!(t3 < 16)) + return A.ioore(_s16_, t3); + if (!(t2 < t1)) + return A.ioore(codeUnits, t2); + codeUnits[t2] = _s16_.charCodeAt(t3); + t3 = index + 2; + if (!(t3 < t1)) + return A.ioore(codeUnits, t3); + codeUnits[t3] = _s16_.charCodeAt(byte & 15); + index += 3; + } + } + return A.String_String$fromCharCodes(codeUnits, 0, null); + }, + _Uri__normalizeOrSubstring(component, start, end, charTable, escapeDelimiters, replaceBackslash) { + var t1 = A._Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash); + return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1; + }, + _Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash) { + var t1, t2, index, sectionStart, buffer, char, t3, replacement, sourceLength, tail, t4, _null = null; + for (t1 = !escapeDelimiters, t2 = component.length, index = start, sectionStart = index, buffer = _null; index < end;) { + if (!(index >= 0 && index < t2)) + return A.ioore(component, index); + char = component.charCodeAt(index); + if (char < 127) { + t3 = char >>> 4; + if (!(t3 < 8)) + return A.ioore(charTable, t3); + t3 = (charTable[t3] & 1 << (char & 15)) !== 0; + } else + t3 = false; + if (t3) + ++index; + else { + if (char === 37) { + replacement = A._Uri__normalizeEscape(component, index, false); + if (replacement == null) { + index += 3; + continue; + } + if ("%" === replacement) { + replacement = "%25"; + sourceLength = 1; + } else + sourceLength = 3; + } else if (char === 92 && replaceBackslash) { + replacement = "/"; + sourceLength = 1; + } else { + if (t1) + if (char <= 93) { + t3 = char >>> 4; + if (!(t3 < 8)) + return A.ioore(B.List_VOY, t3); + t3 = (B.List_VOY[t3] & 1 << (char & 15)) !== 0; + } else + t3 = false; + else + t3 = false; + if (t3) { + A._Uri__fail(component, index, "Invalid character"); + sourceLength = _null; + replacement = sourceLength; + } else { + if ((char & 64512) === 55296) { + t3 = index + 1; + if (t3 < end) { + if (!(t3 < t2)) + return A.ioore(component, t3); + tail = component.charCodeAt(t3); + if ((tail & 64512) === 56320) { + char = (char & 1023) << 10 | tail & 1023 | 65536; + sourceLength = 2; + } else + sourceLength = 1; + } else + sourceLength = 1; + } else + sourceLength = 1; + replacement = A._Uri__escapeChar(char); + } + } + if (buffer == null) { + buffer = new A.StringBuffer(""); + t3 = buffer; + } else + t3 = buffer; + t4 = t3._contents += B.JSString_methods.substring$2(component, sectionStart, index); + t3._contents = t4 + A.S(replacement); + if (typeof sourceLength !== "number") + return A.iae(sourceLength); + index += sourceLength; + sectionStart = index; + } + } + if (buffer == null) + return _null; + if (sectionStart < end) { + t1 = B.JSString_methods.substring$2(component, sectionStart, end); + buffer._contents += t1; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__mayContainDotSegments(path) { + if (B.JSString_methods.startsWith$1(path, ".")) + return true; + return B.JSString_methods.indexOf$1(path, "/.") !== -1; + }, + _Uri__removeDotSegments(path) { + var output, t1, t2, appendSlash, _i, segment, t3; + if (!A._Uri__mayContainDotSegments(path)) + return path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (J.$eq$(segment, "..")) { + t3 = output.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(output, -1); + output.pop(); + if (output.length === 0) + B.JSArray_methods.add$1(output, ""); + } + appendSlash = true; + } else { + appendSlash = "." === segment; + if (!appendSlash) + B.JSArray_methods.add$1(output, segment); + } + } + if (appendSlash) + B.JSArray_methods.add$1(output, ""); + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__normalizeRelativePath(path, allowScheme) { + var output, t1, t2, appendSlash, _i, segment; + A.assertHelper(!B.JSString_methods.startsWith$1(path, "/")); + if (!A._Uri__mayContainDotSegments(path)) + return !allowScheme ? A._Uri__escapeScheme(path) : path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (".." === segment) { + appendSlash = output.length !== 0 && B.JSArray_methods.get$last(output) !== ".."; + if (appendSlash) { + if (0 >= output.length) + return A.ioore(output, -1); + output.pop(); + } else + B.JSArray_methods.add$1(output, ".."); + } else { + appendSlash = "." === segment; + if (!appendSlash) + B.JSArray_methods.add$1(output, segment); + } + } + t1 = output.length; + if (t1 !== 0) + if (t1 === 1) { + if (0 >= t1) + return A.ioore(output, 0); + t1 = output[0].length === 0; + } else + t1 = false; + else + t1 = true; + if (t1) + return "./"; + if (appendSlash || B.JSArray_methods.get$last(output) === "..") + B.JSArray_methods.add$1(output, ""); + if (!allowScheme) { + if (0 >= output.length) + return A.ioore(output, 0); + B.JSArray_methods.$indexSet(output, 0, A._Uri__escapeScheme(output[0])); + } + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__escapeScheme(path) { + var i, char, t2, + t1 = path.length; + if (t1 >= 2 && A._Uri__isAlphabeticCharacter(path.charCodeAt(0))) + for (i = 1; i < t1; ++i) { + char = path.charCodeAt(i); + if (char === 58) + return B.JSString_methods.substring$2(path, 0, i) + "%3A" + B.JSString_methods.substring$1(path, i + 1); + if (char <= 127) { + t2 = char >>> 4; + if (!(t2 < 8)) + return A.ioore(B.List_GVy, t2); + t2 = (B.List_GVy[t2] & 1 << (char & 15)) === 0; + } else + t2 = true; + if (t2) + break; + } + return path; + }, + _Uri__packageNameEnd(uri, path) { + if (uri.isScheme$1("package") && uri._host == null) + return A._skipPackageNameChars(path, 0, path.length); + return -1; + }, + _Uri__hexCharPairToByte(s, pos) { + var t1, byte, i, t2, charCode; + for (t1 = s.length, byte = 0, i = 0; i < 2; ++i) { + t2 = pos + i; + if (!(t2 < t1)) + return A.ioore(s, t2); + charCode = s.charCodeAt(t2); + if (48 <= charCode && charCode <= 57) + byte = byte * 16 + charCode - 48; + else { + charCode |= 32; + if (97 <= charCode && charCode <= 102) + byte = byte * 16 + charCode - 87; + else + throw A.wrapException(A.ArgumentError$("Invalid URL encoding", null)); + } + } + return byte; + }, + _Uri__uriDecode(text, start, end, encoding, plusToSpace) { + var t1, simple, i, codeUnit, t2, bytes; + A.assertHelper(start <= end); + t1 = text.length; + A.assertHelper(end <= t1); + i = start; + while (true) { + if (!(i < end)) { + simple = true; + break; + } + if (!(i < t1)) + return A.ioore(text, i); + codeUnit = text.charCodeAt(i); + if (codeUnit <= 127) + t2 = codeUnit === 37; + else + t2 = true; + if (t2) { + simple = false; + break; + } + ++i; + } + if (simple) + if (B.C_Utf8Codec === encoding) + return B.JSString_methods.substring$2(text, start, end); + else + bytes = new A.CodeUnits(B.JSString_methods.substring$2(text, start, end)); + else { + bytes = A._setArrayType([], type$.JSArray_int); + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(text, i); + codeUnit = text.charCodeAt(i); + if (codeUnit > 127) + throw A.wrapException(A.ArgumentError$("Illegal percent encoding in URI", null)); + if (codeUnit === 37) { + if (i + 3 > t1) + throw A.wrapException(A.ArgumentError$("Truncated URI", null)); + B.JSArray_methods.add$1(bytes, A._Uri__hexCharPairToByte(text, i + 1)); + i += 2; + } else + B.JSArray_methods.add$1(bytes, codeUnit); + } + } + return encoding.decode$1(bytes); + }, + _Uri__isAlphabeticCharacter(codeUnit) { + var lowerCase = codeUnit | 32; + return 97 <= lowerCase && lowerCase <= 122; + }, + UriData__writeUri(mimeType, charsetName, parameters, buffer, indices) { + buffer._contents = buffer._contents; + }, + UriData__parse(text, start, sourceUri) { + var indices, t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data, + _s17_ = "Invalid MIME type"; + A.assertHelper(start === 0 || start === 5); + A.assertHelper(start === 5 === B.JSString_methods.startsWith$1(text, "data:")); + indices = A._setArrayType([start - 1], type$.JSArray_int); + for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) { + char = text.charCodeAt(i); + if (char === 44 || char === 59) + break; + if (char === 47) { + if (slashIndex < 0) { + slashIndex = i; + continue; + } + throw A.wrapException(A.FormatException$(_s17_, text, i)); + } + } + if (slashIndex < 0 && i > start) + throw A.wrapException(A.FormatException$(_s17_, text, i)); + for (; char !== 44;) { + B.JSArray_methods.add$1(indices, i); + ++i; + for (equalsIndex = -1; i < t1; ++i) { + if (!(i >= 0)) + return A.ioore(text, i); + char = text.charCodeAt(i); + if (char === 61) { + if (equalsIndex < 0) + equalsIndex = i; + } else if (char === 59 || char === 44) + break; + } + if (equalsIndex >= 0) + B.JSArray_methods.add$1(indices, equalsIndex); + else { + lastSeparator = B.JSArray_methods.get$last(indices); + if (char !== 44 || i !== lastSeparator + 7 || !B.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1)) + throw A.wrapException(A.FormatException$("Expecting '='", text, i)); + break; + } + } + B.JSArray_methods.add$1(indices, i); + t2 = i + 1; + if ((indices.length & 1) === 1) + text = B.C_Base64Codec.normalize$3(text, t2, t1); + else { + data = A._Uri__normalize(text, t2, t1, B.List_42A, true, false); + if (data != null) + text = B.JSString_methods.replaceRange$3(text, t2, t1, data); + } + return new A.UriData(text, indices, sourceUri); + }, + UriData__uriEncodeBytes(canonicalTable, bytes, buffer) { + var t1, byteOr, i, byte, t2, + _s16_ = "0123456789ABCDEF"; + for (t1 = bytes.length, byteOr = 0, i = 0; i < t1; ++i) { + byte = bytes[i]; + byteOr |= byte; + if (byte < 128) { + t2 = byte >>> 4; + if (!(t2 < 8)) + return A.ioore(canonicalTable, t2); + t2 = (canonicalTable[t2] & 1 << (byte & 15)) !== 0; + } else + t2 = false; + if (t2) { + t2 = A.Primitives_stringFromCharCode(byte); + buffer._contents += t2; + } else { + t2 = A.Primitives_stringFromCharCode(37); + buffer._contents += t2; + t2 = byte >>> 4; + if (!(t2 < 16)) + return A.ioore(_s16_, t2); + t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(t2)); + buffer._contents += t2; + t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(byte & 15)); + buffer._contents += t2; + } + } + if ((byteOr & 4294967040) !== 0) + for (i = 0; i < t1; ++i) { + byte = bytes[i]; + if (byte > 255) + throw A.wrapException(A.ArgumentError$value(byte, "non-byte value", null)); + } + }, + _createTables() { + var _i, t1, t2, t3, b, + _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=", + _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "\\", _s1_3 = "?", _s1_4 = "#", _s2_ = "/\\", + tables = J.JSArray_JSArray$allocateGrowable(22, type$.Uint8List); + for (_i = 0; _i < 22; ++_i) + tables[_i] = new Uint8Array(96); + t1 = new A._createTables_build(tables); + t2 = new A._createTables_setChars(); + t3 = new A._createTables_setRange(); + b = t1.call$2(0, 225); + t2.call$3(b, _s77_, 1); + t2.call$3(b, _s1_, 14); + t2.call$3(b, _s1_0, 34); + t2.call$3(b, _s1_1, 3); + t2.call$3(b, _s1_2, 227); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(14, 225); + t2.call$3(b, _s77_, 1); + t2.call$3(b, _s1_, 15); + t2.call$3(b, _s1_0, 34); + t2.call$3(b, _s2_, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(15, 225); + t2.call$3(b, _s77_, 1); + t2.call$3(b, "%", 225); + t2.call$3(b, _s1_0, 34); + t2.call$3(b, _s1_1, 9); + t2.call$3(b, _s1_2, 233); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(1, 225); + t2.call$3(b, _s77_, 1); + t2.call$3(b, _s1_0, 34); + t2.call$3(b, _s1_1, 10); + t2.call$3(b, _s1_2, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(2, 235); + t2.call$3(b, _s77_, 139); + t2.call$3(b, _s1_1, 131); + t2.call$3(b, _s1_2, 131); + t2.call$3(b, _s1_, 146); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(3, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_1, 68); + t2.call$3(b, _s1_2, 68); + t2.call$3(b, _s1_, 18); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(4, 229); + t2.call$3(b, _s77_, 5); + t3.call$3(b, "AZ", 229); + t2.call$3(b, _s1_0, 102); + t2.call$3(b, "@", 68); + t2.call$3(b, "[", 232); + t2.call$3(b, _s1_1, 138); + t2.call$3(b, _s1_2, 138); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(5, 229); + t2.call$3(b, _s77_, 5); + t3.call$3(b, "AZ", 229); + t2.call$3(b, _s1_0, 102); + t2.call$3(b, "@", 68); + t2.call$3(b, _s1_1, 138); + t2.call$3(b, _s1_2, 138); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(6, 231); + t3.call$3(b, "19", 7); + t2.call$3(b, "@", 68); + t2.call$3(b, _s1_1, 138); + t2.call$3(b, _s1_2, 138); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(7, 231); + t3.call$3(b, "09", 7); + t2.call$3(b, "@", 68); + t2.call$3(b, _s1_1, 138); + t2.call$3(b, _s1_2, 138); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + t2.call$3(t1.call$2(8, 8), "]", 5); + b = t1.call$2(9, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_, 16); + t2.call$3(b, _s2_, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(16, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_, 17); + t2.call$3(b, _s2_, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(17, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_1, 9); + t2.call$3(b, _s1_2, 233); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(10, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_, 18); + t2.call$3(b, _s1_1, 10); + t2.call$3(b, _s1_2, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(18, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_, 19); + t2.call$3(b, _s2_, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(19, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s2_, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(11, 235); + t2.call$3(b, _s77_, 11); + t2.call$3(b, _s1_1, 10); + t2.call$3(b, _s1_2, 234); + t2.call$3(b, _s1_3, 172); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(12, 236); + t2.call$3(b, _s77_, 12); + t2.call$3(b, _s1_3, 12); + t2.call$3(b, _s1_4, 205); + b = t1.call$2(13, 237); + t2.call$3(b, _s77_, 13); + t2.call$3(b, _s1_3, 13); + t3.call$3(t1.call$2(20, 245), "az", 21); + b = t1.call$2(21, 245); + t3.call$3(b, "az", 21); + t3.call$3(b, "09", 21); + t2.call$3(b, "+-.", 21); + return tables; + }, + _scan(uri, start, end, state, indices) { + var i, table, char, transition, + tables = $.$get$_scannerTables(), + t1 = uri.length; + A.assertHelper(end <= t1); + for (i = start; i < end; ++i) { + if (!(state >= 0 && state < tables.length)) + return A.ioore(tables, state); + table = tables[state]; + if (!(i < t1)) + return A.ioore(uri, i); + char = uri.charCodeAt(i) ^ 96; + transition = table[char > 95 ? 31 : char]; + state = transition & 31; + B.JSArray_methods.$indexSet(indices, transition >>> 5, i); + } + return state; + }, + _SimpleUri__packageNameEnd(uri) { + if (uri._schemeEnd === 7 && B.JSString_methods.startsWith$1(uri._uri, "package") && uri._hostStart <= 0) + return A._skipPackageNameChars(uri._uri, uri._pathStart, uri._queryStart); + return -1; + }, + _skipPackageNameChars(source, start, end) { + var t1, i, dots, char; + for (t1 = source.length, i = start, dots = 0; i < end; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 47) + return dots !== 0 ? i : -1; + if (char === 37 || char === 58) + return -1; + dots |= char ^ 46; + } + return -1; + }, + _caseInsensitiveCompareStart(prefix, string, start) { + var t1, t2, result, i, t3, stringChar, delta, lowerChar; + for (t1 = prefix.length, t2 = string.length, result = 0, i = 0; i < t1; ++i) { + t3 = start + i; + if (!(t3 < t2)) + return A.ioore(string, t3); + stringChar = string.charCodeAt(t3); + delta = prefix.charCodeAt(i) ^ stringChar; + if (delta !== 0) { + if (delta === 32) { + lowerChar = stringChar | delta; + if (97 <= lowerChar && lowerChar <= 122) { + result = 32; + continue; + } + } + return -1; + } + } + return result; + }, + _BigIntImpl: function _BigIntImpl(t0, t1, t2) { + this._isNegative = t0; + this._digits = t1; + this._used = t2; + }, + _BigIntImpl_hashCode_combine: function _BigIntImpl_hashCode_combine() { + }, + _BigIntImpl_hashCode_finish: function _BigIntImpl_hashCode_finish() { + }, + _FinalizationRegistryWrapper: function _FinalizationRegistryWrapper(t0, t1) { + this._registry = t0; + this.$ti = t1; + }, + NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { + this._box_0 = t0; + this.sb = t1; + }, + DateTime: function DateTime(t0, t1) { + this._core$_value = t0; + this.isUtc = t1; + }, + Duration: function Duration(t0) { + this._duration = t0; + }, + _Enum: function _Enum() { + }, + Error: function Error() { + }, + AssertionError: function AssertionError(t0) { + this.message = t0; + }, + TypeError: function TypeError() { + }, + ArgumentError: function ArgumentError(t0, t1, t2, t3) { + var _ = this; + _._hasValue = t0; + _.invalidValue = t1; + _.name = t2; + _.message = t3; + }, + RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.start = t0; + _.end = t1; + _._hasValue = t2; + _.invalidValue = t3; + _.name = t4; + _.message = t5; + }, + IndexError: function IndexError(t0, t1, t2, t3, t4) { + var _ = this; + _.length = t0; + _._hasValue = t1; + _.invalidValue = t2; + _.name = t3; + _.message = t4; + }, + NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { + var _ = this; + _._core$_receiver = t0; + _._core$_memberName = t1; + _._core$_arguments = t2; + _._namedArguments = t3; + }, + UnsupportedError: function UnsupportedError(t0) { + this.message = t0; + }, + UnimplementedError: function UnimplementedError(t0) { + this.message = t0; + }, + StateError: function StateError(t0) { + this.message = t0; + }, + ConcurrentModificationError: function ConcurrentModificationError(t0) { + this.modifiedObject = t0; + }, + OutOfMemoryError: function OutOfMemoryError() { + }, + StackOverflowError: function StackOverflowError() { + }, + _Exception: function _Exception(t0) { + this.message = t0; + }, + FormatException: function FormatException(t0, t1, t2) { + this.message = t0; + this.source = t1; + this.offset = t2; + }, + IntegerDivisionByZeroException: function IntegerDivisionByZeroException() { + }, + Iterable: function Iterable() { + }, + MapEntry: function MapEntry(t0, t1, t2) { + this.key = t0; + this.value = t1; + this.$ti = t2; + }, + Null: function Null() { + }, + Object: function Object() { + }, + _StringStackTrace: function _StringStackTrace(t0) { + this._stackTrace = t0; + }, + StringBuffer: function StringBuffer(t0) { + this._contents = t0; + }, + Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) { + this.host = t0; + }, + Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) { + this.host = t0; + }, + Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) { + this.error = t0; + this.host = t1; + }, + _Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + _Uri__makePath_closure: function _Uri__makePath_closure() { + }, + UriData: function UriData(t0, t1, t2) { + this._text = t0; + this._separatorIndices = t1; + this._uriCache = t2; + }, + _createTables_build: function _createTables_build(t0) { + this.tables = t0; + }, + _createTables_setChars: function _createTables_setChars() { + }, + _createTables_setRange: function _createTables_setRange() { + }, + _SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _._uri = t0; + _._schemeEnd = t1; + _._hostStart = t2; + _._portStart = t3; + _._pathStart = t4; + _._queryStart = t5; + _._fragmentStart = t6; + _._schemeCache = t7; + _._hashCodeCache = null; + }, + _DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + Expando: function Expando(t0, t1) { + this._jsWeakMap = t0; + this.$ti = t1; + }, + _convertDartFunctionFast(f) { + var ret, + existing = f.$dart_jsFunction; + if (existing != null) + return existing; + ret = function(_call, f) { + return function() { + return _call(f, Array.prototype.slice.apply(arguments)); + }; + }(A._callDartFunctionFast, f); + ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + f.$dart_jsFunction = ret; + return ret; + }, + _callDartFunctionFast(callback, $arguments) { + type$.List_dynamic._as($arguments); + type$.Function._as(callback); + return A.Primitives_applyFunction(callback, $arguments, null); + }, + allowInterop(f, $F) { + if (typeof f == "function") + return f; + else + return $F._as(A._convertDartFunctionFast(f)); + }, + _noJsifyRequired(o) { + return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o); + }, + jsify(object) { + if (A._noJsifyRequired(object)) + return object; + return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); + }, + callMethod(o, method, args, $T) { + A.assertInteropArgs(args); + return $T._as(o[method].apply(o, args)); + }, + callConstructor(constr, $arguments, $T) { + var args, factoryFunction; + if ($arguments == null) + return $T._as(new constr()); + else + A.assertInteropArgs($arguments); + if ($arguments instanceof Array) + switch ($arguments.length) { + case 0: + return $T._as(new constr()); + case 1: + return $T._as(new constr($arguments[0])); + case 2: + return $T._as(new constr($arguments[0], $arguments[1])); + case 3: + return $T._as(new constr($arguments[0], $arguments[1], $arguments[2])); + case 4: + return $T._as(new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3])); + } + args = [null]; + B.JSArray_methods.addAll$1(args, $arguments); + factoryFunction = constr.bind.apply(constr, args); + String(factoryFunction); + return $T._as(new factoryFunction()); + }, + promiseToFuture(jsPromise, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); + jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1)); + return t1; + }, + _noDartifyRequired(o) { + return o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string" || o instanceof Int8Array || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int16Array || o instanceof Uint16Array || o instanceof Int32Array || o instanceof Uint32Array || o instanceof Float32Array || o instanceof Float64Array || o instanceof ArrayBuffer || o instanceof DataView; + }, + dartify(o) { + if (A._noDartifyRequired(o)) + return o; + return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o); + }, + jsify__convert: function jsify__convert(t0) { + this._convertedObjects = t0; + }, + promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { + this.completer = t0; + this.T = t1; + }, + promiseToFuture_closure0: function promiseToFuture_closure0(t0) { + this.completer = t0; + }, + dartify_convert: function dartify_convert(t0) { + this._convertedObjects = t0; + }, + NullRejectionException: function NullRejectionException(t0) { + this.isUndefined = t0; + }, + max(a, b, $T) { + A.checkTypeBound($T, type$.num, "T", "max"); + return Math.max($T._as(a), $T._as(b)); + }, + sqrt(x) { + return Math.sqrt(x); + }, + sin(radians) { + return Math.sin(radians); + }, + cos(radians) { + return Math.cos(radians); + }, + tan(radians) { + return Math.tan(radians); + }, + acos(x) { + return Math.acos(x); + }, + asin(x) { + return Math.asin(x); + }, + atan(x) { + return Math.atan(x); + }, + _JSRandom: function _JSRandom() { + }, + _JSSecureRandom: function _JSSecureRandom(t0) { + this._math$_buffer = t0; + }, + applyDbFunctions(db) { + db.createFunction$3$directOnly$function$functionName(false, new A.applyDbFunctions_closure(), "newId"); + db.createFunction$3$directOnly$function$functionName(false, new A.applyDbFunctions_closure0(), "now"); + db.execute$1("PRAGMA journal_mode=WAL"); + db.execute$1("PRAGMA busy_timeout=100"); + }, + applyDbFunctions_closure: function applyDbFunctions_closure() { + }, + applyDbFunctions_closure0: function applyDbFunctions_closure0() { + }, + DelegatingStreamSink: function DelegatingStreamSink() { + }, + DefaultEquality: function DefaultEquality(t0) { + this.$ti = t0; + }, + ListEquality: function ListEquality(t0) { + this.$ti = t0; + }, + NonGrowableListMixin: function NonGrowableListMixin() { + }, + UnmodifiableMapMixin: function UnmodifiableMapMixin() { + }, + DriftCommunication$(_channel, serialize) { + var t1 = new A.DriftCommunication(_channel, true, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._PendingRequest), A.StreamController_StreamController(null, null, true, type$.Request), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void)); + t1.DriftCommunication$3$debugLog$serialize(_channel, false, true); + return t1; + }, + DriftCommunication: function DriftCommunication(t0, t1, t2, t3, t4) { + var _ = this; + _._communication$_channel = t0; + _._serialize = t1; + _._currentRequestId = 0; + _._pendingRequests = t2; + _._incomingRequests = t3; + _._startedClosingLocally = false; + _._closeCompleter = t4; + }, + DriftCommunication_closure: function DriftCommunication_closure(t0) { + this.$this = t0; + }, + DriftCommunication_setRequestHandler_closure: function DriftCommunication_setRequestHandler_closure(t0, t1) { + this.$this = t0; + this.handler = t1; + }, + _PendingRequest: function _PendingRequest(t0, t1) { + this.completer = t0; + this.requestTrace = t1; + }, + ConnectionClosedException: function ConnectionClosedException() { + }, + DriftRemoteException: function DriftRemoteException(t0) { + this.remoteCause = t0; + }, + DriftProtocol: function DriftProtocol() { + }, + DriftProtocol_decodePayload_readInt: function DriftProtocol_decodePayload_readInt(t0) { + this._box_0 = t0; + }, + DriftProtocol_decodePayload_readNullableInt: function DriftProtocol_decodePayload_readNullableInt(t0) { + this._box_0 = t0; + }, + Message: function Message() { + }, + Request: function Request(t0, t1) { + this.id = t0; + this.payload = t1; + }, + SuccessResponse: function SuccessResponse(t0, t1) { + this.requestId = t0; + this.response = t1; + }, + ErrorResponse: function ErrorResponse(t0, t1, t2) { + this.requestId = t0; + this.error = t1; + this.stackTrace = t2; + }, + CancelledResponse: function CancelledResponse(t0) { + this.requestId = t0; + }, + NoArgsRequest: function NoArgsRequest(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + StatementMethod: function StatementMethod(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + ExecuteQuery: function ExecuteQuery(t0, t1, t2, t3) { + var _ = this; + _.method = t0; + _.sql = t1; + _.args = t2; + _.executorId = t3; + }, + RequestCancellation: function RequestCancellation(t0) { + this.originalRequestId = t0; + }, + ExecuteBatchedStatement: function ExecuteBatchedStatement(t0, t1) { + this.stmts = t0; + this.executorId = t1; + }, + NestedExecutorControl: function NestedExecutorControl(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + RunNestedExecutorControl: function RunNestedExecutorControl(t0, t1) { + this.control = t0; + this.executorId = t1; + }, + EnsureOpen: function EnsureOpen(t0, t1) { + this.schemaVersion = t0; + this.executorId = t1; + }, + ServerInfo: function ServerInfo(t0) { + this.dialect = t0; + }, + RunBeforeOpen: function RunBeforeOpen(t0, t1) { + this.details = t0; + this.createdExecutor = t1; + }, + NotifyTablesUpdated: function NotifyTablesUpdated(t0) { + this.updates = t0; + }, + SelectResult: function SelectResult(t0) { + this.rows = t0; + }, + ServerImplementation$(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + var _null = null, + t1 = type$.int, + t2 = A._setArrayType([], type$.JSArray_int); + t1 = new A.ServerImplementation(connection, false, true, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.QueryExecutor), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.CancellationToken_dynamic), t2, new A._SyncBroadcastStreamController(_null, _null, type$._SyncBroadcastStreamController_void), A.LinkedHashSet_LinkedHashSet$_empty(type$.DriftCommunication), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), A.StreamController_StreamController(_null, _null, false, type$.NotifyTablesUpdated)); + t1.ServerImplementation$3(connection, false, true); + return t1; + }, + ServerImplementation: function ServerImplementation(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) { + var _ = this; + _.connection = t0; + _.allowRemoteShutdown = t1; + _.closeExecutorWhenShutdown = t2; + _._managedExecutors = t3; + _._knownSchemaVersion = _._currentExecutorId = 0; + _._cancellableOperations = t4; + _._executorBacklog = t5; + _._backlogUpdated = t6; + _._isShuttingDown = false; + _._activeChannels = t7; + _._done = t8; + _._tableUpdateNotifications = t9; + }, + ServerImplementation_closure: function ServerImplementation_closure(t0) { + this.$this = t0; + }, + ServerImplementation_serve_closure: function ServerImplementation_serve_closure(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation_serve_closure0: function ServerImplementation_serve_closure0(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation__handleRequest_closure: function ServerImplementation__handleRequest_closure(t0, t1) { + this.$this = t0; + this.payload = t1; + }, + ServerImplementation__handleRequest_closure0: function ServerImplementation__handleRequest_closure0(t0, t1) { + this.$this = t0; + this.request = t1; + }, + ServerImplementation__waitForTurn_idIsActive: function ServerImplementation__waitForTurn_idIsActive(t0, t1) { + this.$this = t0; + this.transactionId = t1; + }, + ServerImplementation__waitForTurn_closure: function ServerImplementation__waitForTurn_closure(t0) { + this.idIsActive = t0; + }, + _ServerDbUser: function _ServerDbUser(t0, t1, t2) { + this._server = t0; + this.connection = t1; + this.schemaVersion = t2; + }, + UpdateKind: function UpdateKind(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + TableUpdate: function TableUpdate(t0, t1) { + this.kind = t0; + this.table = t1; + }, + runCancellable(operation, $T) { + var token, t2, t1 = {}; + t1.token = token; + t1.token = null; + token = new A.CancellationToken(new A._SyncCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_SyncCompleter<0>")), A._setArrayType([], type$.JSArray_of_void_Function), $T._eval$1("CancellationToken<0>")); + t1.token = token; + t2 = type$.nullable_Object; + A.runZoned(new A.runCancellable_closure(t1, operation, $T), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol_uzx, token], t2, t2), type$.void); + return t1.token; + }, + checkIfCancelled() { + var token = $.Zone__current.$index(0, B.Symbol_uzx); + if (token instanceof A.CancellationToken && token._cancellationRequested) + throw A.wrapException(B.C_CancellationException); + }, + runCancellable_closure: function runCancellable_closure(t0, t1, t2) { + this._box_0 = t0; + this.operation = t1; + this.T = t2; + }, + CancellationToken: function CancellationToken(t0, t1, t2) { + var _ = this; + _._resultCompleter = t0; + _._cancellationCallbacks = t1; + _._cancellationRequested = false; + _.$ti = t2; + }, + CancellationException: function CancellationException() { + }, + QueryExecutor: function QueryExecutor() { + }, + BatchedStatements: function BatchedStatements(t0, t1) { + this.statements = t0; + this.$arguments = t1; + }, + ArgumentsForBatchedStatement: function ArgumentsForBatchedStatement(t0, t1) { + this.statementIndex = t0; + this.$arguments = t1; + }, + _defaultSavepoint(depth) { + return "SAVEPOINT s" + A._asInt(depth); + }, + _defaultRelease(depth) { + return "RELEASE s" + A._asInt(depth); + }, + _defaultRollbackToSavepoint(depth) { + return "ROLLBACK TO s" + A._asInt(depth); + }, + DatabaseDelegate: function DatabaseDelegate() { + }, + QueryDelegate: function QueryDelegate() { + }, + TransactionDelegate: function TransactionDelegate() { + }, + NoTransactionDelegate: function NoTransactionDelegate() { + }, + DbVersionDelegate: function DbVersionDelegate() { + }, + NoVersionDelegate: function NoVersionDelegate() { + }, + DynamicVersionDelegate: function DynamicVersionDelegate() { + }, + _BaseExecutor: function _BaseExecutor() { + }, + _BaseExecutor__synchronized_closure: function _BaseExecutor__synchronized_closure(t0, t1) { + this.action = t0; + this.T = t1; + }, + _BaseExecutor_runSelect_closure: function _BaseExecutor_runSelect_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runDelete_closure: function _BaseExecutor_runDelete_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runInsert_closure: function _BaseExecutor_runInsert_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runCustom_closure: function _BaseExecutor_runCustom_closure(t0, t1, t2) { + this.$this = t0; + this.args = t1; + this.statement = t2; + }, + _BaseExecutor_runBatched_closure: function _BaseExecutor_runBatched_closure(t0, t1) { + this.$this = t0; + this.statements = t1; + }, + _TransactionExecutor: function _TransactionExecutor() { + }, + _StatementBasedTransactionExecutor: function _StatementBasedTransactionExecutor(t0, t1, t2, t3, t4, t5, t6, t7, t8) { + var _ = this; + _._engines$_delegate = t0; + _._opened = null; + _._engines$_done = t1; + _._parent = t2; + _.depth = t3; + _._startCommand = t4; + _._commitCommand = t5; + _._rollbackCommand = t6; + _._db = t7; + _._lock = t8; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure: function _StatementBasedTransactionExecutor_ensureOpen_closure(t0) { + this.$this = t0; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure0: function _StatementBasedTransactionExecutor_ensureOpen_closure0(t0) { + this.parent = t0; + }, + DelegatedDatabase: function DelegatedDatabase() { + }, + DelegatedDatabase_ensureOpen_closure: function DelegatedDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + DelegatedDatabase_close_closure: function DelegatedDatabase_close_closure(t0) { + this.$this = t0; + }, + _BeforeOpeningExecutor: function _BeforeOpeningExecutor(t0, t1) { + var _ = this; + _._base = t0; + _._lock = t1; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _ExclusiveExecutor: function _ExclusiveExecutor(t0, t1, t2) { + var _ = this; + _._outer = t0; + _._opened = null; + _._completer = t1; + _._lock = t2; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _ExclusiveExecutor_ensureOpen_closure: function _ExclusiveExecutor_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.opened = t1; + }, + QueryResult$(columnNames, rows) { + var t2, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = columnNames.length, _i = 0; _i < columnNames.length; columnNames.length === t2 || (0, A.throwConcurrentModificationError)(columnNames), ++_i) { + column = columnNames[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(columnNames, column)); + } + return new A.QueryResult(columnNames, rows, t1); + }, + QueryResult_QueryResult$fromRows(rows) { + var keys, t1, t2, _i, row, t3, t4, t5, _i0; + if (rows.length === 0) + return A.QueryResult$(B.List_empty2, B.List_empty3); + keys = J.toList$0$ax(B.JSArray_methods.get$first(rows).get$keys()); + t1 = A._setArrayType([], type$.JSArray_List_dynamic); + for (t2 = rows.length, _i = 0; _i < rows.length; rows.length === t2 || (0, A.throwConcurrentModificationError)(rows), ++_i) { + row = rows[_i]; + t3 = []; + for (t4 = keys.length, t5 = J.getInterceptor$asx(row), _i0 = 0; _i0 < keys.length; keys.length === t4 || (0, A.throwConcurrentModificationError)(keys), ++_i0) + t3.push(t5.$index(row, keys[_i0])); + t1.push(t3); + } + return A.QueryResult$(keys, t1); + }, + QueryResult: function QueryResult(t0, t1, t2) { + this.columnNames = t0; + this.rows = t1; + this._columnIndexes = t2; + }, + QueryResult_asMap_closure: function QueryResult_asMap_closure(t0) { + this.$this = t0; + }, + ApplyInterceptor_interceptWith(_this, interceptor) { + return new A._InterceptedExecutor(_this, interceptor); + }, + QueryInterceptor: function QueryInterceptor() { + }, + _InterceptedExecutor: function _InterceptedExecutor(t0, t1) { + this._interceptor$_inner = t0; + this._interceptor$_interceptor = t1; + }, + _InterceptedTransactionExecutor: function _InterceptedTransactionExecutor(t0, t1) { + this._interceptor$_inner = t0; + this._interceptor$_interceptor = t1; + }, + OpeningDetails: function OpeningDetails(t0, t1) { + this.versionBefore = t0; + this.versionNow = t1; + }, + SqlDialect: function SqlDialect(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + Sqlite3Delegate: function Sqlite3Delegate() { + }, + _SqliteVersionDelegate: function _SqliteVersionDelegate(t0) { + this.database = t0; + }, + PreparedStatementsCache: function PreparedStatementsCache(t0) { + this._cachedStatements = t0; + }, + EnableNativeFunctions_useNativeFunctions(_this) { + var _s13_ = "moor_contains"; + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "power"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "pow"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sqrt$closure()), "sqrt"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sin$closure()), "sin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__cos$closure()), "cos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__tan$closure()), "tan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__asin$closure()), "asin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__acos$closure()), "acos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__atan$closure()), "atan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___regexpImpl$closure(), "regexp"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___regexpImpl$closure(), "regexp_moor_ffi"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(B.AllowedArgumentCount_0, true, false, new A.EnableNativeFunctions_useNativeFunctions_closure(), "current_time_millis"); + }, + _pow(args) { + var first = args.$index(0, 0), + second = args.$index(0, 1); + if (first == null || second == null || typeof first != "number" || typeof second != "number") + return null; + return Math.pow(first, second); + }, + _unaryNumFunction(calculation) { + return new A._unaryNumFunction_closure(calculation); + }, + _regexpImpl(args) { + var firstParam, regex, secondParam, value, t1, t2, t3, exception, + multiLine = false, + caseSensitive = true, + unicode = false, + dotAll = false, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected two or three arguments to regexp"); + firstParam = args.$index(0, 0); + secondParam = args.$index(0, 1); + if (firstParam == null || secondParam == null) + return null; + if (typeof firstParam != "string" || typeof secondParam != "string") + throw A.wrapException("Expected two strings as parameters to regexp"); + if (argCount === 3) { + value = args.$index(0, 2); + if (A._isInt(value)) { + multiLine = (value & 1) === 1; + caseSensitive = (value & 2) !== 2; + unicode = (value & 4) === 4; + dotAll = (value & 8) === 8; + } + } + regex = null; + try { + t1 = multiLine; + t2 = caseSensitive; + t3 = unicode; + regex = A.RegExp_RegExp(firstParam, t2, dotAll, t1, t3); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.FormatException) + throw A.wrapException("Invalid regex"); + else + throw exception; + } + t1 = regex._nativeRegExp; + return t1.test(secondParam); + }, + _containsImpl(args) { + var first, second, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected 2 or 3 arguments to moor_contains"); + first = args.$index(0, 0); + second = args.$index(0, 1); + if (typeof first != "string" || typeof second != "string") + throw A.wrapException("First two args to contains must be strings"); + return argCount === 3 && args.$index(0, 2) === 1 ? J.contains$1$asx(first, second) : B.JSString_methods.contains$1(first.toLowerCase(), second.toLowerCase()); + }, + EnableNativeFunctions_useNativeFunctions_closure: function EnableNativeFunctions_useNativeFunctions_closure() { + }, + _unaryNumFunction_closure: function _unaryNumFunction_closure(t0) { + this.calculation = t0; + }, + LazyDatabase: function LazyDatabase(t0) { + var _ = this; + _.__LazyDatabase__delegate_F = $; + _._delegateAvailable = false; + _._openDelegate = null; + _.opener = t0; + }, + LazyDatabase__awaitOpened_closure: function LazyDatabase__awaitOpened_closure(t0, t1) { + this.$this = t0; + this.delegate = t1; + }, + LazyDatabase_ensureOpen_closure: function LazyDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + Lock: function Lock() { + this._last = null; + }, + Lock_synchronized_callBlockAndComplete: function Lock_synchronized_callBlockAndComplete(t0, t1, t2) { + this.block = t0; + this.blockCompleted = t1; + this.T = t2; + }, + Lock_synchronized_closure: function Lock_synchronized_closure(t0, t1) { + this.callBlockAndComplete = t0; + this.T = t1; + }, + WebPortToChannel_channel(_this, explicitClose) { + var _null = null, + _s8_ = "_foreign", + controller = new A.StreamChannelController(type$.StreamChannelController_nullable_Object), + t1 = type$.nullable_Object, + localToForeignController = A.StreamController_StreamController(_null, _null, false, t1), + foreignToLocalController = A.StreamController_StreamController(_null, _null, false, t1), + t2 = A._instanceType(foreignToLocalController), + t3 = A._instanceType(localToForeignController); + controller.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t2._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t3._eval$1("_StreamSinkWrapper<1>")), true, t1)); + t1 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t3._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t2._eval$1("_StreamSinkWrapper<1>")), true, t1); + controller.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI(_s8_); + controller.set$__StreamChannelController__foreign_F(t1); + t1 = type$.JavaScriptFunction._as(A.allowInterop(new A.WebPortToChannel_channel_closure(explicitClose, controller), type$.Function)); + if (A.assertTest(typeof t1 == "function")) + A.assertThrow(string$.Dart_f); + _this.onmessage = t1; + t1 = controller.__StreamChannelController__local_F; + t1 === $ && A.throwLateFieldNI("_local"); + t1 = t1.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(new A.WebPortToChannel_channel_closure0(_this), new A.WebPortToChannel_channel_closure1(explicitClose, _this)); + t1 = controller.__StreamChannelController__foreign_F; + t1 === $ && A.throwLateFieldNI(_s8_); + return t1; + }, + WebPortToChannel_channel_closure: function WebPortToChannel_channel_closure(t0, t1) { + this.explicitClose = t0; + this.controller = t1; + }, + WebPortToChannel_channel_closure0: function WebPortToChannel_channel_closure0(t0) { + this._this = t0; + }, + WebPortToChannel_channel_closure1: function WebPortToChannel_channel_closure1(t0, t1) { + this.explicitClose = t0; + this._this = t1; + }, + DedicatedDriftWorker: function DedicatedDriftWorker(t0, t1, t2) { + var _ = this; + _.self = t0; + _._checkCompatibility = t1; + _._dedicated_worker$_servers = t2; + _._compatibility = null; + }, + DedicatedDriftWorker_start_closure: function DedicatedDriftWorker_start_closure(t0) { + this.$this = t0; + }, + DedicatedDriftWorker__handleMessage_closure: function DedicatedDriftWorker__handleMessage_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + ProtocolVersion_negotiate(versionCode) { + var t1; + $label0$0: { + if (versionCode <= 0) { + t1 = B.ProtocolVersion_0_0_legacy; + break $label0$0; + } + if (1 === versionCode) { + t1 = B.ProtocolVersion_1_1_v1; + break $label0$0; + } + if (2 === versionCode) { + t1 = B.ProtocolVersion_2_2_v2; + break $label0$0; + } + if (versionCode > 2) { + t1 = B.ProtocolVersion_2_2_v2; + break $label0$0; + } + t1 = A.throwExpression(A.AssertionError$(null)); + } + return t1; + }, + ProtocolVersion_fromJsObject(object) { + if ("v" in object) + return A.ProtocolVersion_negotiate(A._asInt(A._asDouble(object.v))); + else + return B.ProtocolVersion_0_0_legacy; + }, + WasmInitializationMessage_WasmInitializationMessage$fromJs(jsObject) { + var t1, version, t2, t3, t4, t5, existingDatabases, t6, asBooleans, + type = A._asString(jsObject.type), + payload = jsObject.payload; + $label0$0: { + if ("Error" === type) { + t1 = new A.WorkerError(A._asString(type$.JSObject._as(payload))); + break $label0$0; + } + if ("ServeDriftDatabase" === type) { + t1 = type$.JSObject; + t1._as(payload); + version = A.ProtocolVersion_fromJsObject(payload); + t2 = A.Uri_parse(A._asString(payload.sqlite)); + t1 = t1._as(payload.port); + t3 = A.EnumByName_byName(B.List_gqi, A._asString(payload.storage), type$.WasmStorageImplementation); + t4 = A._asString(payload.database); + t5 = type$.nullable_JSObject._as(payload.initPort); + t1 = new A.ServeDriftDatabase(t2, t1, t3, t4, t5, version, version.versionCode < 2 || A._asBool(payload.migrations)); + break $label0$0; + } + if ("StartFileSystemServer" === type) { + t1 = new A.StartFileSystemServer(type$.JSObject._as(payload)); + break $label0$0; + } + if ("RequestCompatibilityCheck" === type) { + t1 = new A.RequestCompatibilityCheck(A._asString(payload)); + break $label0$0; + } + if ("DedicatedWorkerCompatibilityResult" === type) { + type$.JSObject._as(payload); + existingDatabases = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String); + if ("existing" in payload) + B.JSArray_methods.addAll$1(existingDatabases, A.EncodeLocations_readFromJs(type$.JSArray_nullable_Object._as(payload.existing))); + t1 = A._asBool(payload.supportsNestedWorkers); + t2 = A._asBool(payload.canAccessOpfs); + t3 = A._asBool(payload.supportsSharedArrayBuffers); + t4 = A._asBool(payload.supportsIndexedDb); + t5 = A._asBool(payload.indexedDbExists); + t6 = A._asBool(payload.opfsExists); + t6 = new A.DedicatedWorkerCompatibilityResult(t1, t2, t3, t4, existingDatabases, A.ProtocolVersion_fromJsObject(payload), t5, t6); + t1 = t6; + break $label0$0; + } + if ("SharedWorkerCompatibilityResult" === type) { + t1 = type$.JSArray_nullable_Object; + t1._as(payload); + asBooleans = B.JSArray_methods.cast$1$0(payload, type$.bool); + if (payload.length > 5) { + if (5 < 0 || 5 >= payload.length) + return A.ioore(payload, 5); + existingDatabases = A.EncodeLocations_readFromJs(t1._as(payload[5])); + if (payload.length > 6) { + if (6 < 0 || 6 >= payload.length) + return A.ioore(payload, 6); + version = A.ProtocolVersion_negotiate(A._asInt(payload[6])); + } else + version = B.ProtocolVersion_0_0_legacy; + } else { + existingDatabases = B.List_empty5; + version = B.ProtocolVersion_0_0_legacy; + } + t1 = asBooleans._source; + t2 = J.getInterceptor$asx(t1); + t3 = asBooleans.$ti._rest[1]; + t1 = new A.SharedWorkerCompatibilityResult(t3._as(t2.$index(t1, 0)), t3._as(t2.$index(t1, 1)), t3._as(t2.$index(t1, 2)), existingDatabases, version, t3._as(t2.$index(t1, 3)), t3._as(t2.$index(t1, 4))); + break $label0$0; + } + if ("DeleteDatabase" === type) { + t1 = payload == null ? type$.Object._as(payload) : payload; + type$.JSArray_nullable_Object._as(t1); + t2 = $.$get$WebStorageApi_byName(); + if (0 < 0 || 0 >= t1.length) + return A.ioore(t1, 0); + t2 = t2.$index(0, A._asString(t1[0])); + t2.toString; + if (1 < 0 || 1 >= t1.length) + return A.ioore(t1, 1); + t1 = new A.DeleteDatabase(new A._Record_2(t2, A._asString(t1[1]))); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$("Unknown type " + type, null)); + } + return t1; + }, + EncodeLocations_readFromJs(object) { + var t3, t4, + existing = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String), + t1 = B.JSArray_methods.cast$1$0(object, type$.JSObject), + t2 = t1.$ti; + t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")); + t2 = t2._eval$1("ListBase.E"); + for (; t1.moveNext$0();) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + t4 = $.$get$WebStorageApi_byName().$index(0, A._asString(t3.l)); + t4.toString; + B.JSArray_methods.add$1(existing, new A._Record_2(t4, A._asString(t3.n))); + } + return existing; + }, + EncodeLocations_encodeToJs(_this) { + var t1, _i, entry, _this0, + existing = A._setArrayType([], type$.JSArray_JSObject); + for (t1 = _this.length, _i = 0; _i < _this.length; _this.length === t1 || (0, A.throwConcurrentModificationError)(_this), ++_i) { + entry = _this[_i]; + _this0 = {}; + _this0.l = entry._0._core$_name; + _this0.n = entry._1; + B.JSArray_methods.add$1(existing, _this0); + } + return existing; + }, + _extension_1_sendTyped(_this, type, payload, transfer) { + var _this0 = {}; + _this0.type = type; + _this0.payload = payload; + _this.call$2(_this0, transfer); + }, + ProtocolVersion: function ProtocolVersion(t0, t1, t2) { + this.versionCode = t0; + this.index = t1; + this._core$_name = t2; + }, + WasmInitializationMessage: function WasmInitializationMessage() { + }, + WasmInitializationMessage_sendToWorker_closure: function WasmInitializationMessage_sendToWorker_closure(t0) { + this.worker = t0; + }, + WasmInitializationMessage_sendToPort_closure: function WasmInitializationMessage_sendToPort_closure(t0) { + this.port = t0; + }, + WasmInitializationMessage_sendToClient_closure: function WasmInitializationMessage_sendToClient_closure(t0) { + this.worker = t0; + }, + CompatibilityResult: function CompatibilityResult() { + }, + SharedWorkerCompatibilityResult: function SharedWorkerCompatibilityResult(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.canSpawnDedicatedWorkers = t0; + _.dedicatedWorkersCanUseOpfs = t1; + _.canUseIndexedDb = t2; + _.existingDatabases = t3; + _.version = t4; + _.indexedDbExists = t5; + _.opfsExists = t6; + }, + WorkerError: function WorkerError(t0) { + this.error = t0; + }, + ServeDriftDatabase: function ServeDriftDatabase(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.sqlite3WasmUri = t0; + _.port = t1; + _.storage = t2; + _.databaseName = t3; + _.initializationPort = t4; + _.protocolVersion = t5; + _.enableMigrations = t6; + }, + RequestCompatibilityCheck: function RequestCompatibilityCheck(t0) { + this.databaseName = t0; + }, + DedicatedWorkerCompatibilityResult: function DedicatedWorkerCompatibilityResult(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _.supportsNestedWorkers = t0; + _.canAccessOpfs = t1; + _.supportsSharedArrayBuffers = t2; + _.supportsIndexedDb = t3; + _.existingDatabases = t4; + _.version = t5; + _.indexedDbExists = t6; + _.opfsExists = t7; + }, + StartFileSystemServer: function StartFileSystemServer(t0) { + this.sqlite3Options = t0; + }, + DeleteDatabase: function DeleteDatabase(t0) { + this.database = t0; + }, + _storageManager() { + var t1 = type$.JSObject, + $navigator = t1._as(self.navigator); + if ("storage" in $navigator) + return t1._as($navigator.storage); + return null; + }, + checkOpfsSupport() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], opfsRoot, fileHandle, openedFile, getSizeResult, t1, exception, storage, $async$exception; + var $async$checkOpfsSupport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + storage = A._storageManager(); + if (storage == null) { + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + } + opfsRoot = null; + fileHandle = null; + openedFile = null; + $async$handler = 4; + t1 = type$.JSObject; + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(t1._as(storage.getDirectory()), t1), $async$checkOpfsSupport); + case 7: + // returning from await. + opfsRoot = $async$result; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(t1._as(opfsRoot.getFileHandle("_drift_feature_detection", {create: true})), t1), $async$checkOpfsSupport); + case 8: + // returning from await. + fileHandle = $async$result; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(t1._as(fileHandle.createSyncAccessHandle()), t1), $async$checkOpfsSupport); + case 9: + // returning from await. + openedFile = $async$result; + getSizeResult = A.JSObjectUnsafeUtilExtension__callMethod(openedFile, "getSize", null, null, null, null); + $async$goto = typeof getSizeResult === "object" ? 10 : 11; + break; + case 10: + // then + $async$goto = 12; + return A._asyncAwait(A.promiseToFuture(t1._as(getSizeResult), type$.nullable_Object), $async$checkOpfsSupport); + case 12: + // returning from await. + $async$returnValue = false; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + case 11: + // join + $async$returnValue = true; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + $async$next.push(6); + // goto finally + $async$goto = 5; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + $async$returnValue = false; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + $async$next.push(6); + // goto finally + $async$goto = 5; + break; + case 3: + // uncaught + $async$next = [2]; + case 5: + // finally + $async$handler = 2; + if (openedFile != null) + openedFile.close(); + $async$goto = opfsRoot != null && fileHandle != null ? 13 : 14; + break; + case 13: + // then + $async$goto = 15; + return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(opfsRoot.removeEntry("_drift_feature_detection")), type$.nullable_Object), $async$checkOpfsSupport); + case 15: + // returning from await. + case 14: + // join + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$checkOpfsSupport, $async$completer); + }, + checkIndexedDbSupport() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$currentError, idb, mockDb, exception, t1, t2, $async$exception; + var $async$checkIndexedDbSupport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + t2 = t1._as(self); + if (!("indexedDB" in t2) || !("FileReader" in t2)) { + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + } + idb = t1._as(t2.indexedDB); + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete0(t1._as(idb.open("drift_mock_db")), t1), $async$checkIndexedDbSupport); + case 7: + // returning from await. + mockDb = $async$result; + mockDb.close(); + t1._as(idb.deleteDatabase("drift_mock_db")); + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + $async$returnValue = true; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$checkIndexedDbSupport, $async$completer); + }, + checkIndexedDbExists(databaseName) { + return A.checkIndexedDbExists$body(databaseName); + }, + checkIndexedDbExists$body(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$currentError, idb, databases, entry, openRequest, database, t1, t2, exception, _box_0, $async$exception; + var $async$checkIndexedDbExists = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + $async$outer: + switch ($async$goto) { + case 0: + // Function start + _box_0 = {}; + _box_0.indexedDbExists = null; + $async$handler = 4; + t1 = type$.JSObject; + idb = t1._as(t1._as(self).indexedDB); + $async$goto = "databases" in idb ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(t1._as(idb.databases()), type$.JSArray_nullable_Object), $async$checkIndexedDbExists); + case 9: + // returning from await. + databases = $async$result; + t1 = databases; + t1 = J.get$iterator$ax(type$.List_JSObject._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,JSObject>"))); + for (; t1.moveNext$0();) { + entry = t1.get$current(); + if (A._asString(entry.name) === databaseName) { + $async$returnValue = true; + // goto return + $async$goto = 1; + break $async$outer; + } + } + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + case 8: + // join + openRequest = t1._as(idb.open(databaseName, 1)); + t2 = type$.JavaScriptFunction._as(A.allowInterop(new A.checkIndexedDbExists_closure(_box_0, openRequest), type$.Function)); + if (A.assertTest(typeof t2 == "function")) + A.assertThrow(string$.Dart_f); + openRequest.onupgradeneeded = t2; + $async$goto = 10; + return A._asyncAwait(A.CompleteIdbRequest_complete0(openRequest, t1), $async$checkIndexedDbExists); + case 10: + // returning from await. + database = $async$result; + if (_box_0.indexedDbExists == null) + _box_0.indexedDbExists = true; + database.close(); + $async$goto = _box_0.indexedDbExists === false ? 11 : 12; + break; + case 11: + // then + $async$goto = 13; + return A._asyncAwait(A.CompleteIdbRequest_complete0(t1._as(idb.deleteDatabase(databaseName)), type$.nullable_Object), $async$checkIndexedDbExists); + case 13: + // returning from await. + case 12: + // join + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = _box_0.indexedDbExists; + $async$returnValue = t1 === true; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$checkIndexedDbExists, $async$completer); + }, + deleteDatabaseInIndexedDb(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + t1, t2; + var $async$deleteDatabaseInIndexedDb = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + t2 = t1._as(self); + $async$goto = "indexedDB" in t2 ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait(A.CompleteIdbRequest_complete0(t1._as(t1._as(t2.indexedDB).deleteDatabase(databaseName)), type$.nullable_Object), $async$deleteDatabaseInIndexedDb); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$deleteDatabaseInIndexedDb, $async$completer); + }, + opfsDatabases() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.List_String), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], directory, entries, t1, entry, t2, exception, t3, storage, $async$exception, $async$temp1; + var $async$opfsDatabases = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + storage = A._storageManager(); + if (storage == null) { + $async$returnValue = B.List_empty2; + // goto return + $async$goto = 1; + break; + } + t2 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t2._as(storage.getDirectory()), t2), $async$opfsDatabases); + case 3: + // returning from await. + directory = $async$result; + $async$handler = 5; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(t2._as(directory.getDirectoryHandle("drift_db")), t2), $async$opfsDatabases); + case 8: + // returning from await. + directory = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 7; + break; + case 5: + // catch + $async$handler = 4; + $async$exception = $async$currentError; + $async$returnValue = B.List_empty2; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 7; + break; + case 4: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 7: + // after finally + t2 = directory; + t3 = type$.AsyncJavaScriptIteratable_JSArray_nullable_Object; + if (!(type$.JavaScriptSymbol._as(self.Symbol.asyncIterator) in t2)) + A.throwExpression(A.ArgumentError$("Target object does not implement the async iterable interface", null)); + entries = new A._MapStream(t3._eval$1("JSObject(Stream.T)")._as(new A.opfsDatabases_closure()), new A.AsyncJavaScriptIteratable(t2, t3), t3._eval$1("_MapStream")); + t1 = A._setArrayType([], type$.JSArray_String); + t2 = new A._StreamIterator(A.checkNotNullable(entries, "stream", type$.Object), type$._StreamIterator_JSObject); + $async$handler = 9; + case 12: + // for condition + $async$temp1 = A; + $async$goto = 14; + return A._asyncAwait(t2.moveNext$0(), $async$opfsDatabases); + case 14: + // returning from await. + if (!$async$temp1.boolConversionCheck($async$result)) { + // goto after for + $async$goto = 13; + break; + } + entry = t2.get$current(); + if (A._asString(entry.kind) === "directory") + J.add$1$ax(t1, A._asString(entry.name)); + // goto for condition + $async$goto = 12; + break; + case 13: + // after for + $async$next.push(11); + // goto finally + $async$goto = 10; + break; + case 9: + // uncaught + $async$next = [2]; + case 10: + // finally + $async$handler = 2; + $async$goto = 15; + return A._asyncAwait(t2.cancel$0(), $async$opfsDatabases); + case 15: + // returning from await. + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 11: + // after finally + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$opfsDatabases, $async$completer); + }, + deleteDatabaseInOpfs(databaseName) { + return A.deleteDatabaseInOpfs$body(databaseName); + }, + deleteDatabaseInOpfs$body(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, directory, t1, exception, storage, $async$exception; + var $async$deleteDatabaseInOpfs = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + storage = A._storageManager(); + if (storage == null) { + // goto return + $async$goto = 1; + break; + } + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t1._as(storage.getDirectory()), t1), $async$deleteDatabaseInOpfs); + case 3: + // returning from await. + directory = $async$result; + $async$handler = 5; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(t1._as(directory.getDirectoryHandle("drift_db")), t1), $async$deleteDatabaseInOpfs); + case 8: + // returning from await. + directory = $async$result; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(t1._as(directory.removeEntry(databaseName, {recursive: true})), type$.nullable_Object), $async$deleteDatabaseInOpfs); + case 9: + // returning from await. + $async$handler = 2; + // goto after finally + $async$goto = 7; + break; + case 5: + // catch + $async$handler = 4; + $async$exception = $async$currentError; + // goto after finally + $async$goto = 7; + break; + case 4: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 7: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$deleteDatabaseInOpfs, $async$completer); + }, + CompleteIdbRequest_complete0(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteIdbRequest_complete_closure1(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteIdbRequest_complete_closure2(completer, _this)), false, t3); + return t1; + }, + checkIndexedDbExists_closure: function checkIndexedDbExists_closure(t0, t1) { + this._box_0 = t0; + this.openRequest = t1; + }, + opfsDatabases_closure: function opfsDatabases_closure() { + }, + DriftServerController: function DriftServerController(t0, t1) { + this.servers = t0; + this._setup = t1; + }, + DriftServerController_serve_closure: function DriftServerController_serve_closure(t0, t1) { + this.$this = t0; + this.message = t1; + }, + DriftServerController_serve__closure: function DriftServerController_serve__closure(t0) { + this.initPort = t0; + }, + DriftServerController_serve___closure: function DriftServerController_serve___closure(t0) { + this.completer = t0; + }, + DriftServerController_serve__closure0: function DriftServerController_serve__closure0(t0, t1, t2) { + this.$this = t0; + this.message = t1; + this.initializer = t2; + }, + DriftServerController_serve__closure1: function DriftServerController_serve__closure1(t0, t1, t2) { + this.$this = t0; + this.message = t1; + this.wasmServer = t2; + }, + _CloseVfsOnClose: function _CloseVfsOnClose(t0, t1) { + this._shared$_close = t0; + this._root = t1; + }, + RunningWasmServer: function RunningWasmServer(t0, t1, t2) { + var _ = this; + _.storage = t0; + _.server = t1; + _._connectedClients = 0; + _._lastClientDisconnected = t2; + }, + RunningWasmServer_serve_closure: function RunningWasmServer_serve_closure(t0) { + this.$this = t0; + }, + WasmCompatibility: function WasmCompatibility(t0, t1) { + this.supportsIndexedDb = t0; + this.supportsOpfs = t1; + }, + CompleteIdbRequest_complete_closure1: function CompleteIdbRequest_complete_closure1(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteIdbRequest_complete_closure2: function CompleteIdbRequest_complete_closure2(t0, t1) { + this.completer = t0; + this._this = t1; + }, + SharedDriftWorker: function SharedDriftWorker(t0, t1) { + this.self = t0; + this._dedicatedWorker = null; + this._servers = t1; + }, + SharedDriftWorker_start_closure: function SharedDriftWorker_start_closure(t0) { + this.$this = t0; + }, + SharedDriftWorker__newConnection_closure: function SharedDriftWorker__newConnection_closure(t0, t1) { + this.$this = t0; + this.clientPort = t1; + }, + SharedDriftWorker__startFeatureDetection_result: function SharedDriftWorker__startFeatureDetection_result(t0, t1, t2) { + this._box_0 = t0; + this.completer = t1; + this.canUseIndexedDb = t2; + }, + SharedDriftWorker__startFeatureDetection_closure: function SharedDriftWorker__startFeatureDetection_closure(t0) { + this.result = t0; + }, + SharedDriftWorker__startFeatureDetection_closure0: function SharedDriftWorker__startFeatureDetection_closure0(t0, t1, t2) { + this.$this = t0; + this.result = t1; + this.worker = t2; + }, + WasmStorageImplementation: function WasmStorageImplementation(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + WebStorageApi: function WebStorageApi(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + WasmDatabase: function WasmDatabase(t0, t1, t2, t3, t4) { + var _ = this; + _.delegate = t0; + _._migrationError = null; + _.logStatements = t1; + _.isSequential = t2; + _._openingLock = t3; + _._lock = t4; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _WasmDelegate: function _WasmDelegate(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._sqlite3 = t0; + _._path = t1; + _._fileSystem = t2; + _._database = null; + _._isOpen = _._hasInitializedDatabase = false; + _._database$_setup = t3; + _.cachePreparedStatements = t4; + _.enableMigrations = t5; + _._preparedStmtsCache = t6; + _.__Sqlite3Delegate_versionDelegate_A = $; + _.isInTransaction = false; + }, + Context_Context(current, style) { + if (current == null) + current = "."; + return new A.Context(style, current); + }, + _parseUri(uri) { + return uri; + }, + _validateArgList(method, args) { + var numArgs, i, numArgs0, message, t1, t2, t3, t4; + for (numArgs = args.length, i = 1; i < numArgs; ++i) { + if (args[i] == null || args[i - 1] != null) + continue; + for (; numArgs >= 1; numArgs = numArgs0) { + numArgs0 = numArgs - 1; + if (args[numArgs0] != null) + break; + } + message = new A.StringBuffer(""); + t1 = "" + (method + "("); + message._contents = t1; + t2 = A._arrayInstanceType(args); + t3 = t2._eval$1("SubListIterable<1>"); + t4 = new A.SubListIterable(args, 0, numArgs, t3); + t4.SubListIterable$3(args, 0, numArgs, t2._precomputed1); + t3 = t1 + new A.MappedListIterable(t4, t3._eval$1("String(ListIterable.E)")._as(new A._validateArgList_closure()), t3._eval$1("MappedListIterable")).join$1(0, ", "); + message._contents = t3; + message._contents = t3 + ("): part " + (i - 1) + " was null, but part " + i + " was not."); + throw A.wrapException(A.ArgumentError$(message.toString$0(0), null)); + } + }, + Context: function Context(t0, t1) { + this.style = t0; + this._context$_current = t1; + }, + Context_joinAll_closure: function Context_joinAll_closure() { + }, + Context_split_closure: function Context_split_closure() { + }, + _validateArgList_closure: function _validateArgList_closure() { + }, + _PathDirection: function _PathDirection(t0) { + this.name = t0; + }, + _PathRelation: function _PathRelation(t0) { + this.name = t0; + }, + InternalStyle: function InternalStyle() { + }, + ParsedPath_ParsedPath$parse(path, style) { + var t1, parts, separators, t2, start, i, + root = style.getRoot$1(path); + style.isRootRelative$1(path); + if (root != null) + path = B.JSString_methods.substring$1(path, root.length); + t1 = type$.JSArray_String; + parts = A._setArrayType([], t1); + separators = A._setArrayType([], t1); + t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t2 = style.isSeparator$1(path.charCodeAt(0)); + } else + t2 = false; + if (t2) { + if (0 >= t1) + return A.ioore(path, 0); + B.JSArray_methods.add$1(separators, path[0]); + start = 1; + } else { + B.JSArray_methods.add$1(separators, ""); + start = 0; + } + for (i = start; i < t1; ++i) + if (style.isSeparator$1(path.charCodeAt(i))) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(path, start, i)); + B.JSArray_methods.add$1(separators, path[i]); + start = i + 1; + } + if (start < t1) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$1(path, start)); + B.JSArray_methods.add$1(separators, ""); + } + return new A.ParsedPath(style, root, parts, separators); + }, + ParsedPath: function ParsedPath(t0, t1, t2, t3) { + var _ = this; + _.style = t0; + _.root = t1; + _.parts = t2; + _.separators = t3; + }, + PathException$(message) { + return new A.PathException(message); + }, + PathException: function PathException(t0) { + this.message = t0; + }, + Style__getPlatformStyle() { + if (A.Uri_base().get$scheme() !== "file") + return $.$get$Style_url(); + if (!B.JSString_methods.endsWith$1(A.Uri_base().get$path(), "/")) + return $.$get$Style_url(); + if (A._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b") + return $.$get$Style_windows(); + return $.$get$Style_posix(); + }, + Style: function Style() { + }, + PosixStyle: function PosixStyle(t0, t1, t2) { + this.separatorPattern = t0; + this.needsSeparatorPattern = t1; + this.rootPattern = t2; + }, + UrlStyle: function UrlStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + WindowsStyle: function WindowsStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() { + }, + SqliteException: function SqliteException(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.message = t0; + _.explanation = t1; + _.extendedResultCode = t2; + _.operation = t3; + _.causingStatement = t4; + _.parametersToStatement = t5; + }, + SqliteException_toString_closure: function SqliteException_toString_closure() { + }, + AllowedArgumentCount: function AllowedArgumentCount(t0) { + this.allowedArgs = t0; + }, + RawSqliteBindings: function RawSqliteBindings() { + }, + SqliteResult: function SqliteResult(t0, t1, t2) { + this.resultCode = t0; + this.result = t1; + this.$ti = t2; + }, + RawSqliteDatabase: function RawSqliteDatabase() { + }, + RawStatementCompiler: function RawStatementCompiler() { + }, + RawSqliteStatement: function RawSqliteStatement() { + }, + RawSqliteContext: function RawSqliteContext() { + }, + RawSqliteValue: function RawSqliteValue() { + }, + _extension_0_runWithArgsAndSetResult(_this, $function, args) { + var e, exception, encoded, t2, ptr, + t1 = type$.nullable_Object, + dartArgs = new A.ValueList(args, A.List_List$filled(args.length, null, false, t1)); + try { + A._extension_0_setResult(_this, $function.call$1(dartArgs)); + } catch (exception) { + e = A.unwrapException(exception); + encoded = B.C_Utf8Encoder.convert$1(A.Error_safeToString(e)); + t2 = _this.bindings; + ptr = t2.allocateBytes$1(encoded); + A.callMethod(t2._sqlite3_result_error, "call", [null, _this.context, ptr, encoded.length], t1); + A.callMethod(t2._free, "call", [null, ptr], t1); + } finally { + dartArgs.isValid = false; + } + }, + _extension_0_setResult(_this, result) { + var t1, encoded, ptr, t2, t3, _null = null, _s4_ = "call"; + $label0$0: { + if (result == null) { + A.callMethod(_this.bindings._sqlite3_result_null, _s4_, [null, _this.context], type$.nullable_Object); + t1 = _null; + break $label0$0; + } + if (A._isInt(result)) { + t1 = A._BigIntImpl__BigIntImpl$from(result).toString$0(0); + A.callMethod(_this.bindings._sqlite3_result_int64, _s4_, [null, _this.context, type$.JavaScriptBigInt._as(self.BigInt(t1))], type$.nullable_Object); + t1 = _null; + break $label0$0; + } + if (result instanceof A._BigIntImpl) { + t1 = A.BigIntRangeCheck_get_checkRange(result).toString$0(0); + A.callMethod(_this.bindings._sqlite3_result_int64, _s4_, [null, _this.context, type$.JavaScriptBigInt._as(self.BigInt(t1))], type$.nullable_Object); + t1 = _null; + break $label0$0; + } + if (typeof result == "number") { + A.callMethod(_this.bindings._sqlite3_result_double, _s4_, [null, _this.context, result], type$.nullable_Object); + t1 = _null; + break $label0$0; + } + if (A._isBool(result)) { + t1 = A._BigIntImpl__BigIntImpl$from(result ? 1 : 0).toString$0(0); + A.callMethod(_this.bindings._sqlite3_result_int64, _s4_, [null, _this.context, type$.JavaScriptBigInt._as(self.BigInt(t1))], type$.nullable_Object); + t1 = _null; + break $label0$0; + } + if (typeof result == "string") { + encoded = B.C_Utf8Encoder.convert$1(result); + t1 = _this.bindings; + ptr = t1.allocateBytes$1(encoded); + t2 = type$.nullable_Object; + A.callMethod(t1._sqlite3_result_text, _s4_, [null, _this.context, ptr, encoded.length, -1], t2); + A.callMethod(t1._free, _s4_, [null, ptr], t2); + t1 = _null; + break $label0$0; + } + t1 = type$.List_int; + if (t1._is(result)) { + t1._as(result); + t1 = _this.bindings; + ptr = t1.allocateBytes$1(result); + t2 = J.get$length$asx(result); + t3 = type$.nullable_Object; + A.callMethod(t1._sqlite3_result_blob64, _s4_, [null, _this.context, ptr, type$.JavaScriptBigInt._as(self.BigInt(t2)), -1], t3); + A.callMethod(t1._free, _s4_, [null, ptr], t3); + t1 = _null; + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$value(result, "result", "Unsupported type")); + } + return t1; + }, + FinalizableDatabase: function FinalizableDatabase(t0, t1, t2) { + this.bindings = t0; + this.database = t1; + this._statements = t2; + }, + DatabaseImplementation: function DatabaseImplementation(t0, t1, t2, t3) { + var _ = this; + _.bindings = t0; + _.database = t1; + _.finalizable = t2; + _._updateListeners = t3; + _._isClosed = false; + }, + DatabaseImplementation_createFunction_closure: function DatabaseImplementation_createFunction_closure(t0) { + this.$function = t0; + }, + DatabaseImplementation__prepareInternal_freeIntermediateResults: function DatabaseImplementation__prepareInternal_freeIntermediateResults(t0, t1) { + this.compiler = t0; + this.createdStatements = t1; + }, + ValueList: function ValueList(t0, t1) { + this.rawValues = t0; + this._cachedCopies = t1; + this.isValid = true; + }, + FinalizablePart: function FinalizablePart() { + }, + disposeFinalizer_closure: function disposeFinalizer_closure() { + }, + Sqlite3Implementation: function Sqlite3Implementation() { + }, + FinalizableStatement: function FinalizableStatement(t0) { + this.statement = t0; + this._inResetState = true; + this._closed = false; + }, + StatementImplementation: function StatementImplementation(t0, t1, t2, t3) { + var _ = this; + _.statement = t0; + _.database = t1; + _.finalizable = t2; + _.sql = t3; + _._latestArguments = null; + }, + Cursor: function Cursor() { + }, + ResultSet: function ResultSet(t0, t1, t2) { + this.rows = t0; + this._result_set$_columnNames = t1; + this._calculatedIndexes = t2; + }, + Row: function Row(t0, t1) { + this._result = t0; + this._data = t1; + }, + _ResultIterator: function _ResultIterator(t0) { + this.result = t0; + this.index = -1; + }, + _ResultSet_Cursor_ListMixin: function _ResultSet_Cursor_ListMixin() { + }, + _ResultSet_Cursor_ListMixin_NonGrowableListMixin: function _ResultSet_Cursor_ListMixin_NonGrowableListMixin() { + }, + _Row_Object_UnmodifiableMapMixin: function _Row_Object_UnmodifiableMapMixin() { + }, + _Row_Object_UnmodifiableMapMixin_MapMixin: function _Row_Object_UnmodifiableMapMixin_MapMixin() { + }, + OpenMode: function OpenMode(t0, t1) { + this.index = t0; + this._core$_name = t1; + }, + CommonPreparedStatement: function CommonPreparedStatement() { + }, + IndexedParameters: function IndexedParameters(t0) { + this.parameters = t0; + }, + VfsException$(returnCode) { + A.assertHelper(returnCode !== 0); + return new A.VfsException(returnCode); + }, + VfsException: function VfsException(t0) { + this.returnCode = t0; + }, + Sqlite3Filename: function Sqlite3Filename(t0) { + this.path = t0; + }, + VirtualFileSystem: function VirtualFileSystem() { + }, + BaseVirtualFileSystem: function BaseVirtualFileSystem() { + }, + BaseVfsFile: function BaseVfsFile() { + }, + WasmSqliteBindings: function WasmSqliteBindings(t0) { + this.bindings = t0; + }, + WasmDatabase0: function WasmDatabase0(t0, t1) { + this.bindings = t0; + this.db = t1; + }, + WasmStatementCompiler: function WasmStatementCompiler(t0, t1, t2, t3) { + var _ = this; + _.database = t0; + _.sql = t1; + _.stmtOut = t2; + _.pzTail = t3; + }, + WasmStatement: function WasmStatement(t0, t1, t2) { + this.stmt = t0; + this.bindings = t1; + this._allocatedArguments = t2; + }, + WasmContext: function WasmContext(t0, t1) { + this.bindings = t0; + this.context = t1; + }, + WasmValue: function WasmValue(t0, t1) { + this.bindings = t0; + this.value = t1; + }, + WasmValueList: function WasmValueList(t0, t1, t2) { + this.bindings = t0; + this.length = t1; + this.value = t2; + }, + AsyncJavaScriptIteratable: function AsyncJavaScriptIteratable(t0, t1) { + this._jsObject = t0; + this.$ti = t1; + }, + AsyncJavaScriptIteratable_listen_fetchNext: function AsyncJavaScriptIteratable_listen_fetchNext(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.iterator = t2; + _.controller = t3; + }, + AsyncJavaScriptIteratable_listen_fetchNext_closure: function AsyncJavaScriptIteratable_listen_fetchNext_closure(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.controller = t2; + _.fetchNext = t3; + }, + AsyncJavaScriptIteratable_listen_fetchNextIfNecessary: function AsyncJavaScriptIteratable_listen_fetchNextIfNecessary(t0, t1, t2) { + this._box_0 = t0; + this.controller = t1; + this.fetchNext = t2; + }, + CompleteIdbRequest_complete(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteIdbRequest_complete_closure(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteIdbRequest_complete_closure0(completer, _this)), false, t3); + return t1; + }, + CompleteOpenIdbRequest_completeOrBlocked(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure0(completer, _this)), false, t3); + A._EventStreamSubscription$(_this, "blocked", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure1(completer, _this)), false, t3); + return t1; + }, + _CursorReader: function _CursorReader(t0, t1) { + var _ = this; + _._indexed_db0$_onError = _._onSuccess = _._cursor = null; + _._cursorRequest = t0; + _.$ti = t1; + }, + _CursorReader_moveNext_closure: function _CursorReader_moveNext_closure(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + _CursorReader_moveNext_closure0: function _CursorReader_moveNext_closure0(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + CompleteIdbRequest_complete_closure: function CompleteIdbRequest_complete_closure(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteIdbRequest_complete_closure0: function CompleteIdbRequest_complete_closure0(t0, t1) { + this.completer = t0; + this._this = t1; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure: function CompleteOpenIdbRequest_completeOrBlocked_closure(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure0: function CompleteOpenIdbRequest_completeOrBlocked_closure0(t0, t1) { + this.completer = t0; + this._this = t1; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure1: function CompleteOpenIdbRequest_completeOrBlocked_closure1(t0, t1) { + this.completer = t0; + this._this = t1; + }, + WasmInstance_load(response, imports) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmInstance), + $async$returnValue, t1, t2, _this, $async$temp1, $async$temp2; + var $async$WasmInstance_load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + _this = {}; + imports.forEach$1(0, new A.WasmInstance_load_closure(_this)); + t1 = type$.JSObject; + t2 = type$.String; + t2 = new A.WasmInstance(A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.JavaScriptFunction), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1)); + $async$temp1 = t2; + $async$temp2 = t1; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t1._as(self.WebAssembly.instantiateStreaming(response, _this)), t1), $async$WasmInstance_load); + case 3: + // returning from await. + $async$temp1.WasmInstance$_$1($async$temp2._as($async$result.instance)); + $async$returnValue = t2; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmInstance_load, $async$completer); + }, + WasmInstance: function WasmInstance(t0, t1) { + this.functions = t0; + this.globals = t1; + }, + WasmInstance_load_closure: function WasmInstance_load_closure(t0) { + this.importsJs = t0; + }, + WasmInstance_load__closure: function WasmInstance_load__closure(t0) { + this.moduleJs = t0; + }, + WasmSqlite3_loadFromUrl(uri) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, t1, jsUri, $async$temp1; + var $async$WasmSqlite3_loadFromUrl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + jsUri = uri.get$isAbsolute() ? t1._as(new self.URL(uri.toString$0(0))) : t1._as(new self.URL(uri.toString$0(0), A.Uri_base().toString$0(0))); + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t1._as(self.fetch(jsUri, null)), t1), $async$WasmSqlite3_loadFromUrl); + case 3: + // returning from await. + $async$returnValue = $async$temp1.WasmSqlite3__load($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3_loadFromUrl, $async$completer); + }, + WasmSqlite3__load(fetchResponse) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, $async$temp1, $async$temp2; + var $async$WasmSqlite3__load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$temp2 = A; + $async$goto = 3; + return A._asyncAwait(A.WasmBindings_instantiateAsync(fetchResponse), $async$WasmSqlite3__load); + case 3: + // returning from await. + $async$returnValue = new $async$temp1.WasmSqlite3(new $async$temp2.WasmSqliteBindings($async$result)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3__load, $async$completer); + }, + WasmSqlite3: function WasmSqlite3(t0) { + this.bindings = t0; + }, + WasmVfs: function WasmVfs(t0, t1, t2, t3, t4) { + var _ = this; + _.synchronizer = t0; + _.serializer = t1; + _.pathContext = t2; + _.random = t3; + _.name = t4; + }, + WasmFile: function WasmFile(t0, t1) { + this.vfs = t0; + this.fd = t1; + this.lockStatus = 0; + }, + RequestResponseSynchronizer_RequestResponseSynchronizer(buffer) { + var t1; + if (A._asInt(buffer.byteLength) !== 8) + throw A.wrapException(A.ArgumentError$("Must be 8 in length", null)); + t1 = type$.JavaScriptFunction._as(self.Int32Array); + return new A.RequestResponseSynchronizer(type$.NativeInt32List._as(A.callConstructor(t1, [buffer], type$.JSObject))); + }, + MessageSerializer_readEmpty(unused) { + return B.C_EmptyMessage; + }, + MessageSerializer_readFlags(msg) { + var t1 = msg.dataView; + return new A.Flags(B.NativeByteData_methods._getInt32$2(t1, 0, false), B.NativeByteData_methods._getInt32$2(t1, 4, false), B.NativeByteData_methods._getInt32$2(t1, 8, false)); + }, + MessageSerializer_readNameAndFlags(msg) { + var t1 = msg.dataView; + return new A.NameAndInt32Flags(B.C_Utf8Codec.decode$1(A.SharedArrayBuffer_asUint8ListSlice(msg.buffer, 16, B.NativeByteData_methods._getInt32$2(t1, 12, false))), B.NativeByteData_methods._getInt32$2(t1, 0, false), B.NativeByteData_methods._getInt32$2(t1, 4, false), B.NativeByteData_methods._getInt32$2(t1, 8, false)); + }, + RequestResponseSynchronizer: function RequestResponseSynchronizer(t0) { + this.int32View = t0; + }, + MessageSerializer: function MessageSerializer(t0, t1, t2) { + this.buffer = t0; + this.dataView = t1; + this.byteView = t2; + }, + WorkerOperation: function WorkerOperation(t0, t1, t2, t3, t4) { + var _ = this; + _.readRequest = t0; + _.readResponse = t1; + _.index = t2; + _._core$_name = t3; + _.$ti = t4; + }, + Message0: function Message0() { + }, + EmptyMessage: function EmptyMessage() { + }, + Flags: function Flags(t0, t1, t2) { + this.flag0 = t0; + this.flag1 = t1; + this.flag2 = t2; + }, + NameAndInt32Flags: function NameAndInt32Flags(t0, t1, t2, t3) { + var _ = this; + _.name = t0; + _.flag0 = t1; + _.flag1 = t2; + _.flag2 = t3; + }, + VfsWorker_create(options) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.VfsWorker), + $async$returnValue, t2, _i, t3, t4, t5, t6, t1, root, split; + var $async$VfsWorker_create = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t1._as(A.storageManager().getDirectory()), t1), $async$VfsWorker_create); + case 3: + // returning from await. + root = $async$result; + split = $.$get$url().split$1(0, A._asString(options.root)); + t2 = split.length, _i = 0; + case 4: + // for condition + if (!(_i < split.length)) { + // goto after for + $async$goto = 6; + break; + } + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(t1._as(root.getDirectoryHandle(split[_i], {create: true})), t1), $async$VfsWorker_create); + case 7: + // returning from await. + root = $async$result; + case 5: + // for update + split.length === t2 || (0, A.throwConcurrentModificationError)(split), ++_i; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + t2 = type$._OpenedFileHandle; + t3 = A.RequestResponseSynchronizer_RequestResponseSynchronizer(t1._as(options.synchronizationBuffer)); + t4 = t1._as(options.communicationBuffer); + t5 = A.SharedArrayBuffer_asByteData(t4, 65536, 2048); + t6 = type$.JavaScriptFunction._as(self.Uint8Array); + $async$returnValue = new A.VfsWorker(t3, new A.MessageSerializer(t4, t5, type$.NativeUint8List._as(A.callConstructor(t6, [t4], t1))), root, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, t2), A.LinkedHashSet_LinkedHashSet$_empty(t2)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$VfsWorker_create, $async$completer); + }, + _ResolvedPath: function _ResolvedPath(t0, t1, t2) { + this.fullPath = t0; + this.directory = t1; + this.filename = t2; + }, + VfsWorker: function VfsWorker(t0, t1, t2, t3, t4) { + var _ = this; + _.synchronizer = t0; + _.messages = t1; + _.root = t2; + _._fdCounter = 0; + _._stopped = false; + _._openFiles = t3; + _._implicitlyHeldLocks = t4; + }, + _OpenedFileHandle: function _OpenedFileHandle(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.fd = t0; + _.readonly = t1; + _.deleteOnClose = t2; + _.fullPath = t3; + _.directory = t4; + _.filename = t5; + _.file = t6; + _.explicitlyLocked = false; + _.syncHandle = null; + }, + IndexedDbFileSystem_open(dbName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.IndexedDbFileSystem), + $async$returnValue, t1, t2, t3, t4, fs; + var $async$IndexedDbFileSystem_open = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.String; + t2 = new A.AsynchronousIndexedDbFileSystem(dbName); + t3 = A.InMemoryFileSystem$(null); + t4 = $.$get$Random__secureRandom(); + fs = new A.IndexedDbFileSystem(t2, t3, new A.LinkedList(type$.LinkedList__IndexedDbWorkItem), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), t4, "indexeddb"); + $async$goto = 3; + return A._asyncAwait(t2.open$0(), $async$IndexedDbFileSystem_open); + case 3: + // returning from await. + $async$goto = 4; + return A._asyncAwait(fs._readFiles$0(), $async$IndexedDbFileSystem_open); + case 4: + // returning from await. + $async$returnValue = fs; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$IndexedDbFileSystem_open, $async$completer); + }, + AsynchronousIndexedDbFileSystem: function AsynchronousIndexedDbFileSystem(t0) { + this._indexed_db$_database = null; + this._dbName = t0; + }, + AsynchronousIndexedDbFileSystem_open_closure: function AsynchronousIndexedDbFileSystem_open_closure(t0) { + this.openRequest = t0; + }, + AsynchronousIndexedDbFileSystem__readFile_closure: function AsynchronousIndexedDbFileSystem__readFile_closure(t0) { + this.fileId = t0; + }, + AsynchronousIndexedDbFileSystem_readFully_closure: function AsynchronousIndexedDbFileSystem_readFully_closure(t0, t1, t2, t3) { + var _ = this; + _.row = t0; + _.result = t1; + _.rowOffset = t2; + _.length = t3; + }, + AsynchronousIndexedDbFileSystem__write_writeBlock: function AsynchronousIndexedDbFileSystem__write_writeBlock(t0, t1) { + this.blocks = t0; + this.fileId = t1; + }, + AsynchronousIndexedDbFileSystem__write_closure: function AsynchronousIndexedDbFileSystem__write_closure(t0, t1) { + this.writeBlock = t0; + this.writes = t1; + }, + _FileWriteRequest: function _FileWriteRequest(t0, t1, t2) { + this.originalContent = t0; + this.replacedBlocks = t1; + this.newFileLength = t2; + }, + _FileWriteRequest__updateBlock_closure: function _FileWriteRequest__updateBlock_closure(t0, t1) { + this.$this = t0; + this.blockOffset = t1; + }, + _OffsetAndBuffer: function _OffsetAndBuffer(t0, t1) { + this.offset = t0; + this.buffer = t1; + }, + IndexedDbFileSystem: function IndexedDbFileSystem(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._asynchronous = t0; + _._isClosing = false; + _._currentWorkItem = null; + _._memory = t1; + _._pendingWork = t2; + _._inMemoryOnlyFiles = t3; + _._knownFileIds = t4; + _.random = t5; + _.name = t6; + }, + IndexedDbFileSystem__startWorkingIfNeeded_closure: function IndexedDbFileSystem__startWorkingIfNeeded_closure(t0) { + this.$this = t0; + }, + _IndexedDbFile: function _IndexedDbFile(t0, t1, t2) { + this.vfs = t0; + this.memoryFile = t1; + this.path = t2; + }, + _IndexedDbFile_xTruncate_closure: function _IndexedDbFile_xTruncate_closure(t0, t1) { + this.$this = t0; + this.size = t1; + }, + _IndexedDbWorkItem: function _IndexedDbWorkItem() { + }, + _FunctionWorkItem: function _FunctionWorkItem(t0, t1) { + var _ = this; + _.work = t0; + _.completer = t1; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _DeleteFileWorkItem: function _DeleteFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _CreateFileWorkItem: function _CreateFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._collection$_previous = _._collection$_next = _._list = null; + }, + _WriteFileWorkItem: function _WriteFileWorkItem(t0, t1, t2, t3, t4) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.originalContent = t2; + _.writes = t3; + _.completer = t4; + _._collection$_previous = _._collection$_next = _._list = null; + }, + InMemoryFileSystem$(random) { + var t1 = $.$get$Random__secureRandom(); + return new A.InMemoryFileSystem(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Uint8List), t1, "dart-memory"); + }, + InMemoryFileSystem: function InMemoryFileSystem(t0, t1, t2) { + this.fileData = t0; + this.random = t1; + this.name = t2; + }, + _InMemoryFile: function _InMemoryFile(t0, t1, t2) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.deleteOnClose = t2; + _._lockMode = 0; + }, + SimpleOpfsFileSystem_loadFromStorage(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SimpleOpfsFileSystem), + $async$returnValue, t1, opfsDirectory, t2, t3, _i, storage; + var $async$SimpleOpfsFileSystem_loadFromStorage = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + storage = A.storageManager(); + if (storage == null) + throw A.wrapException(A.VfsException$(1)); + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(t1._as(storage.getDirectory()), t1), $async$SimpleOpfsFileSystem_loadFromStorage); + case 3: + // returning from await. + opfsDirectory = $async$result; + t2 = $.$get$context().split$1(0, path), t3 = t2.length, _i = 0; + case 4: + // for condition + if (!(_i < t2.length)) { + // goto after for + $async$goto = 6; + break; + } + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(t1._as(opfsDirectory.getDirectoryHandle(t2[_i], {create: true})), t1), $async$SimpleOpfsFileSystem_loadFromStorage); + case 7: + // returning from await. + opfsDirectory = $async$result; + case 5: + // for update + t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + $async$returnValue = A.SimpleOpfsFileSystem_inDirectory(opfsDirectory, "simple-opfs"); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$SimpleOpfsFileSystem_loadFromStorage, $async$completer); + }, + SimpleOpfsFileSystem_inDirectory(root, vfsName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SimpleOpfsFileSystem), + $async$returnValue, t1, _i, type, t2, t3, t4, $open, meta, $async$temp1, $async$temp2; + var $async$SimpleOpfsFileSystem_inDirectory = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $open = new A.SimpleOpfsFileSystem_inDirectory_open(root); + $async$goto = 3; + return A._asyncAwait($open.call$1("meta"), $async$SimpleOpfsFileSystem_inDirectory); + case 3: + // returning from await. + meta = $async$result; + meta.truncate(2); + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileType, type$.JSObject); + _i = 0; + case 4: + // for condition + if (!(_i < 2)) { + // goto after for + $async$goto = 6; + break; + } + type = B.List_oyU[_i]; + $async$temp1 = t1; + $async$temp2 = type; + $async$goto = 7; + return A._asyncAwait($open.call$1(type._core$_name), $async$SimpleOpfsFileSystem_inDirectory); + case 7: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + case 5: + // for update + ++_i; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + t2 = new Uint8Array(2); + t3 = A.InMemoryFileSystem$(null); + t4 = $.$get$Random__secureRandom(); + $async$returnValue = new A.SimpleOpfsFileSystem(meta, t2, t1, t3, t4, vfsName); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$SimpleOpfsFileSystem_inDirectory, $async$completer); + }, + FileType: function FileType(t0, t1, t2) { + this.filePath = t0; + this.index = t1; + this._core$_name = t2; + }, + SimpleOpfsFileSystem: function SimpleOpfsFileSystem(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._metaHandle = t0; + _._existsList = t1; + _._files = t2; + _._simple_opfs$_memory = t3; + _.random = t4; + _.name = t5; + }, + SimpleOpfsFileSystem_inDirectory_open: function SimpleOpfsFileSystem_inDirectory_open(t0) { + this.root = t0; + }, + _SimpleOpfsFile: function _SimpleOpfsFile(t0, t1, t2, t3) { + var _ = this; + _.vfs = t0; + _.type = t1; + _.syncHandle = t2; + _.deleteOnClose = t3; + _._simple_opfs$_lockMode = 0; + }, + WasmBindings_instantiateAsync(response) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmBindings), + $async$returnValue, instance, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50, injected, t1; + var $async$WasmBindings_instantiateAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + injected = A._InjectedValues$(); + t1 = injected.___InjectedValues_injectedValues_A; + t1 === $ && A.throwLateFieldNI("injectedValues"); + $async$goto = 3; + return A._asyncAwait(A.WasmInstance_load(response, t1), $async$WasmBindings_instantiateAsync); + case 3: + // returning from await. + instance = $async$result; + t1 = injected.___InjectedValues_memory_A; + t1 === $ && A.throwLateFieldNI("memory"); + t2 = instance.functions; + t3 = t2.$index(0, "dart_sqlite3_malloc"); + t3.toString; + t4 = t2.$index(0, "dart_sqlite3_free"); + t4.toString; + t5 = t2.$index(0, "dart_sqlite3_create_scalar_function"); + t5.toString; + t6 = t2.$index(0, "dart_sqlite3_create_aggregate_function"); + t6.toString; + t2.$index(0, "dart_sqlite3_create_window_function").toString; + t2.$index(0, "dart_sqlite3_create_collation").toString; + t7 = t2.$index(0, "dart_sqlite3_register_vfs"); + t7.toString; + t2.$index(0, "sqlite3_vfs_unregister").toString; + t8 = t2.$index(0, "dart_sqlite3_updates"); + t8.toString; + t2.$index(0, "sqlite3_libversion").toString; + t2.$index(0, "sqlite3_sourceid").toString; + t2.$index(0, "sqlite3_libversion_number").toString; + t9 = t2.$index(0, "sqlite3_open_v2"); + t9.toString; + t10 = t2.$index(0, "sqlite3_close_v2"); + t10.toString; + t11 = t2.$index(0, "sqlite3_extended_errcode"); + t11.toString; + t12 = t2.$index(0, "sqlite3_errmsg"); + t12.toString; + t13 = t2.$index(0, "sqlite3_errstr"); + t13.toString; + t14 = t2.$index(0, "sqlite3_extended_result_codes"); + t14.toString; + t15 = t2.$index(0, "sqlite3_exec"); + t15.toString; + t2.$index(0, "sqlite3_free").toString; + t16 = t2.$index(0, "sqlite3_prepare_v3"); + t16.toString; + t17 = t2.$index(0, "sqlite3_bind_parameter_count"); + t17.toString; + t18 = t2.$index(0, "sqlite3_column_count"); + t18.toString; + t19 = t2.$index(0, "sqlite3_column_name"); + t19.toString; + t20 = t2.$index(0, "sqlite3_reset"); + t20.toString; + t21 = t2.$index(0, "sqlite3_step"); + t21.toString; + t22 = t2.$index(0, "sqlite3_finalize"); + t22.toString; + t23 = t2.$index(0, "sqlite3_column_type"); + t23.toString; + t24 = t2.$index(0, "sqlite3_column_int64"); + t24.toString; + t25 = t2.$index(0, "sqlite3_column_double"); + t25.toString; + t26 = t2.$index(0, "sqlite3_column_bytes"); + t26.toString; + t27 = t2.$index(0, "sqlite3_column_blob"); + t27.toString; + t28 = t2.$index(0, "sqlite3_column_text"); + t28.toString; + t29 = t2.$index(0, "sqlite3_bind_null"); + t29.toString; + t30 = t2.$index(0, "sqlite3_bind_int64"); + t30.toString; + t31 = t2.$index(0, "sqlite3_bind_double"); + t31.toString; + t32 = t2.$index(0, "sqlite3_bind_text"); + t32.toString; + t33 = t2.$index(0, "sqlite3_bind_blob64"); + t33.toString; + t34 = t2.$index(0, "sqlite3_bind_parameter_index"); + t34.toString; + t35 = t2.$index(0, "sqlite3_changes"); + t35.toString; + t36 = t2.$index(0, "sqlite3_last_insert_rowid"); + t36.toString; + t37 = t2.$index(0, "sqlite3_user_data"); + t37.toString; + t38 = t2.$index(0, "sqlite3_result_null"); + t38.toString; + t39 = t2.$index(0, "sqlite3_result_int64"); + t39.toString; + t40 = t2.$index(0, "sqlite3_result_double"); + t40.toString; + t41 = t2.$index(0, "sqlite3_result_text"); + t41.toString; + t42 = t2.$index(0, "sqlite3_result_blob64"); + t42.toString; + t43 = t2.$index(0, "sqlite3_result_error"); + t43.toString; + t44 = t2.$index(0, "sqlite3_value_type"); + t44.toString; + t45 = t2.$index(0, "sqlite3_value_int64"); + t45.toString; + t46 = t2.$index(0, "sqlite3_value_double"); + t46.toString; + t47 = t2.$index(0, "sqlite3_value_bytes"); + t47.toString; + t48 = t2.$index(0, "sqlite3_value_text"); + t48.toString; + t49 = t2.$index(0, "sqlite3_value_blob"); + t49.toString; + t2.$index(0, "sqlite3_aggregate_context").toString; + t2.$index(0, "sqlite3_get_autocommit").toString; + t50 = t2.$index(0, "sqlite3_stmt_isexplain"); + t50.toString; + t2.$index(0, "sqlite3_stmt_readonly").toString; + t2.$index(0, "dart_sqlite3_db_config_int"); + instance.globals.$index(0, "sqlite3_temp_directory").toString; + $async$returnValue = injected.___InjectedValues_bindings_A = new A.WasmBindings(t1, injected.callbacks, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t28, t27, t29, t30, t31, t32, t33, t34, t22, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmBindings_instantiateAsync, $async$completer); + }, + _runVfs(body) { + var e, exception, t1; + try { + body.call$0(); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.VfsException) { + e = t1; + return e.returnCode; + } else + return 1; + } + }, + WrappedMemory_strlen(_this, address) { + var bytes, t1, $length; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + bytes = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.buffer), address, null); + t1 = bytes.length; + $length = 0; + while (true) { + if (!($length < t1)) + return A.ioore(bytes, $length); + if (!(bytes[$length] !== 0)) + break; + ++$length; + } + return $length; + }, + WrappedMemory_int32ValueOfPointer(_this, pointer) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeInt32List_NativeInt32List$view(type$.NativeByteBuffer._as(_this.buffer), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + }, + WrappedMemory_setInt32Value(_this, pointer, value) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeInt32List_NativeInt32List$view(type$.NativeByteBuffer._as(_this.buffer), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t1[t2] = value; + }, + WrappedMemory_readString(_this, address, $length) { + var t1; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = type$.NativeByteBuffer._as(_this.buffer); + return B.C_Utf8Codec.decode$1(A.NativeUint8List_NativeUint8List$view(t1, address, $length == null ? A.WrappedMemory_strlen(_this, address) : $length)); + }, + WrappedMemory_readNullableString(_this, address, $length) { + var t1; + if (address === 0) + return null; + t1 = type$.NativeByteBuffer._as(_this.buffer); + return B.C_Utf8Codec.decode$1(A.NativeUint8List_NativeUint8List$view(t1, address, $length == null ? A.WrappedMemory_strlen(_this, address) : $length)); + }, + WrappedMemory_copyRange(_this, pointer, $length) { + var list = new Uint8Array($length); + B.NativeUint8List_methods.setAll$2(list, 0, A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.buffer), pointer, $length)); + return list; + }, + _InjectedValues$() { + var t1 = type$.int; + t1 = new A._InjectedValues(new A.DartCallbacks(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.RegisteredFunctionSet), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AggregateContext_nullable_Object), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VirtualFileSystem), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VirtualFileSystemFile))); + t1._InjectedValues$0(); + return t1; + }, + WasmBindings: function WasmBindings(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49) { + var _ = this; + _.memory = t0; + _.callbacks = t1; + _._malloc = t2; + _._free = t3; + _._create_scalar = t4; + _._create_aggregate = t5; + _._register_vfs = t6; + _._update_hooks = t7; + _._sqlite3_open_v2 = t8; + _._sqlite3_close_v2 = t9; + _._sqlite3_extended_errcode = t10; + _._sqlite3_errmsg = t11; + _._sqlite3_errstr = t12; + _._sqlite3_extended_result_codes = t13; + _._sqlite3_exec = t14; + _._sqlite3_prepare_v3 = t15; + _._sqlite3_bind_parameter_count = t16; + _._sqlite3_column_count = t17; + _._sqlite3_column_name = t18; + _._sqlite3_reset = t19; + _._sqlite3_step = t20; + _._sqlite3_column_type = t21; + _._sqlite3_column_int64 = t22; + _._sqlite3_column_double = t23; + _._sqlite3_column_bytes = t24; + _._sqlite3_column_text = t25; + _._sqlite3_column_blob = t26; + _._sqlite3_bind_null = t27; + _._sqlite3_bind_int64 = t28; + _._sqlite3_bind_double = t29; + _._sqlite3_bind_text = t30; + _._sqlite3_bind_blob64 = t31; + _._sqlite3_bind_parameter_index = t32; + _._sqlite3_finalize = t33; + _._sqlite3_changes = t34; + _._sqlite3_last_insert_rowid = t35; + _._sqlite3_user_data = t36; + _._sqlite3_result_null = t37; + _._sqlite3_result_int64 = t38; + _._sqlite3_result_double = t39; + _._sqlite3_result_text = t40; + _._sqlite3_result_blob64 = t41; + _._sqlite3_result_error = t42; + _._sqlite3_value_type = t43; + _._sqlite3_value_int64 = t44; + _._sqlite3_value_double = t45; + _._sqlite3_value_bytes = t46; + _._sqlite3_value_text = t47; + _._sqlite3_value_blob = t48; + _._sqlite3_stmt_isexplain = t49; + }, + _InjectedValues: function _InjectedValues(t0) { + var _ = this; + _.___InjectedValues_memory_A = _.___InjectedValues_injectedValues_A = _.___InjectedValues_bindings_A = $; + _.callbacks = t0; + }, + _InjectedValues_closure: function _InjectedValues_closure(t0) { + this.memory = t0; + }, + _InjectedValues_closure0: function _InjectedValues_closure0(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure13: function _InjectedValues__closure13(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.$this = t0; + _.vfs = t1; + _.path = t2; + _.flags = t3; + _.memory = t4; + _.dartFdPtr = t5; + _.pOutFlags = t6; + }, + _InjectedValues_closure1: function _InjectedValues_closure1(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure12: function _InjectedValues__closure12(t0, t1, t2) { + this.vfs = t0; + this.path = t1; + this.syncDir = t2; + }, + _InjectedValues_closure2: function _InjectedValues_closure2(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure11: function _InjectedValues__closure11(t0, t1, t2, t3, t4) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.flags = t2; + _.memory = t3; + _.pResOut = t4; + }, + _InjectedValues_closure3: function _InjectedValues_closure3(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure10: function _InjectedValues__closure10(t0, t1, t2, t3, t4) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.nOut = t2; + _.memory = t3; + _.zOut = t4; + }, + _InjectedValues_closure4: function _InjectedValues_closure4(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure9: function _InjectedValues__closure9(t0, t1, t2, t3) { + var _ = this; + _.vfs = t0; + _.memory = t1; + _.zOut = t2; + _.nByte = t3; + }, + _InjectedValues_closure5: function _InjectedValues_closure5(t0) { + this.$this = t0; + }, + _InjectedValues__closure8: function _InjectedValues__closure8(t0, t1) { + this.vfs = t0; + this.micros = t1; + }, + _InjectedValues_closure6: function _InjectedValues_closure6(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure7: function _InjectedValues_closure7(t0) { + this.$this = t0; + }, + _InjectedValues_closure8: function _InjectedValues_closure8(t0) { + this.$this = t0; + }, + _InjectedValues__closure7: function _InjectedValues__closure7(t0, t1, t2) { + this.$this = t0; + this.file = t1; + this.fd = t2; + }, + _InjectedValues_closure9: function _InjectedValues_closure9(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure6: function _InjectedValues__closure6(t0, t1, t2, t3, t4) { + var _ = this; + _.file = t0; + _.memory = t1; + _.target = t2; + _.amount = t3; + _.offset = t4; + }, + _InjectedValues_closure10: function _InjectedValues_closure10(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure5: function _InjectedValues__closure5(t0, t1, t2, t3, t4) { + var _ = this; + _.file = t0; + _.memory = t1; + _.source = t2; + _.amount = t3; + _.offset = t4; + }, + _InjectedValues_closure11: function _InjectedValues_closure11(t0) { + this.$this = t0; + }, + _InjectedValues__closure4: function _InjectedValues__closure4(t0, t1) { + this.file = t0; + this.size = t1; + }, + _InjectedValues_closure12: function _InjectedValues_closure12(t0) { + this.$this = t0; + }, + _InjectedValues__closure3: function _InjectedValues__closure3(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure13: function _InjectedValues_closure13(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure2: function _InjectedValues__closure2(t0, t1, t2) { + this.file = t0; + this.memory = t1; + this.sizePtr = t2; + }, + _InjectedValues_closure14: function _InjectedValues_closure14(t0) { + this.$this = t0; + }, + _InjectedValues__closure1: function _InjectedValues__closure1(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure15: function _InjectedValues_closure15(t0) { + this.$this = t0; + }, + _InjectedValues__closure0: function _InjectedValues__closure0(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure16: function _InjectedValues_closure16(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure: function _InjectedValues__closure(t0, t1, t2) { + this.file = t0; + this.memory = t1; + this.pResOut = t2; + }, + _InjectedValues_closure17: function _InjectedValues_closure17(t0) { + this.$this = t0; + }, + _InjectedValues_closure18: function _InjectedValues_closure18(t0) { + this.$this = t0; + }, + _InjectedValues_closure19: function _InjectedValues_closure19(t0) { + this.$this = t0; + }, + _InjectedValues_closure20: function _InjectedValues_closure20(t0) { + this.$this = t0; + }, + _InjectedValues_closure21: function _InjectedValues_closure21(t0) { + this.$this = t0; + }, + _InjectedValues_closure22: function _InjectedValues_closure22(t0) { + this.$this = t0; + }, + _InjectedValues_closure23: function _InjectedValues_closure23(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure24: function _InjectedValues_closure24(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + DartCallbacks: function DartCallbacks(t0, t1, t2, t3) { + var _ = this; + _._id = 0; + _.functions = t0; + _.aggregateContexts = t1; + _.registeredVfs = t2; + _.openedFiles = t3; + _.installedUpdateHook = null; + }, + RegisteredFunctionSet: function RegisteredFunctionSet(t0, t1, t2) { + this.xFunc = t0; + this.xStep = t1; + this.xFinal = t2; + }, + Chain_Chain$parse(chain) { + var t1, t2, + _s51_ = string$.______; + if (chain.length === 0) + return new A.Chain(A.List_List$unmodifiable(A._setArrayType([], type$.JSArray_Trace), type$.Trace)); + t1 = $.$get$vmChainGap(); + if (B.JSString_methods.contains$1(chain, t1)) { + t1 = B.JSString_methods.split$1(chain, t1); + t2 = A._arrayInstanceType(t1); + return new A.Chain(A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Chain_Chain$parse_closure()), t2._eval$1("WhereIterable<1>")), t2._eval$1("Trace(1)")._as(A.trace_Trace___parseVM_tearOff$closure()), t2._eval$1("MappedIterable<1,Trace>")), type$.Trace)); + } + if (!B.JSString_methods.contains$1(chain, _s51_)) + return new A.Chain(A.List_List$unmodifiable(A._setArrayType([A.Trace_Trace$parse(chain)], type$.JSArray_Trace), type$.Trace)); + return new A.Chain(A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(chain.split(_s51_), type$.JSArray_String), type$.Trace_Function_String._as(A.trace_Trace___parseFriendly_tearOff$closure()), type$.MappedListIterable_String_Trace), type$.Trace)); + }, + Chain: function Chain(t0) { + this.traces = t0; + }, + Chain_Chain$parse_closure: function Chain_Chain$parse_closure() { + }, + Chain_toTrace_closure: function Chain_toTrace_closure() { + }, + Chain_toString_closure0: function Chain_toString_closure0() { + }, + Chain_toString__closure0: function Chain_toString__closure0() { + }, + Chain_toString_closure: function Chain_toString_closure(t0) { + this.longest = t0; + }, + Chain_toString__closure: function Chain_toString__closure(t0) { + this.longest = t0; + }, + Frame___parseVM_tearOff(frame) { + return A.Frame_Frame$parseVM(A._asString(frame)); + }, + Frame_Frame$parseVM(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame)); + }, + Frame___parseV8_tearOff(frame) { + return A.Frame_Frame$parseV8(A._asString(frame)); + }, + Frame_Frame$parseV8(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame)); + }, + Frame_Frame$_parseFirefoxEval(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$_parseFirefoxEval_closure(frame)); + }, + Frame___parseFirefox_tearOff(frame) { + return A.Frame_Frame$parseFirefox(A._asString(frame)); + }, + Frame_Frame$parseFirefox(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame)); + }, + Frame___parseFriendly_tearOff(frame) { + return A.Frame_Frame$parseFriendly(A._asString(frame)); + }, + Frame_Frame$parseFriendly(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame)); + }, + Frame__uriOrPathToUri(uriOrPath) { + if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__uriRegExp())) + return A.Uri_parse(uriOrPath); + else if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp())) + return A._Uri__Uri$file(uriOrPath, true); + else if (B.JSString_methods.startsWith$1(uriOrPath, "/")) + return A._Uri__Uri$file(uriOrPath, false); + if (B.JSString_methods.contains$1(uriOrPath, "\\")) + return $.$get$windows().toUri$1(uriOrPath); + return A.Uri_parse(uriOrPath); + }, + Frame__catchFormatException(text, body) { + var t1, exception; + try { + t1 = body.call$0(); + return t1; + } catch (exception) { + if (A.unwrapException(exception) instanceof A.FormatException) + return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), text); + else + throw exception; + } + }, + Frame: function Frame(t0, t1, t2, t3) { + var _ = this; + _.uri = t0; + _.line = t1; + _.column = t2; + _.member = t3; + }, + Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) { + this.frame = t0; + }, + Frame_Frame$_parseFirefoxEval_closure: function Frame_Frame$_parseFirefoxEval_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) { + this.frame = t0; + }, + LazyTrace: function LazyTrace(t0) { + this._thunk = t0; + this.__LazyTrace__trace_FI = $; + }, + Trace_Trace$from(trace) { + if (type$.Trace._is(trace)) + return trace; + if (trace instanceof A.Chain) + return trace.toTrace$0(); + return new A.LazyTrace(new A.Trace_Trace$from_closure(trace)); + }, + Trace_Trace$parse(trace) { + var error, t1, exception; + try { + if (trace.length === 0) { + t1 = A.Trace$(A._setArrayType([], type$.JSArray_Frame), null); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_v8Trace())) { + t1 = A.Trace$parseV8(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, "\tat ")) { + t1 = A.Trace$parseJSCore(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace()) || B.JSString_methods.contains$1(trace, $.$get$_firefoxEvalTrace())) { + t1 = A.Trace$parseFirefox(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, string$.______)) { + t1 = A.Chain_Chain$parse(trace).toTrace$0(); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) { + t1 = A.Trace$parseFriendly(trace); + return t1; + } + t1 = A.Trace$parseVM(trace); + return t1; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FormatException) { + error = t1; + throw A.wrapException(A.FormatException$(error.message + "\nStack trace:\n" + trace, null, null)); + } else + throw exception; + } + }, + Trace___parseVM_tearOff(trace) { + return A.Trace$parseVM(A._asString(trace)); + }, + Trace$parseVM(trace) { + var t1 = A.List_List$unmodifiable(A.Trace__parseVM(trace), type$.Frame); + return new A.Trace(t1); + }, + Trace__parseVM(trace) { + var $frames, + t1 = B.JSString_methods.trim$0(trace), + t2 = $.$get$vmChainGap(), + t3 = type$.WhereIterable_String, + lines = new A.WhereIterable(A._setArrayType(A.stringReplaceAllUnchecked(t1, t2, "").split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace__parseVM_closure()), t3); + if (!lines.get$iterator(0).moveNext$0()) + return A._setArrayType([], type$.JSArray_Frame); + t1 = A.TakeIterable_TakeIterable(lines, lines.get$length(0) - 1, t3._eval$1("Iterable.E")); + t2 = A._instanceType(t1); + t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("Frame(Iterable.E)")._as(A.frame_Frame___parseVM_tearOff$closure()), t2._eval$1("Iterable.E"), type$.Frame); + $frames = A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E")); + if (!J.endsWith$1$s(lines.get$last(0), ".da")) + B.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(0))); + return $frames; + }, + Trace$parseV8(trace) { + var t2, t3, + t1 = A.SubListIterable$(A._setArrayType(trace.split("\n"), type$.JSArray_String), 1, null, type$.String); + t1 = t1.super$Iterable$skipWhile(0, t1.$ti._eval$1("bool(ListIterable.E)")._as(new A.Trace$parseV8_closure())); + t2 = type$.Frame; + t3 = t1.$ti; + t2 = A.List_List$unmodifiable(A.MappedIterable_MappedIterable(t1, t3._eval$1("Frame(Iterable.E)")._as(A.frame_Frame___parseV8_tearOff$closure()), t3._eval$1("Iterable.E"), t2), t2); + return new A.Trace(t2); + }, + Trace$parseJSCore(trace) { + var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(trace.split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseJSCore_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseV8_tearOff$closure()), type$.MappedIterable_String_Frame), type$.Frame); + return new A.Trace(t1); + }, + Trace$parseFirefox(trace) { + var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseFirefox_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseFirefox_tearOff$closure()), type$.MappedIterable_String_Frame), type$.Frame); + return new A.Trace(t1); + }, + Trace___parseFriendly_tearOff(trace) { + return A.Trace$parseFriendly(A._asString(trace)); + }, + Trace$parseFriendly(trace) { + var t1 = trace.length === 0 ? A._setArrayType([], type$.JSArray_Frame) : new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseFriendly_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseFriendly_tearOff$closure()), type$.MappedIterable_String_Frame); + t1 = A.List_List$unmodifiable(t1, type$.Frame); + return new A.Trace(t1); + }, + Trace$($frames, original) { + var t1 = A.List_List$unmodifiable($frames, type$.Frame); + return new A.Trace(t1); + }, + Trace: function Trace(t0) { + this.frames = t0; + }, + Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) { + this.trace = t0; + }, + Trace__parseVM_closure: function Trace__parseVM_closure() { + }, + Trace$parseV8_closure: function Trace$parseV8_closure() { + }, + Trace$parseJSCore_closure: function Trace$parseJSCore_closure() { + }, + Trace$parseFirefox_closure: function Trace$parseFirefox_closure() { + }, + Trace$parseFriendly_closure: function Trace$parseFriendly_closure() { + }, + Trace_toString_closure0: function Trace_toString_closure0() { + }, + Trace_toString_closure: function Trace_toString_closure(t0) { + this.longest = t0; + }, + UnparsedFrame: function UnparsedFrame(t0, t1) { + this.uri = t0; + this.member = t1; + }, + CloseGuaranteeChannel: function CloseGuaranteeChannel(t0) { + var _ = this; + _.__CloseGuaranteeChannel__sink_F = _.__CloseGuaranteeChannel__stream_F = $; + _._close_guarantee_channel$_subscription = null; + _._disconnected = false; + _.$ti = t0; + }, + _CloseGuaranteeStream: function _CloseGuaranteeStream(t0, t1, t2) { + this._inner = t0; + this._channel = t1; + this.$ti = t2; + }, + _CloseGuaranteeSink: function _CloseGuaranteeSink(t0, t1, t2) { + this._channel = t0; + this._sink = t1; + this.$ti = t2; + }, + GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) { + var t2, t1 = {}; + t1.innerStream = innerStream; + t2 = new A.GuaranteeChannel($T._eval$1("GuaranteeChannel<0>")); + t2.GuaranteeChannel$3$allowSinkErrors(innerSink, true, t1, $T); + return t2; + }, + GuaranteeChannel: function GuaranteeChannel(t0) { + var _ = this; + _.__GuaranteeChannel__streamController_F = _.__GuaranteeChannel__sink_F = $; + _._guarantee_channel$_subscription = null; + _._guarantee_channel$_disconnected = false; + _.$ti = t0; + }, + GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1, t2) { + this._box_0 = t0; + this.$this = t1; + this.T = t2; + }, + GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) { + this.$this = t0; + }, + _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) { + var _ = this; + _._guarantee_channel$_inner = t0; + _._guarantee_channel$_channel = t1; + _._doneCompleter = t2; + _._guarantee_channel$_closed = _._guarantee_channel$_disconnected = false; + _._addStreamCompleter = _._addStreamSubscription = null; + _._allowErrors = t3; + _.$ti = t4; + }, + StreamChannelController: function StreamChannelController(t0) { + this.__StreamChannelController__foreign_F = this.__StreamChannelController__local_F = $; + this.$ti = t0; + }, + StreamChannelMixin: function StreamChannelMixin() { + }, + _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) { + var t1; + if (onData == null) + t1 = null; + else { + t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JSObject); + t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function)); + } + t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>")); + t1._tryResume$0(); + return t1; + }, + _wrapZone(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + EventStreamProvider: function EventStreamProvider(t0, t1) { + this._eventType = t0; + this.$ti = t1; + }, + _EventStream: function _EventStream(t0, t1, t2, t3) { + var _ = this; + _._target = t0; + _._eventType = t1; + _._useCapture = t2; + _.$ti = t3; + }, + _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) { + var _ = this; + _._pauseCount = 0; + _._target = t0; + _._eventType = t1; + _._onData = t2; + _._useCapture = t3; + _.$ti = t4; + }, + _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) { + this.onData = t0; + }, + _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) { + this.handleData = t0; + }, + printString(string) { + if (typeof dartPrint == "function") { + dartPrint(string); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof print == "function") { + print(string); + return; + } + throw "Unable to print message: " + String(string); + }, + ListToJSArray_get_toJS(_this, $T) { + return _this; + }, + StringToJSString_get_toJS(_this) { + return _this; + }, + JSAnyUtilityExtension_instanceOfString(_this, constructorName) { + var parts, $constructor, t1, t2, _i, part; + if (constructorName.length === 0) + return false; + parts = constructorName.split("."); + $constructor = type$.JSObject._as(self); + for (t1 = parts.length, t2 = type$.nullable_JSObject, _i = 0; _i < t1; ++_i) { + part = parts[_i]; + $constructor = t2._as($constructor[part]); + if ($constructor == null) + return false; + } + return _this instanceof type$.JavaScriptFunction._as($constructor); + }, + JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, arg3, arg4) { + var t1; + if (arg1 == null) + return _this[method](); + else if (arg2 == null) + return _this[method](arg1); + else if (arg3 == null) + return _this[method](arg1, arg2); + else { + t1 = _this[method](arg1, arg2, arg3); + return t1; + } + }, + _pseudorandomStringWithAlphabet($length, alphabet) { + var i, t1, + b = A.List_List$filled($length, 0, false, type$.int), + max = alphabet.length; + for (i = 0; i < $length; ++i) { + t1 = B.C__JSRandom.nextInt$1(max); + if (!(t1 >= 0 && t1 < max)) + return A.ioore(alphabet, t1); + B.JSArray_methods.$indexSet(b, i, alphabet.charCodeAt(t1)); + } + return A.String_String$fromCharCodes(b, 0, null); + }, + current() { + var exception, t1, path, lastIndex, uri = null; + try { + uri = A.Uri_base(); + } catch (exception) { + if (type$.Exception._is(A.unwrapException(exception))) { + t1 = $._current; + if (t1 != null) + return t1; + throw exception; + } else + throw exception; + } + if (J.$eq$(uri, $._currentUriBase)) { + t1 = $._current; + t1.toString; + return t1; + } + $._currentUriBase = uri; + if ($.$get$Style_platform() === $.$get$Style_url()) + t1 = $._current = uri.resolve$1(".").toString$0(0); + else { + path = uri.toFilePath$0(); + t1 = path.length; + lastIndex = t1 - 1; + if (!(lastIndex >= 0)) + return A.ioore(path, lastIndex); + t1 = path[lastIndex]; + A.assertHelper(t1 === "/" || t1 === "\\"); + t1 = $._current = lastIndex === 0 ? path : B.JSString_methods.substring$2(path, 0, lastIndex); + } + return t1; + }, + isAlphabetic(char) { + var t1; + if (!(char >= 65 && char <= 90)) + t1 = char >= 97 && char <= 122; + else + t1 = true; + return t1; + }, + driveLetterEnd(path, index) { + var t2, t3, _null = null, + t1 = path.length, + index0 = index + 2; + if (t1 < index0) + return _null; + if (!(index >= 0 && index < t1)) + return A.ioore(path, index); + if (!A.isAlphabetic(path.charCodeAt(index))) + return _null; + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 58) { + t3 = index + 4; + if (t1 < t3) + return _null; + if (B.JSString_methods.substring$2(path, t2, t3).toLowerCase() !== "%3a") + return _null; + index = index0; + } + t2 = index + 2; + if (t1 === t2) + return t2; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 47) + return _null; + return index + 3; + }, + createExceptionRaw(bindings, db, returnCode, operation, previousStatement, statementArgs) { + var _s4_ = "call", + t1 = db.bindings, + t2 = db.db, + t3 = type$.nullable_Object, + extendedCode = A._asInt(A._asDouble(A.callMethod(t1._sqlite3_extended_errcode, _s4_, [null, t2], t3))), + t4 = bindings.bindings; + return new A.SqliteException(A.WrappedMemory_readString(t1.memory, A._asInt(A._asDouble(A.callMethod(t1._sqlite3_errmsg, _s4_, [null, t2], t3))), null), A.WrappedMemory_readString(t4.memory, A._asInt(A._asDouble(A.callMethod(t4._sqlite3_errstr, _s4_, [null, extendedCode], t3))), null) + " (code " + extendedCode + ")", returnCode, operation, previousStatement, statementArgs); + }, + throwException(db, returnCode, operation, previousStatement, statementArgs) { + throw A.wrapException(A.createExceptionRaw(db.bindings, db.database, returnCode, operation, previousStatement, statementArgs)); + }, + BigIntRangeCheck_get_checkRange(_this) { + if (_this.compareTo$1(0, $.$get$bigIntMinValue64()) < 0 || _this.compareTo$1(0, $.$get$bigIntMaxValue64()) > 0) + throw A.wrapException(A.Exception_Exception("BigInt value exceeds the range of 64 bits")); + return _this; + }, + ReadBlob_byteBuffer(_this) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.ByteBuffer), + $async$returnValue; + var $async$ReadBlob_byteBuffer = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(_this.arrayBuffer()), type$.NativeByteBuffer), $async$ReadBlob_byteBuffer); + case 3: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ReadBlob_byteBuffer, $async$completer); + }, + SharedArrayBuffer_asByteData(_this, offset, $length) { + var t1 = type$.JavaScriptFunction._as(self.DataView), + t2 = [_this]; + t2.push(offset); + t2.push($length); + return type$.NativeByteData._as(A.callConstructor(t1, t2, type$.JSObject)); + }, + SharedArrayBuffer_asUint8ListSlice(_this, offset, $length) { + var t1 = type$.JavaScriptFunction._as(self.Uint8Array), + t2 = [_this]; + t2.push(offset); + t2.push($length); + return type$.NativeUint8List._as(A.callConstructor(t1, t2, type$.JSObject)); + }, + Atomics_notify(typedArray, index) { + self.Atomics.notify(typedArray, index, 1 / 0); + }, + storageManager() { + var t1 = type$.JSObject, + $navigator = t1._as(self.navigator); + if ("storage" in $navigator) + return t1._as($navigator.storage); + return null; + }, + FileSystemSyncAccessHandleApi_readDart(_this, buffer, options) { + return A._asInt(_this.read(buffer, options)); + }, + FileSystemSyncAccessHandleApi_writeDart(_this, buffer, options) { + return A._asInt(_this.write(buffer, options)); + }, + FileSystemDirectoryHandleApi_remove(_this, $name) { + return A.promiseToFuture(type$.JSObject._as(_this.removeEntry($name, {recursive: false})), type$.nullable_Object); + }, + GenerateFilename_randomFileName(_this, prefix) { + var t1, i, t2, + _s61_ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789"; + for (t1 = prefix, i = 0; i < 16; ++i, t1 = t2) { + t2 = _this.nextInt$1(61); + if (!(t2 < 61)) + return A.ioore(_s61_, t2); + t2 = t1 + A.Primitives_stringFromCharCode(_s61_.charCodeAt(t2)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + main() { + var $self = type$.JSObject._as(self); + if (A.JSAnyUtilityExtension_instanceOfString($self, "DedicatedWorkerGlobalScope")) + new A.DedicatedDriftWorker($self, new A.Lock(), new A.DriftServerController(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.RunningWasmServer), A.functions__applyDbFunctions$closure())).start$0(); + else if (A.JSAnyUtilityExtension_instanceOfString($self, "SharedWorkerGlobalScope")) + new A.SharedDriftWorker($self, new A.DriftServerController(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.RunningWasmServer), A.functions__applyDbFunctions$closure())).start$0(); + return null; + } + }, + B = {}; + var holders = [A, J, B]; + var $ = {}; + A.JS_CONST.prototype = {}; + J.Interceptor.prototype = { + $eq(receiver, other) { + return receiver === other; + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + toString$0(receiver) { + return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; + }, + noSuchMethod$1(receiver, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, type$.Invocation._as(invocation))); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(A._instanceTypeFromConstructor(this)); + } + }; + J.JSBool.prototype = { + toString$0(receiver) { + return String(receiver); + }, + get$hashCode(receiver) { + return receiver ? 519018 : 218159; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.bool); + }, + $isTrustedGetRuntimeType: 1, + $isbool: 1 + }; + J.JSNull.prototype = { + $eq(receiver, other) { + return null == other; + }, + toString$0(receiver) { + return "null"; + }, + get$hashCode(receiver) { + return 0; + }, + $isTrustedGetRuntimeType: 1, + $isNull: 1 + }; + J.JavaScriptObject.prototype = {$isJSObject: 1}; + J.LegacyJavaScriptObject.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.PlainJavaScriptObject.prototype = {}; + J.UnknownJavaScriptObject.prototype = {}; + J.JavaScriptFunction.prototype = { + toString$0(receiver) { + var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; + if (dartClosure == null) + return this.super$LegacyJavaScriptObject$toString(receiver); + return "JavaScript function for " + J.toString$0$(dartClosure); + }, + $isFunction: 1 + }; + J.JavaScriptBigInt.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.JavaScriptSymbol.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.JSArray.prototype = { + cast$1$0(receiver, $R) { + return new A.CastList(receiver, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); + }, + add$1(receiver, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("add")); + receiver.push(value); + }, + removeAt$1(receiver, index) { + var t1; + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("removeAt")); + t1 = receiver.length; + if (index >= t1) + throw A.wrapException(A.RangeError$value(index, null)); + return receiver.splice(index, 1)[0]; + }, + insert$2(receiver, index, value) { + var t1; + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("insert")); + t1 = receiver.length; + if (index > t1) + throw A.wrapException(A.RangeError$value(index, null)); + receiver.splice(index, 0, value); + }, + insertAll$2(receiver, index, iterable) { + var insertionLength, end; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("insertAll")); + A.RangeError_checkValueInInterval(index, 0, receiver.length, "index"); + if (!type$.EfficientLengthIterable_dynamic._is(iterable)) + iterable = J.toList$0$ax(iterable); + insertionLength = J.get$length$asx(iterable); + this._setLengthUnsafe$1(receiver, receiver.length + insertionLength); + end = index + insertionLength; + this.setRange$4(receiver, end, receiver.length, receiver, index); + this.setRange$3(receiver, index, end, iterable); + }, + removeLast$0(receiver) { + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("removeLast")); + if (receiver.length === 0) + throw A.wrapException(A.diagnoseIndexError(receiver, -1)); + return receiver.pop(); + }, + remove$1(receiver, element) { + var i; + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("remove")); + for (i = 0; i < receiver.length; ++i) + if (J.$eq$(receiver[i], element)) { + receiver.splice(i, 1); + return true; + } + return false; + }, + addAll$1(receiver, collection) { + var i, t1, e, i0; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("addAll")); + if (Array.isArray(collection)) { + this._addAllFromArray$1(receiver, collection); + return; + } + i = receiver.length; + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0(); i = i0) { + e = t1.get$current(); + i0 = i + 1; + A.assertHelper(i === receiver.length || A.throwExpression(A.ConcurrentModificationError$(receiver))); + receiver.push(e); + } + }, + _addAllFromArray$1(receiver, array) { + var len, i; + type$.JSArray_dynamic._as(array); + len = array.length; + if (len === 0) + return; + if (receiver === array) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + for (i = 0; i < len; ++i) + receiver.push(array[i]); + }, + clear$0(receiver) { + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("clear")); + this._setLengthUnsafe$1(receiver, 0); + }, + forEach$1(receiver, f) { + var end, i; + A._arrayInstanceType(receiver)._eval$1("~(1)")._as(f); + end = receiver.length; + for (i = 0; i < end; ++i) { + f.call$1(receiver[i]); + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + }, + map$1$1(receiver, f, $T) { + var t1 = A._arrayInstanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + join$1(receiver, separator) { + var i, + list = A.List_List$filled(receiver.length, "", false, type$.String); + for (i = 0; i < receiver.length; ++i) + this.$indexSet(list, i, A.S(receiver[i])); + return list.join(separator); + }, + join$0(receiver) { + return this.join$1(receiver, ""); + }, + take$1(receiver, n) { + return A.SubListIterable$(receiver, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(receiver)._precomputed1); + }, + skip$1(receiver, n) { + return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + var t1 = receiver.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, "start", null)); + if (end < start || end > t1) + throw A.wrapException(A.RangeError$range(end, start, t1, "end", null)); + if (start === end) + return A._setArrayType([], A._arrayInstanceType(receiver)); + return A._setArrayType(receiver.slice(start, end), A._arrayInstanceType(receiver)); + }, + getRange$2(receiver, start, end) { + A.RangeError_checkValidRange(start, end, receiver.length); + return A.SubListIterable$(receiver, start, end, A._arrayInstanceType(receiver)._precomputed1); + }, + get$first(receiver) { + if (receiver.length > 0) + return receiver[0]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(receiver) { + var t1 = receiver.length; + if (t1 > 0) + return receiver[t1 - 1]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, otherList, otherStart, t1, i; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("setRange")); + A.RangeError_checkValidRange(start, end, receiver.length); + $length = end - start; + if ($length === 0) + return; + A.RangeError_checkNotNegative(skipCount, "skipCount"); + if (type$.List_dynamic._is(iterable)) { + otherList = iterable; + otherStart = skipCount; + } else { + otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); + otherStart = 0; + } + t1 = J.getInterceptor$asx(otherList); + if (otherStart + $length > t1.get$length(otherList)) + throw A.wrapException(A.IterableElementError_tooFew()); + if (otherStart < start) + for (i = $length - 1; i >= 0; --i) + receiver[start + i] = t1.$index(otherList, otherStart + i); + else + for (i = 0; i < $length; ++i) + receiver[start + i] = t1.$index(otherList, otherStart + i); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + every$1(receiver, test) { + var end, i; + A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test); + end = receiver.length; + for (i = 0; i < end; ++i) { + if (!A.boolConversionCheck(test.call$1(receiver[i]))) + return false; + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + return true; + }, + sort$1(receiver, compare) { + var len, a, b, undefineds, i, + t1 = A._arrayInstanceType(receiver); + t1._eval$1("int(1,1)?")._as(compare); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("sort")); + len = receiver.length; + if (len < 2) + return; + if (compare == null) + compare = J._interceptors_JSArray__compareAny$closure(); + if (len === 2) { + a = receiver[0]; + b = receiver[1]; + t1 = compare.call$2(a, b); + if (typeof t1 !== "number") + return t1.$gt(); + if (t1 > 0) { + receiver[0] = b; + receiver[1] = a; + } + return; + } + if (t1._precomputed1._is(null)) { + for (undefineds = 0, i = 0; i < receiver.length; ++i) + if (receiver[i] === void 0) { + receiver[i] = null; + ++undefineds; + } + } else + undefineds = 0; + receiver.sort(A.convertDartClosureToJS(compare, 2)); + if (undefineds > 0) + this._replaceSomeNullsWithUndefined$1(receiver, undefineds); + }, + sort$0(receiver) { + return this.sort$1(receiver, null); + }, + _replaceSomeNullsWithUndefined$1(receiver, count) { + var i, i0; + A.assertHelper(count > 0); + i = receiver.length; + for (; i0 = i - 1, i > 0; i = i0) + if (receiver[i0] === null) { + receiver[i0] = void 0; + --count; + if (count === 0) + break; + } + }, + lastIndexOf$1(receiver, element) { + var i, + t1 = receiver.length, + start = t1 - 1; + if (start < 0) + return -1; + start >= t1; + for (i = start; i >= 0; --i) { + if (!(i < receiver.length)) + return A.ioore(receiver, i); + if (J.$eq$(receiver[i], element)) + return i; + } + return -1; + }, + get$isEmpty(receiver) { + return receiver.length === 0; + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + toList$1$growable(receiver, growable) { + var t1 = A._setArrayType(receiver.slice(0), A._arrayInstanceType(receiver)); + return t1; + }, + toList$0(receiver) { + return this.toList$1$growable(receiver, true); + }, + get$iterator(receiver) { + return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + get$length(receiver) { + return receiver.length; + }, + _setLengthUnsafe$1(receiver, newLength) { + if (A.assertTest(newLength >= 0)) + A.assertThrow(A.throwExpression(A.RangeError$range(newLength, 0, null, "newLength", null))); + receiver.length = newLength; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("indexed set")); + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + receiver[index] = value; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + J.JSUnmodifiableArray.prototype = {}; + J.ArrayIterator.prototype = { + get$current() { + var t1 = this._current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t2, _this = this, + t1 = _this._iterable, + $length = t1.length; + if (_this._length !== $length) { + t1 = A.throwConcurrentModificationError(t1); + throw A.wrapException(t1); + } + t2 = _this._index; + if (t2 >= $length) { + _this.set$_current(null); + return false; + } + _this.set$_current(t1[t2]); + ++_this._index; + return true; + }, + set$_current(_current) { + this._current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + J.JSNumber.prototype = { + compareTo$1(receiver, b) { + var bIsNegative; + A._asNum(b); + if (receiver < b) + return -1; + else if (receiver > b) + return 1; + else if (receiver === b) { + if (receiver === 0) { + bIsNegative = this.get$isNegative(b); + if (this.get$isNegative(receiver) === bIsNegative) + return 0; + if (this.get$isNegative(receiver)) + return -1; + return 1; + } + return 0; + } else if (isNaN(receiver)) { + if (isNaN(b)) + return 0; + return 1; + } else + return -1; + }, + get$isNegative(receiver) { + return receiver === 0 ? 1 / receiver < 0 : receiver < 0; + }, + toInt$0(receiver) { + var t1; + if (receiver >= -2147483648 && receiver <= 2147483647) + return receiver | 0; + if (isFinite(receiver)) { + t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); + return t1 + 0; + } + throw A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()")); + }, + ceil$0(receiver) { + var truncated, d; + if (receiver >= 0) { + if (receiver <= 2147483647) { + truncated = receiver | 0; + return receiver === truncated ? truncated : truncated + 1; + } + } else if (receiver >= -2147483648) + return receiver | 0; + d = Math.ceil(receiver); + if (isFinite(d)) + return d; + throw A.wrapException(A.UnsupportedError$("" + receiver + ".ceil()")); + }, + toString$0(receiver) { + if (receiver === 0 && 1 / receiver < 0) + return "-0.0"; + else + return "" + receiver; + }, + get$hashCode(receiver) { + var absolute, floorLog2, factor, scaled, + intValue = receiver | 0; + if (receiver === intValue) + return intValue & 536870911; + absolute = Math.abs(receiver); + floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; + factor = Math.pow(2, floorLog2); + scaled = absolute < 1 ? absolute / factor : factor / absolute; + return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; + }, + $add(receiver, other) { + return receiver + other; + }, + $mod(receiver, other) { + var result = receiver % other; + if (result === 0) + return 0; + if (result > 0) + return result; + return result + other; + }, + $tdiv(receiver, other) { + if ((receiver | 0) === receiver) + if (other >= 1 || other < -1) + return receiver / other | 0; + return this._tdivSlow$1(receiver, other); + }, + _tdivFast$1(receiver, other) { + return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); + }, + _tdivSlow$1(receiver, other) { + var quotient = receiver / other; + if (quotient >= -2147483648 && quotient <= 2147483647) + return quotient | 0; + if (quotient > 0) { + if (quotient !== 1 / 0) + return Math.floor(quotient); + } else if (quotient > -1 / 0) + return Math.ceil(quotient); + throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other)); + }, + $shl(receiver, other) { + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + return other > 31 ? 0 : receiver << other >>> 0; + }, + $shr(receiver, other) { + var t1; + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrOtherPositive$1(receiver, other) { + var t1; + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrReceiverPositive$1(receiver, other) { + if (0 > other) + throw A.wrapException(A.argumentErrorValue(other)); + return this._shrBothPositive$1(receiver, other); + }, + _shrBothPositive$1(receiver, other) { + return other > 31 ? 0 : receiver >>> other; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.num); + }, + $isComparable: 1, + $isdouble: 1, + $isnum: 1 + }; + J.JSInt.prototype = { + get$bitLength(receiver) { + var wordBits, + t1 = receiver < 0 ? -receiver - 1 : receiver, + nonneg = t1; + for (wordBits = 32; nonneg >= 4294967296;) { + nonneg = this._tdivFast$1(nonneg, 4294967296); + wordBits += 32; + } + return wordBits - Math.clz32(nonneg); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.int); + }, + $isTrustedGetRuntimeType: 1, + $isint: 1 + }; + J.JSNumNotInt.prototype = { + get$runtimeType(receiver) { + return A.createRuntimeType(type$.double); + }, + $isTrustedGetRuntimeType: 1 + }; + J.JSString.prototype = { + codeUnitAt$1(receiver, index) { + if (index < 0) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + if (index >= receiver.length) + A.throwExpression(A.diagnoseIndexError(receiver, index)); + return receiver.charCodeAt(index); + }, + allMatches$2(receiver, string, start) { + var t1 = string.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, null, null)); + return new A._StringAllMatchesIterable(string, receiver, start); + }, + allMatches$1(receiver, string) { + return this.allMatches$2(receiver, string, 0); + }, + matchAsPrefix$2(receiver, string, start) { + var t1, t2, i, t3, _null = null; + if (start < 0 || start > string.length) + throw A.wrapException(A.RangeError$range(start, 0, string.length, _null, _null)); + t1 = receiver.length; + t2 = string.length; + if (start + t1 > t2) + return _null; + for (i = 0; i < t1; ++i) { + t3 = start + i; + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(string, t3); + if (string.charCodeAt(t3) !== receiver.charCodeAt(i)) + return _null; + } + return new A.StringMatch(start, receiver); + }, + $add(receiver, other) { + return receiver + other; + }, + endsWith$1(receiver, other) { + var otherLength = other.length, + t1 = receiver.length; + if (otherLength > t1) + return false; + return other === this.substring$1(receiver, t1 - otherLength); + }, + replaceFirst$2(receiver, from, to) { + A.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex"); + return A.stringReplaceFirstUnchecked(receiver, from, to, 0); + }, + split$1(receiver, pattern) { + if (typeof pattern == "string") + return A._setArrayType(receiver.split(pattern), type$.JSArray_String); + else if (pattern instanceof A.JSSyntaxRegExp && pattern.get$_nativeAnchoredVersion().exec("").length - 2 === 0) + return A._setArrayType(receiver.split(pattern._nativeRegExp), type$.JSArray_String); + else + return this._defaultSplit$1(receiver, pattern); + }, + replaceRange$3(receiver, start, end, replacement) { + var e = A.RangeError_checkValidRange(start, end, receiver.length); + return A.stringReplaceRangeUnchecked(receiver, start, e, replacement); + }, + _defaultSplit$1(receiver, pattern) { + var t1, start, $length, match, matchStart, matchEnd, + result = A._setArrayType([], type$.JSArray_String); + for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), start = 0, $length = 1; t1.moveNext$0();) { + match = t1.get$current(); + matchStart = match.get$start(); + matchEnd = match.get$end(); + $length = matchEnd - matchStart; + if ($length === 0 && start === matchStart) + continue; + B.JSArray_methods.add$1(result, this.substring$2(receiver, start, matchStart)); + start = matchEnd; + } + if (start < receiver.length || $length > 0) + B.JSArray_methods.add$1(result, this.substring$1(receiver, start)); + return result; + }, + startsWith$2(receiver, pattern, index) { + var endIndex; + if (index < 0 || index > receiver.length) + throw A.wrapException(A.RangeError$range(index, 0, receiver.length, null, null)); + if (typeof pattern == "string") { + endIndex = index + pattern.length; + if (endIndex > receiver.length) + return false; + return pattern === receiver.substring(index, endIndex); + } + return J.matchAsPrefix$2$s(pattern, receiver, index) != null; + }, + startsWith$1(receiver, pattern) { + return this.startsWith$2(receiver, pattern, 0); + }, + substring$2(receiver, start, end) { + return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length)); + }, + substring$1(receiver, start) { + return this.substring$2(receiver, start, null); + }, + trim$0(receiver) { + var startIndex, t1, endIndex0, + result = receiver.trim(), + endIndex = result.length; + if (endIndex === 0) + return result; + if (0 >= endIndex) + return A.ioore(result, 0); + if (result.charCodeAt(0) === 133) { + startIndex = J.JSString__skipLeadingWhitespace(result, 1); + if (startIndex === endIndex) + return ""; + } else + startIndex = 0; + t1 = endIndex - 1; + if (!(t1 >= 0)) + return A.ioore(result, t1); + endIndex0 = result.charCodeAt(t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex; + if (startIndex === 0 && endIndex0 === endIndex) + return result; + return result.substring(startIndex, endIndex0); + }, + $mul(receiver, times) { + var s, result; + if (0 >= times) + return ""; + if (times === 1 || receiver.length === 0) + return receiver; + if (times !== times >>> 0) + throw A.wrapException(B.C_OutOfMemoryError); + for (s = receiver, result = ""; true;) { + if ((times & 1) === 1) + result = s + result; + times = times >>> 1; + if (times === 0) + break; + s += s; + } + return result; + }, + padLeft$2(receiver, width, padding) { + var delta = width - receiver.length; + if (delta <= 0) + return receiver; + return this.$mul(padding, delta) + receiver; + }, + padRight$1(receiver, width) { + var delta = width - receiver.length; + if (delta <= 0) + return receiver; + return receiver + this.$mul(" ", delta); + }, + indexOf$2(receiver, pattern, start) { + var t1; + if (start < 0 || start > receiver.length) + throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null)); + t1 = receiver.indexOf(pattern, start); + return t1; + }, + indexOf$1(receiver, pattern) { + return this.indexOf$2(receiver, pattern, 0); + }, + lastIndexOf$2(receiver, pattern, start) { + var t1, t2; + if (start == null) + start = receiver.length; + else if (start < 0 || start > receiver.length) + throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null)); + t1 = pattern.length; + t2 = receiver.length; + if (start + t1 > t2) + start = t2 - t1; + return receiver.lastIndexOf(pattern, start); + }, + lastIndexOf$1(receiver, pattern) { + return this.lastIndexOf$2(receiver, pattern, null); + }, + contains$1(receiver, other) { + return A.stringContainsUnchecked(receiver, other, 0); + }, + compareTo$1(receiver, other) { + var t1; + A._asString(other); + if (receiver === other) + t1 = 0; + else + t1 = receiver < other ? -1 : 1; + return t1; + }, + toString$0(receiver) { + return receiver; + }, + get$hashCode(receiver) { + var t1, hash, i; + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { + hash = hash + receiver.charCodeAt(i) & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + hash ^= hash >> 6; + } + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.String); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $isJSIndexable: 1, + $isTrustedGetRuntimeType: 1, + $isComparable: 1, + $isPattern: 1, + $isString: 1 + }; + A._CastIterableBase.prototype = { + get$iterator(_) { + var t1 = A._instanceType(this); + return new A.CastIterator(J.get$iterator$ax(this.get$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); + }, + get$length(_) { + return J.get$length$asx(this.get$_source()); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.get$_source()); + }, + skip$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]); + }, + take$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]); + }, + elementAt$1(_, index) { + return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$_source(), index)); + }, + get$first(_) { + return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$_source())); + }, + get$last(_) { + return A._instanceType(this)._rest[1]._as(J.get$last$ax(this.get$_source())); + }, + toString$0(_) { + return J.toString$0$(this.get$_source()); + } + }; + A.CastIterator.prototype = { + moveNext$0() { + return this._source.moveNext$0(); + }, + get$current() { + return this.$ti._rest[1]._as(this._source.get$current()); + }, + $isIterator: 1 + }; + A.CastIterable.prototype = { + get$_source() { + return this._source; + } + }; + A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1}; + A._CastListBase.prototype = { + $index(_, index) { + return this.$ti._rest[1]._as(J.$index$asx(this._source, index)); + }, + $indexSet(_, index, value) { + var t1 = this.$ti; + J.$indexSet$ax(this._source, index, t1._precomputed1._as(t1._rest[1]._as(value))); + }, + getRange$2(_, start, end) { + var t1 = this.$ti; + return A.CastIterable_CastIterable(J.getRange$2$ax(this._source, start, end), t1._precomputed1, t1._rest[1]); + }, + setRange$4(_, start, end, iterable, skipCount) { + var t1 = this.$ti; + J.setRange$4$ax(this._source, start, end, A.CastIterable_CastIterable(t1._eval$1("Iterable<2>")._as(iterable), t1._rest[1], t1._precomputed1), skipCount); + }, + setRange$3(_, start, end, iterable) { + return this.setRange$4(0, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isList: 1 + }; + A.CastList.prototype = { + cast$1$0(_, $R) { + return new A.CastList(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); + }, + get$_source() { + return this._source; + } + }; + A.LateError.prototype = { + toString$0(_) { + return "LateInitializationError: " + this._message; + } + }; + A.CodeUnits.prototype = { + get$length(_) { + return this.__internal$_string.length; + }, + $index(_, i) { + var t1 = this.__internal$_string; + if (!(i >= 0 && i < t1.length)) + return A.ioore(t1, i); + return t1.charCodeAt(i); + } + }; + A.nullFuture_closure.prototype = { + call$0() { + return A.Future_Future$value(null, type$.Null); + }, + $signature: 14 + }; + A.SentinelValue.prototype = {}; + A.EfficientLengthIterable.prototype = {}; + A.ListIterable.prototype = { + get$iterator(_) { + var _this = this; + return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator")); + }, + get$isEmpty(_) { + return this.get$length(this) === 0; + }, + get$first(_) { + if (this.get$length(this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.elementAt$1(0, 0); + }, + get$last(_) { + var _this = this; + if (_this.get$length(_this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return _this.elementAt$1(0, _this.get$length(_this) - 1); + }, + join$1(_, separator) { + var first, t1, i, _this = this, + $length = _this.get$length(_this); + if (separator.length !== 0) { + if ($length === 0) + return ""; + first = A.S(_this.elementAt$1(0, 0)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + for (t1 = first, i = 1; i < $length; ++i) { + t1 = t1 + separator + A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } else { + for (i = 0, t1 = ""; i < $length; ++i) { + t1 += A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }, + join$0(_) { + return this.join$1(0, ""); + }, + map$1$1(_, toElement, $T) { + var t1 = A._instanceType(this); + return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + fold$1$2(_, initialValue, combine, $T) { + var $length, value, i, _this = this; + $T._as(initialValue); + A._instanceType(_this)._bind$1($T)._eval$1("1(1,ListIterable.E)")._as(combine); + $length = _this.get$length(_this); + for (value = initialValue, i = 0; i < $length; ++i) { + value = combine.call$2(value, _this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return value; + }, + skip$1(_, count) { + return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E")); + }, + take$1(_, count) { + return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E")); + } + }; + A.SubListIterable.prototype = { + SubListIterable$3(_iterable, _start, _endOrLength, $E) { + var endOrLength, + t1 = this._start; + A.RangeError_checkNotNegative(t1, "start"); + endOrLength = this._endOrLength; + if (endOrLength != null) { + A.RangeError_checkNotNegative(endOrLength, "end"); + if (t1 > endOrLength) + throw A.wrapException(A.RangeError$range(t1, 0, endOrLength, "start", null)); + } + }, + get$_endIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength > $length) + return $length; + return endOrLength; + }, + get$_startIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 > $length) + return $length; + return t1; + }, + get$length(_) { + var endOrLength, + $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 >= $length) + return 0; + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength >= $length) + return $length - t1; + if (typeof endOrLength !== "number") + return endOrLength.$sub(); + return endOrLength - t1; + }, + elementAt$1(_, index) { + var _this = this, + realIndex = _this.get$_startIndex() + index; + if (index < 0 || realIndex >= _this.get$_endIndex()) + throw A.wrapException(A.IndexError$withLength(index, _this.get$length(0), _this, null, "index")); + return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); + }, + skip$1(_, count) { + var newStart, endOrLength, _this = this; + A.RangeError_checkNotNegative(count, "count"); + newStart = _this._start + count; + endOrLength = _this._endOrLength; + if (endOrLength != null && newStart >= endOrLength) + return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>")); + return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1); + }, + take$1(_, count) { + var endOrLength, t1, newEnd, _this = this; + A.RangeError_checkNotNegative(count, "count"); + endOrLength = _this._endOrLength; + t1 = _this._start; + if (endOrLength == null) + return A.SubListIterable$(_this.__internal$_iterable, t1, B.JSInt_methods.$add(t1, count), _this.$ti._precomputed1); + else { + newEnd = B.JSInt_methods.$add(t1, count); + if (endOrLength < newEnd) + return _this; + return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1); + } + }, + toList$1$growable(_, growable) { + var $length, result, i, _this = this, + start = _this._start, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + end = t2.get$length(t1), + endOrLength = _this._endOrLength; + if (endOrLength != null && endOrLength < end) + end = endOrLength; + $length = end - start; + if ($length <= 0) { + t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1); + return t1; + } + result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1); + for (i = 1; i < $length; ++i) { + B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); + if (t2.get$length(t1) < end) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return result; + } + }; + A.ListIterator.prototype = { + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t3, _this = this, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if (_this.__internal$_length !== $length) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + t3 = _this.__internal$_index; + if (t3 >= $length) { + _this.set$__internal$_current(null); + return false; + } + _this.set$__internal$_current(t2.elementAt$1(t1, t3)); + ++_this.__internal$_index; + return true; + }, + set$__internal$_current(_current) { + this.__internal$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.MappedIterable.prototype = { + get$iterator(_) { + var t1 = A._instanceType(this); + return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); + }, + get$length(_) { + return J.get$length$asx(this.__internal$_iterable); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.__internal$_iterable); + }, + get$first(_) { + return this._f.call$1(J.get$first$ax(this.__internal$_iterable)); + }, + get$last(_) { + return this._f.call$1(J.get$last$ax(this.__internal$_iterable)); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index)); + } + }; + A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1}; + A.MappedIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._iterator; + if (t1.moveNext$0()) { + _this.set$__internal$_current(_this._f.call$1(t1.get$current())); + return true; + } + _this.set$__internal$_current(null); + return false; + }, + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + set$__internal$_current(_current) { + this.__internal$_current = this.$ti._eval$1("2?")._as(_current); + }, + $isIterator: 1 + }; + A.MappedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this._source, index)); + } + }; + A.WhereIterable.prototype = { + get$iterator(_) { + return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>")); + }, + map$1$1(_, toElement, $T) { + var t1 = this.$ti; + return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>")); + } + }; + A.WhereIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) + if (A.boolConversionCheck(t2.call$1(t1.get$current()))) + return true; + return false; + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.ExpandIterable.prototype = { + get$iterator(_) { + var t1 = this.$ti; + return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("ExpandIterator<1,2>")); + } + }; + A.ExpandIterator.prototype = { + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + moveNext$0() { + var t1, t2, _this = this; + if (_this._currentExpansion == null) + return false; + for (t1 = _this._iterator, t2 = _this._f; !_this._currentExpansion.moveNext$0();) { + _this.set$__internal$_current(null); + if (t1.moveNext$0()) { + _this.set$_currentExpansion(null); + _this.set$_currentExpansion(J.get$iterator$ax(t2.call$1(t1.get$current()))); + } else + return false; + } + _this.set$__internal$_current(_this._currentExpansion.get$current()); + return true; + }, + set$_currentExpansion(_currentExpansion) { + this._currentExpansion = this.$ti._eval$1("Iterator<2>?")._as(_currentExpansion); + }, + set$__internal$_current(_current) { + this.__internal$_current = this.$ti._eval$1("2?")._as(_current); + }, + $isIterator: 1 + }; + A.TakeIterable.prototype = { + get$iterator(_) { + var t1 = J.get$iterator$ax(this.__internal$_iterable), + t2 = this._takeCount; + A.assertHelper(t2 >= 0); + return new A.TakeIterator(t1, t2, A._instanceType(this)._eval$1("TakeIterator<1>")); + } + }; + A.EfficientLengthTakeIterable.prototype = { + get$length(_) { + var iterableLength = J.get$length$asx(this.__internal$_iterable), + t1 = this._takeCount; + if (iterableLength > t1) + return t1; + return iterableLength; + }, + $isEfficientLengthIterable: 1 + }; + A.TakeIterator.prototype = { + moveNext$0() { + if (--this._remaining >= 0) + return this._iterator.moveNext$0(); + this._remaining = -1; + return false; + }, + get$current() { + if (this._remaining < 0) { + this.$ti._precomputed1._as(null); + return null; + } + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.SkipIterable.prototype = { + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>")); + }, + get$iterator(_) { + var t1 = J.get$iterator$ax(this.__internal$_iterable), + t2 = this._skipCount; + A.assertHelper(t2 >= 0); + return new A.SkipIterator(t1, t2, A._instanceType(this)._eval$1("SkipIterator<1>")); + } + }; + A.EfficientLengthSkipIterable.prototype = { + get$length(_) { + var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount; + if ($length >= 0) + return $length; + return 0; + }, + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); + }, + $isEfficientLengthIterable: 1 + }; + A.SkipIterator.prototype = { + moveNext$0() { + var t1, i; + for (t1 = this._iterator, i = 0; i < this._skipCount; ++i) + t1.moveNext$0(); + this._skipCount = 0; + return t1.moveNext$0(); + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.SkipWhileIterable.prototype = { + get$iterator(_) { + return new A.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("SkipWhileIterator<1>")); + } + }; + A.SkipWhileIterator.prototype = { + moveNext$0() { + var t1, t2, _this = this; + if (!_this._hasSkipped) { + _this._hasSkipped = true; + for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();) + if (!A.boolConversionCheck(t2.call$1(t1.get$current()))) + return true; + } + return _this._iterator.moveNext$0(); + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.EmptyIterable.prototype = { + get$iterator(_) { + return B.C_EmptyIterator; + }, + get$isEmpty(_) { + return true; + }, + get$length(_) { + return 0; + }, + get$first(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + elementAt$1(_, index) { + throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null)); + }, + map$1$1(_, toElement, $T) { + this.$ti._bind$1($T)._eval$1("1(2)")._as(toElement); + return new A.EmptyIterable($T._eval$1("EmptyIterable<0>")); + }, + skip$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + }, + take$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + } + }; + A.EmptyIterator.prototype = { + moveNext$0() { + return false; + }, + get$current() { + throw A.wrapException(A.IterableElementError_noElement()); + }, + $isIterator: 1 + }; + A.WhereTypeIterable.prototype = { + get$iterator(_) { + return new A.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti._eval$1("WhereTypeIterator<1>")); + } + }; + A.WhereTypeIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._source, t2 = this.$ti._precomputed1; t1.moveNext$0();) + if (t2._is(t1.get$current())) + return true; + return false; + }, + get$current() { + return this.$ti._precomputed1._as(this._source.get$current()); + }, + $isIterator: 1 + }; + A.FixedLengthListMixin.prototype = {}; + A.UnmodifiableListMixin.prototype = { + $indexSet(_, index, value) { + A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + setRange$4(_, start, end, iterable, skipCount) { + A._instanceType(this)._eval$1("Iterable")._as(iterable); + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + setRange$3(_, start, end, iterable) { + return this.setRange$4(0, start, end, iterable, 0); + } + }; + A.UnmodifiableListBase.prototype = {}; + A.ReversedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + elementAt$1(_, index) { + var t1 = this._source, + t2 = J.getInterceptor$asx(t1); + return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index); + } + }; + A.Symbol.prototype = { + get$hashCode(_) { + var hash = this._hashCode; + if (hash != null) + return hash; + hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; + this._hashCode = hash; + return hash; + }, + toString$0(_) { + return 'Symbol("' + this.__internal$_name + '")'; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; + }, + $isSymbol0: 1 + }; + A.__CastListBase__CastIterableBase_ListMixin.prototype = {}; + A._Record_2.prototype = {$recipe: "+(1,2)", $shape: 1}; + A._Record_2_file_outFlags.prototype = {$recipe: "+file,outFlags(1,2)", $shape: 2}; + A.ConstantMapView.prototype = {}; + A.ConstantMap.prototype = { + toString$0(_) { + return A.MapBase_mapToString(this); + }, + get$entries() { + return new A._SyncStarIterable(this.entries$body$ConstantMap(), A._instanceType(this)._eval$1("_SyncStarIterable>")); + }, + entries$body$ConstantMap() { + var $async$self = this; + return function() { + var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, key, t4; + return function $async$get$entries($async$iterator, $async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.get$keys(), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self), t3 = t2._rest[1], t2 = t2._eval$1("@<1>")._bind$1(t3)._eval$1("MapEntry<1,2>"); + case 2: + // for condition + if (!t1.moveNext$0()) { + // goto after for + $async$goto = 3; + break; + } + key = t1.get$current(); + t4 = $async$self.$index(0, key); + $async$goto = 4; + return $async$iterator._async$_current = new A.MapEntry(key, t4 == null ? t3._as(t4) : t4, t2), 1; + case 4: + // after yield + // goto for condition + $async$goto = 2; + break; + case 3: + // after for + // implicit return + return 0; + case 1: + // rethrow + return $async$iterator._datum = $async$currentError, 3; + } + }; + }; + }, + $isMap: 1 + }; + A.ConstantStringMap.prototype = { + get$length(_) { + return this._values.length; + }, + get$_keys() { + var keys = this.$keys; + if (keys == null) { + keys = Object.keys(this._jsIndex); + this.$keys = keys; + } + return keys; + }, + containsKey$1(key) { + if (typeof key != "string") + return false; + if ("__proto__" === key) + return false; + return this._jsIndex.hasOwnProperty(key); + }, + $index(_, key) { + if (!this.containsKey$1(key)) + return null; + return this._values[this._jsIndex[key]]; + }, + forEach$1(_, f) { + var keys, values, t1, i; + this.$ti._eval$1("~(1,2)")._as(f); + keys = this.get$_keys(); + values = this._values; + for (t1 = keys.length, i = 0; i < t1; ++i) + f.call$2(keys[i], values[i]); + }, + get$keys() { + return new A._KeysOrValues(this.get$_keys(), this.$ti._eval$1("_KeysOrValues<1>")); + }, + get$values() { + return new A._KeysOrValues(this._values, this.$ti._eval$1("_KeysOrValues<2>")); + } + }; + A._KeysOrValues.prototype = { + get$length(_) { + return this._elements.length; + }, + get$isEmpty(_) { + return 0 === this._elements.length; + }, + get$iterator(_) { + var t1 = this._elements; + return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); + } + }; + A._KeysOrValuesOrElementsIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this.__js_helper$_index; + if (t1 >= _this.__js_helper$_length) { + _this.set$__js_helper$_current(null); + return false; + } + _this.set$__js_helper$_current(_this._elements[t1]); + ++_this.__js_helper$_index; + return true; + }, + set$__js_helper$_current(_current) { + this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.Instantiation.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Instantiation1 && this._genericClosure.$eq(0, other._genericClosure) && A.getRuntimeTypeOfClosure(this) === A.getRuntimeTypeOfClosure(other); + }, + get$hashCode(_) { + return A.Object_hash(this._genericClosure, A.getRuntimeTypeOfClosure(this), B.C_SentinelValue, B.C_SentinelValue); + }, + toString$0(_) { + var t1 = B.JSArray_methods.join$1([A.createRuntimeType(this.$ti._precomputed1)], ", "); + return this._genericClosure.toString$0(0) + " with " + ("<" + t1 + ">"); + } + }; + A.Instantiation1.prototype = { + call$2(a0, a1) { + return this._genericClosure.call$1$2(a0, a1, this.$ti._rest[0]); + }, + call$4(a0, a1, a2, a3) { + return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti._rest[0]); + }, + $signature() { + return A.instantiatedGenericFunctionType(A.closureFunctionType(this._genericClosure), this.$ti); + } + }; + A.JSInvocationMirror.prototype = { + get$memberName() { + var t1 = this._memberName; + if (t1 instanceof A.Symbol) + return t1; + return this._memberName = new A.Symbol(A._asString(t1)); + }, + get$positionalArguments() { + var t1, t2, argumentCount, list, index, _this = this; + if (_this.__js_helper$_kind === 1) + return B.List_empty0; + t1 = _this._arguments; + t2 = J.getInterceptor$asx(t1); + argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount; + if (argumentCount === 0) + return B.List_empty0; + list = []; + for (index = 0; index < argumentCount; ++index) + list.push(t2.$index(t1, index)); + return J.JSArray_markUnmodifiableList(list); + }, + get$namedArguments() { + var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this; + if (_this.__js_helper$_kind !== 0) + return B.Map_empty; + t1 = _this._namedArgumentNames; + t2 = J.getInterceptor$asx(t1); + namedArgumentCount = t2.get$length(t1); + t3 = _this._arguments; + t4 = J.getInterceptor$asx(t3); + namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount; + if (namedArgumentCount === 0) + return B.Map_empty; + map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); + for (i = 0; i < namedArgumentCount; ++i) + map.$indexSet(0, new A.Symbol(A._asString(t2.$index(t1, i))), t4.$index(t3, namedArgumentsStartIndex + i)); + return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic); + }, + $isInvocation: 1 + }; + A.Primitives_functionNoSuchMethod_closure.prototype = { + call$2($name, argument) { + var t1; + A._asString($name); + t1 = this._box_0; + t1.names = t1.names + "$" + $name; + B.JSArray_methods.add$1(this.namedArgumentList, $name); + B.JSArray_methods.add$1(this.$arguments, argument); + ++t1.argumentCount; + }, + $signature: 77 + }; + A.TypeErrorDecoder.prototype = { + matchTypeError$1(message) { + var result, t1, _this = this, + match = new RegExp(_this._pattern).exec(message); + if (match == null) + return null; + result = Object.create(null); + t1 = _this._arguments; + if (t1 !== -1) + result.arguments = match[t1 + 1]; + t1 = _this._argumentsExpr; + if (t1 !== -1) + result.argumentsExpr = match[t1 + 1]; + t1 = _this._expr; + if (t1 !== -1) + result.expr = match[t1 + 1]; + t1 = _this._method; + if (t1 !== -1) + result.method = match[t1 + 1]; + t1 = _this._receiver; + if (t1 !== -1) + result.receiver = match[t1 + 1]; + return result; + } + }; + A.NullError.prototype = { + toString$0(_) { + return "Null check operator used on a null value"; + } + }; + A.JsNoSuchMethodError.prototype = { + toString$0(_) { + var t2, _this = this, + _s38_ = "NoSuchMethodError: method not found: '", + t1 = _this._method; + if (t1 == null) + return "NoSuchMethodError: " + _this.__js_helper$_message; + t2 = _this._receiver; + if (t2 == null) + return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; + return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; + } + }; + A.UnknownJsTypeError.prototype = { + toString$0(_) { + var t1 = this.__js_helper$_message; + return t1.length === 0 ? "Error" : "Error: " + t1; + } + }; + A.NullThrownFromJavaScriptException.prototype = { + toString$0(_) { + return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; + }, + $isException: 1 + }; + A.ExceptionAndStackTrace.prototype = {}; + A._StackTrace.prototype = { + toString$0(_) { + var trace, + t1 = this._trace; + if (t1 != null) + return t1; + t1 = this._exception; + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; + return this._trace = trace == null ? "" : trace; + }, + $isStackTrace: 1 + }; + A.Closure.prototype = { + toString$0(_) { + var $constructor = this.constructor, + $name = $constructor == null ? null : $constructor.name; + return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + }, + $isFunction: 1, + get$$call() { + return this; + }, + "call*": "call$1", + $requiredArgCount: 1, + $defaultValues: null + }; + A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0}; + A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2}; + A.TearOffClosure.prototype = {}; + A.StaticClosure.prototype = { + toString$0(_) { + var $name = this.$static_name; + if ($name == null) + return "Closure of unknown static method"; + return "Closure '" + A.unminifyOrTag($name) + "'"; + } + }; + A.BoundClosure.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + if (!(other instanceof A.BoundClosure)) + return false; + return this.$_target === other.$_target && this._receiver === other._receiver; + }, + get$hashCode(_) { + return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0; + }, + toString$0(_) { + return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); + } + }; + A._CyclicInitializationError.prototype = { + toString$0(_) { + return "Reading static variable '" + this.variableName + "' during its initialization"; + } + }; + A.RuntimeError.prototype = { + toString$0(_) { + return "RuntimeError: " + this.message; + } + }; + A._AssertionError.prototype = { + toString$0(_) { + return "Assertion failed: " + A.Error_safeToString(this.message); + } + }; + A._Required.prototype = {}; + A.assertInteropArgs_closure.prototype = { + call$1(arg) { + return !type$.Function._is(arg) || typeof arg == "function"; + }, + $signature: 39 + }; + A.JsLinkedHashMap.prototype = { + get$length(_) { + return this.__js_helper$_length; + }, + get$isEmpty(_) { + return this.__js_helper$_length === 0; + }, + get$keys() { + return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")); + }, + get$values() { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new A.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1(key) { + var strings, nums; + if (typeof key == "string") { + strings = this._strings; + if (strings == null) + return false; + return strings[key] != null; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; + if (nums == null) + return false; + return nums[key] != null; + } else + return this.internalContainsKey$1(key); + }, + internalContainsKey$1(key) { + var rest = this.__js_helper$_rest; + if (rest == null) + return false; + return this.internalFindBucketIndex$2(rest[this.internalComputeHashCode$1(key)], key) >= 0; + }, + addAll$1(_, other) { + A._instanceType(this)._eval$1("Map<1,2>")._as(other).forEach$1(0, new A.JsLinkedHashMap_addAll_closure(this)); + }, + $index(_, key) { + var strings, cell, t1, nums, _null = null; + if (typeof key == "string") { + strings = this._strings; + if (strings == null) + return _null; + cell = strings[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; + if (nums == null) + return _null; + cell = nums[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else + return this.internalGet$1(key); + }, + internalGet$1(key) { + var bucket, index, + rest = this.__js_helper$_rest; + if (rest == null) + return null; + bucket = rest[this.internalComputeHashCode$1(key)]; + index = this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + return bucket[index].hashMapCellValue; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string") { + strings = _this._strings; + _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = _this._nums; + _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); + } else + _this.internalSet$2(key, value); + }, + internalSet$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this.__js_helper$_rest; + if (rest == null) + rest = _this.__js_helper$_rest = _this._newHashTable$0(); + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this._newLinkedCell$2(key, value)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + index = _this.internalFindBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index].hashMapCellValue = value; + else + bucket.push(_this._newLinkedCell$2(key, value)); + } + }, + putIfAbsent$2(key, ifAbsent) { + var t2, value, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._eval$1("2()")._as(ifAbsent); + if (_this.containsKey$1(key)) { + t2 = _this.$index(0, key); + return t2 == null ? t1._rest[1]._as(t2) : t2; + } + value = ifAbsent.call$0(); + _this.$indexSet(0, key, value); + return value; + }, + remove$1(_, key) { + var _this = this; + if (typeof key == "string") + return _this.__js_helper$_removeHashTableEntry$2(_this._strings, key); + else if (typeof key == "number" && (key & 0x3fffffff) === key) + return _this.__js_helper$_removeHashTableEntry$2(_this._nums, key); + else + return _this.internalRemove$1(key); + }, + internalRemove$1(key) { + var hash, bucket, index, cell, _this = this, + rest = _this.__js_helper$_rest; + if (rest == null) + return null; + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + index = _this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + cell = bucket.splice(index, 1)[0]; + _this.__js_helper$_unlinkCell$1(cell); + if (bucket.length === 0) + delete rest[hash]; + return cell.hashMapCellValue; + }, + clear$0(_) { + var _this = this; + if (_this.__js_helper$_length > 0) { + _this._strings = _this._nums = _this.__js_helper$_rest = _this._first = _this.__js_helper$_last = null; + _this.__js_helper$_length = 0; + _this._modified$0(); + } + }, + forEach$1(_, action) { + var cell, modifications, _this = this; + A._instanceType(_this)._eval$1("~(1,2)")._as(action); + cell = _this._first; + modifications = _this._modifications; + for (; cell != null;) { + action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); + if (modifications !== _this._modifications) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + cell = cell._next; + } + }, + _addHashTableEntry$3(table, key, value) { + var cell, + t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + cell = table[key]; + if (cell == null) + table[key] = this._newLinkedCell$2(key, value); + else + cell.hashMapCellValue = value; + }, + __js_helper$_removeHashTableEntry$2(table, key) { + var cell; + if (table == null) + return null; + cell = table[key]; + if (cell == null) + return null; + this.__js_helper$_unlinkCell$1(cell); + delete table[key]; + return cell.hashMapCellValue; + }, + _modified$0() { + this._modifications = this._modifications + 1 & 1073741823; + }, + _newLinkedCell$2(key, value) { + var _this = this, + t1 = A._instanceType(_this), + cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); + if (_this._first == null) + _this._first = _this.__js_helper$_last = cell; + else { + t1 = _this.__js_helper$_last; + t1.toString; + cell._previous = t1; + _this.__js_helper$_last = t1._next = cell; + } + ++_this.__js_helper$_length; + _this._modified$0(); + return cell; + }, + __js_helper$_unlinkCell$1(cell) { + var _this = this, + previous = cell._previous, + next = cell._next; + if (previous == null) { + A.assertHelper(cell === _this._first); + _this._first = next; + } else + previous._next = next; + if (next == null) { + A.assertHelper(cell === _this.__js_helper$_last); + _this.__js_helper$_last = previous; + } else + next._previous = previous; + --_this.__js_helper$_length; + _this._modified$0(); + }, + internalComputeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + internalFindBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i].hashMapCellKey, key)) + return i; + return -1; + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + _newHashTable$0() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + $isLinkedHashMap: 1 + }; + A.JsLinkedHashMap_values_closure.prototype = { + call$1(each) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1 = t1.$index(0, t2._precomputed1._as(each)); + return t1 == null ? t2._rest[1]._as(t1) : t1; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("2(1)"); + } + }; + A.JsLinkedHashMap_addAll_closure.prototype = { + call$2(key, value) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1.$indexSet(0, t2._precomputed1._as(key), t2._rest[1]._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(1,2)"); + } + }; + A.LinkedHashMapCell.prototype = {}; + A.LinkedHashMapKeyIterable.prototype = { + get$length(_) { + return this._map.__js_helper$_length; + }, + get$isEmpty(_) { + return this._map.__js_helper$_length === 0; + }, + get$iterator(_) { + var t1 = this._map, + t2 = new A.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); + t2._cell = t1._first; + return t2; + } + }; + A.LinkedHashMapKeyIterator.prototype = { + get$current() { + return this.__js_helper$_current; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this._map; + if (_this._modifications !== t1._modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this._cell; + if (cell == null) { + _this.set$__js_helper$_current(null); + return false; + } else { + _this.set$__js_helper$_current(cell.hashMapCellKey); + _this._cell = cell._next; + return true; + } + }, + set$__js_helper$_current(_current) { + this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.initHooks_closure.prototype = { + call$1(o) { + return this.getTag(o); + }, + $signature: 44 + }; + A.initHooks_closure0.prototype = { + call$2(o, tag) { + return this.getUnknownTag(o, tag); + }, + $signature: 38 + }; + A.initHooks_closure1.prototype = { + call$1(tag) { + return this.prototypeForTag(A._asString(tag)); + }, + $signature: 110 + }; + A._Record.prototype = { + toString$0(_) { + return this._toString$1(false); + }, + _toString$1(safe) { + var t2, separator, i, key, value, + keys = this._fieldKeys$0(), + values = this._getFieldValues$0(), + t1 = keys.length; + A.assertHelper(t1 === values.length); + t2 = (safe ? "" + "Record " : "") + "("; + for (separator = "", i = 0; i < t1; ++i, separator = ", ") { + t2 += separator; + key = keys[i]; + if (typeof key == "string") + t2 = t2 + key + ": "; + if (!(i < values.length)) + return A.ioore(values, i); + value = values[i]; + t2 = safe ? t2 + A.Primitives_safeToString(value) : t2 + A.S(value); + } + t1 = t2 + ")"; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _fieldKeys$0() { + var t1, + shapeTag = this.$shape; + for (; $._Record__computedFieldKeys.length <= shapeTag;) + B.JSArray_methods.add$1($._Record__computedFieldKeys, null); + t1 = $._Record__computedFieldKeys[shapeTag]; + if (t1 == null) { + t1 = this._computeFieldKeys$0(); + B.JSArray_methods.$indexSet($._Record__computedFieldKeys, shapeTag, t1); + } + return t1; + }, + _computeFieldKeys$0() { + var i, names, last, + recipe = this.$recipe, + position = recipe.indexOf("("), + joinedNames = recipe.substring(1, position), + fields = recipe.substring(position), + arity = fields === "()" ? 0 : fields.replace(/[^,]/g, "").length + 1, + t1 = type$.Object, + result = J.JSArray_JSArray$allocateGrowable(arity, t1); + for (i = 0; i < arity; ++i) + result[i] = i; + if (joinedNames !== "") { + names = joinedNames.split(","); + i = names.length; + for (last = arity; i > 0;) { + --last; + --i; + B.JSArray_methods.$indexSet(result, last, names[i]); + } + } + return A.List_List$unmodifiable(result, t1); + } + }; + A._Record2.prototype = { + _getFieldValues$0() { + return [this._0, this._1]; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A._Record2 && this.$shape === other.$shape && J.$eq$(this._0, other._0) && J.$eq$(this._1, other._1); + }, + get$hashCode(_) { + return A.Object_hash(this.$shape, this._0, this._1, B.C_SentinelValue); + } + }; + A.JSSyntaxRegExp.prototype = { + toString$0(_) { + return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; + }, + get$_nativeGlobalVersion() { + var _this = this, + t1 = _this._nativeGlobalRegExp; + if (t1 != null) + return t1; + t1 = _this._nativeRegExp; + return _this._nativeGlobalRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); + }, + get$_nativeAnchoredVersion() { + var _this = this, + t1 = _this._nativeAnchoredRegExp; + if (t1 != null) + return t1; + t1 = _this._nativeRegExp; + return _this._nativeAnchoredRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); + }, + firstMatch$1(string) { + var m = this._nativeRegExp.exec(string); + if (m == null) + return null; + return A._MatchImplementation$(this, m); + }, + allMatches$2(_, string, start) { + var t1 = string.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, null, null)); + return new A._AllMatchesIterable(this, string, start); + }, + allMatches$1(_, string) { + return this.allMatches$2(0, string, 0); + }, + _execGlobal$2(string, start) { + var match, + regexp = this.get$_nativeGlobalVersion(); + if (regexp == null) + regexp = type$.Object._as(regexp); + regexp.lastIndex = start; + match = regexp.exec(string); + if (match == null) + return null; + return A._MatchImplementation$(this, match); + }, + _execAnchored$2(string, start) { + var match, + regexp = this.get$_nativeAnchoredVersion(); + if (regexp == null) + regexp = type$.Object._as(regexp); + regexp.lastIndex = start; + match = regexp.exec(string); + if (match == null) + return null; + if (0 >= match.length) + return A.ioore(match, -1); + if (match.pop() != null) + return null; + return A._MatchImplementation$(this, match); + }, + matchAsPrefix$2(_, string, start) { + if (start < 0 || start > string.length) + throw A.wrapException(A.RangeError$range(start, 0, string.length, null, null)); + return this._execAnchored$2(string, start); + }, + $isPattern: 1, + $isRegExp: 1 + }; + A._MatchImplementation.prototype = { + get$start() { + return this._match.index; + }, + get$end() { + var t1 = this._match; + return t1.index + t1[0].length; + }, + $index(_, index) { + var t1 = this._match; + if (!(index < t1.length)) + return A.ioore(t1, index); + return t1[index]; + }, + $isMatch: 1, + $isRegExpMatch: 1 + }; + A._AllMatchesIterable.prototype = { + get$iterator(_) { + return new A._AllMatchesIterator(this._re, this._string, this.__js_helper$_start); + } + }; + A._AllMatchesIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + return t1 == null ? type$.RegExpMatch._as(t1) : t1; + }, + moveNext$0() { + var t1, t2, t3, match, nextIndex, _this = this, + string = _this._string; + if (string == null) + return false; + t1 = _this._nextIndex; + t2 = string.length; + if (t1 <= t2) { + t3 = _this._regExp; + match = t3._execGlobal$2(string, t1); + if (match != null) { + _this.__js_helper$_current = match; + nextIndex = match.get$end(); + if (match._match.index === nextIndex) { + if (t3._nativeRegExp.unicode) { + t1 = _this._nextIndex; + t3 = t1 + 1; + if (t3 < t2) { + if (!(t1 >= 0 && t1 < t2)) + return A.ioore(string, t1); + t1 = string.charCodeAt(t1); + if (t1 >= 55296 && t1 <= 56319) { + if (!(t3 >= 0)) + return A.ioore(string, t3); + t1 = string.charCodeAt(t3); + t1 = t1 >= 56320 && t1 <= 57343; + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1; + } + _this._nextIndex = nextIndex; + return true; + } + } + _this._string = _this.__js_helper$_current = null; + return false; + }, + $isIterator: 1 + }; + A.StringMatch.prototype = { + get$end() { + return this.start + this.pattern.length; + }, + $index(_, g) { + if (g !== 0) + A.throwExpression(A.RangeError$value(g, null)); + return this.pattern; + }, + $isMatch: 1, + get$start() { + return this.start; + } + }; + A._StringAllMatchesIterable.prototype = { + get$iterator(_) { + return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); + }, + get$first(_) { + var t1 = this._pattern, + index = this._input.indexOf(t1, this.__js_helper$_index); + if (index >= 0) + return new A.StringMatch(index, t1); + throw A.wrapException(A.IterableElementError_noElement()); + } + }; + A._StringAllMatchesIterator.prototype = { + moveNext$0() { + var index, end, _this = this, + t1 = _this.__js_helper$_index, + t2 = _this._pattern, + t3 = t2.length, + t4 = _this._input, + t5 = t4.length; + if (t1 + t3 > t5) { + _this.__js_helper$_current = null; + return false; + } + index = t4.indexOf(t2, t1); + if (index < 0) { + _this.__js_helper$_index = t5 + 1; + _this.__js_helper$_current = null; + return false; + } + end = index + t3; + _this.__js_helper$_current = new A.StringMatch(index, t2); + _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end; + return true; + }, + get$current() { + var t1 = this.__js_helper$_current; + t1.toString; + return t1; + }, + $isIterator: 1 + }; + A._Cell.prototype = { + _readField$0() { + var t1 = this._value; + if (t1 === this) + throw A.wrapException(A.LateError$fieldNI(this._name)); + return t1; + } + }; + A.NativeByteBuffer.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteBuffer_EOZ; + }, + $isTrustedGetRuntimeType: 1, + $isNativeByteBuffer: 1, + $isByteBuffer: 1 + }; + A.NativeTypedData.prototype = { + _invalidPosition$3(receiver, position, $length, $name) { + var t1 = A.RangeError$range(position, 0, $length, $name, null); + throw A.wrapException(t1); + }, + _checkPosition$3(receiver, position, $length, $name) { + if (position >>> 0 !== position || position > $length) + this._invalidPosition$3(receiver, position, $length, $name); + } + }; + A.NativeByteData.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteData_mF8; + }, + _getInt32$2(receiver, byteOffset, littleEndian) { + return receiver.getInt32(byteOffset, littleEndian); + }, + _getUint32$2(receiver, byteOffset, littleEndian) { + return receiver.getUint32(byteOffset, littleEndian); + }, + _setFloat64$3(receiver, byteOffset, value, littleEndian) { + return receiver.setFloat64(byteOffset, value, littleEndian); + }, + _setInt32$3(receiver, byteOffset, value, littleEndian) { + return receiver.setInt32(byteOffset, value, littleEndian); + }, + _setUint32$3(receiver, byteOffset, value, littleEndian) { + return receiver.setUint32(byteOffset, value, littleEndian); + }, + $isTrustedGetRuntimeType: 1, + $isNativeByteData: 1, + $isByteData: 1 + }; + A.NativeTypedArray.prototype = { + get$length(receiver) { + return receiver.length; + }, + _setRangeFast$4(receiver, start, end, source, skipCount) { + var count, sourceLength, + targetLength = receiver.length; + this._checkPosition$3(receiver, start, targetLength, "start"); + this._checkPosition$3(receiver, end, targetLength, "end"); + if (start > end) + throw A.wrapException(A.RangeError$range(start, 0, end, null, null)); + count = end - start; + if (skipCount < 0) + throw A.wrapException(A.ArgumentError$(skipCount, null)); + sourceLength = source.length; + if (sourceLength - skipCount < count) + throw A.wrapException(A.StateError$("Not enough elements")); + if (skipCount !== 0 || sourceLength !== count) + source = source.subarray(skipCount, skipCount + count); + receiver.set(source, start); + }, + $isJSIndexable: 1, + $isJavaScriptIndexingBehavior: 1 + }; + A.NativeTypedArrayOfDouble.prototype = { + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._asDouble(value); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_double._as(iterable); + if (type$.NativeTypedArrayOfDouble._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeTypedArrayOfInt.prototype = { + $indexSet(receiver, index, value) { + A._asInt(value); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_int._as(iterable); + if (type$.NativeTypedArrayOfInt._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeFloat32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float32List_Ymk; + }, + sublist$2(receiver, start, end) { + return new Float32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isFloat32List: 1 + }; + A.NativeFloat64List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float64List_Ymk; + }, + sublist$2(receiver, start, end) { + return new Float64Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isFloat64List: 1 + }; + A.NativeInt16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int16List_cot; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isInt16List: 1 + }; + A.NativeInt32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int32List_m1p; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isNativeInt32List: 1, + $isInt32List: 1 + }; + A.NativeInt8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int8List_woc; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isInt8List: 1 + }; + A.NativeUint16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint16List_2mh; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isUint16List: 1 + }; + A.NativeUint32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint32List_2mh; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isUint32List: 1 + }; + A.NativeUint8ClampedList.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8ClampedList_9Bb; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8ClampedArray(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isUint8ClampedList: 1 + }; + A.NativeUint8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8List_CSc; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isNativeUint8List: 1, + $isUint8List: 1 + }; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A.Rti.prototype = { + _eval$1(recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1(typeOrTuple) { + return A._Universe_bind(init.typeUniverse, this, typeOrTuple); + } + }; + A._FunctionParameters.prototype = {}; + A._Type.prototype = { + toString$0(_) { + return A._rtiToString(this._rti, null); + } + }; + A._Error.prototype = { + toString$0(_) { + return this.__rti$_message; + } + }; + A._TypeError.prototype = {$isTypeError: 1}; + A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1(_) { + var t1 = this._box_0, + f = t1.storedCallback; + t1.storedCallback = null; + f.call$0(); + }, + $signature: 24 + }; + A._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1(callback) { + var t1, t2; + type$.void_Function._as(callback); + t1 = this._box_0; + A.assertHelper(t1.storedCallback == null); + t1.storedCallback = callback; + t1 = this.div; + t2 = this.span; + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); + }, + $signature: 76 + }; + A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 8 + }; + A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 8 + }; + A._TimerImpl.prototype = { + _TimerImpl$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); + }, + _TimerImpl$periodic$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setInterval(A.convertDartClosureToJS(new A._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("Periodic timer.")); + }, + $isTimer: 1 + }; + A._TimerImpl_internalCallback.prototype = { + call$0() { + this.$this._tick = 1; + this.callback.call$0(); + }, + $signature: 0 + }; + A._TimerImpl$periodic_closure.prototype = { + call$0() { + var duration, _this = this, + t1 = _this.$this, + tick = t1._tick + 1, + t2 = _this.milliseconds; + if (t2 > 0) { + duration = Date.now() - _this.start; + if (duration > (tick + 1) * t2) + tick = B.JSInt_methods.$tdiv(duration, t2); + } + t1._tick = tick; + _this.callback.call$1(t1); + }, + $signature: 8 + }; + A._AsyncAwaitCompleter.prototype = { + complete$1(value) { + var t2, _this = this, + t1 = _this.$ti; + t1._eval$1("1/?")._as(value); + if (value == null) + value = t1._precomputed1._as(value); + if (!_this.isSync) + _this._future._asyncComplete$1(value); + else { + t2 = _this._future; + if (t1._eval$1("Future<1>")._is(value)) { + A.assertHelper((t2._async$_state & 24) === 0); + t2._chainFuture$1(value); + } else + t2._completeWithValue$1(value); + } + }, + completeError$2(e, st) { + var t1 = this._future; + if (this.isSync) + t1._completeError$2(e, st); + else + t1._asyncCompleteError$2(e, st); + }, + $isCompleter: 1 + }; + A._awaitOnObject_closure.prototype = { + call$1(result) { + return this.bodyFunction.call$2(0, result); + }, + $signature: 12 + }; + A._awaitOnObject_closure0.prototype = { + call$2(error, stackTrace) { + this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); + }, + $signature: 52 + }; + A._wrapJsFunctionForAsync_closure.prototype = { + call$2(errorCode, result) { + this.$protected(A._asInt(errorCode), result); + }, + $signature: 53 + }; + A._SyncStarIterator.prototype = { + get$current() { + var t1 = this._async$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + _resumeBody$2(errorCode, errorValue) { + var body, t1, exception; + errorCode = A._asInt(errorCode); + errorValue = errorValue; + body = this._body; + for (; true;) + try { + t1 = body(this, errorCode, errorValue); + return t1; + } catch (exception) { + errorValue = exception; + errorCode = 1; + } + }, + moveNext$0() { + var nestedIterator, exception, value, suspendedBodies, _this = this, _null = null, errorValue = null, errorCode = 0; + for (; true;) { + nestedIterator = _this._nestedIterator; + if (nestedIterator != null) + try { + if (nestedIterator.moveNext$0()) { + _this.set$_async$_current(nestedIterator.get$current()); + return true; + } else + _this.set$_nestedIterator(_null); + } catch (exception) { + errorValue = exception; + errorCode = 1; + _this.set$_nestedIterator(_null); + } + value = _this._resumeBody$2(errorCode, errorValue); + if (1 === value) + return true; + if (0 === value) { + _this.set$_async$_current(_null); + suspendedBodies = _this._suspendedBodies; + if (suspendedBodies == null || suspendedBodies.length === 0) { + _this._body = A._SyncStarIterator__terminatedBody; + return false; + } + if (0 >= suspendedBodies.length) + return A.ioore(suspendedBodies, -1); + _this._body = suspendedBodies.pop(); + errorCode = 0; + errorValue = null; + continue; + } + if (2 === value) { + errorCode = 0; + errorValue = null; + continue; + } + if (3 === value) { + errorValue = _this._datum; + _this._datum = null; + suspendedBodies = _this._suspendedBodies; + if (suspendedBodies == null || suspendedBodies.length === 0) { + _this.set$_async$_current(_null); + _this._body = A._SyncStarIterator__terminatedBody; + throw errorValue; + return false; + } + if (0 >= suspendedBodies.length) + return A.ioore(suspendedBodies, -1); + _this._body = suspendedBodies.pop(); + errorCode = 1; + continue; + } + throw A.wrapException(A.StateError$("sync*")); + } + return false; + }, + _yieldStar$1(iterable) { + var t1, t2, _this = this; + if (iterable instanceof A._SyncStarIterable) { + t1 = iterable._outerHelper(); + t2 = _this._suspendedBodies; + if (t2 == null) + t2 = _this._suspendedBodies = []; + B.JSArray_methods.add$1(t2, _this._body); + _this._body = t1; + return 2; + } else { + _this.set$_nestedIterator(J.get$iterator$ax(iterable)); + return 2; + } + }, + set$_async$_current(_current) { + this._async$_current = this.$ti._eval$1("1?")._as(_current); + }, + set$_nestedIterator(_nestedIterator) { + this._nestedIterator = this.$ti._eval$1("Iterator<1>?")._as(_nestedIterator); + }, + $isIterator: 1 + }; + A._SyncStarIterable.prototype = { + get$iterator(_) { + return new A._SyncStarIterator(this._outerHelper(), this.$ti._eval$1("_SyncStarIterator<1>")); + } + }; + A.AsyncError.prototype = { + toString$0(_) { + return A.S(this.error); + }, + $isError: 1, + get$stackTrace() { + return this.stackTrace; + } + }; + A._BroadcastStream.prototype = {}; + A._BroadcastSubscription.prototype = { + _onPause$0() { + }, + _onResume$0() { + }, + set$_async$_next(_next) { + this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next); + }, + set$_async$_previous(_previous) { + this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous); + } + }; + A._BroadcastStreamController.prototype = { + get$_mayAddEvent() { + return this._async$_state < 4; + }, + _removeListener$1(subscription) { + var previous, next, _this = this; + A._instanceType(_this)._eval$1("_BroadcastSubscription<1>")._as(subscription); + A.assertHelper(subscription._controller === _this); + A.assertHelper(subscription._async$_next !== subscription); + previous = subscription._async$_previous; + next = subscription._async$_next; + if (previous == null) + _this.set$_firstSubscription(next); + else + previous.set$_async$_next(next); + if (next == null) + _this.set$_lastSubscription(previous); + else + next.set$_async$_previous(previous); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var t2, t3, t4, t5, t6, t7, subscription, oldLast, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._async$_state & 4) !== 0) { + t2 = $.Zone__current; + t1 = new A._DoneStreamSubscription(t2, t1._eval$1("_DoneStreamSubscription<1>")); + A.scheduleMicrotask(t1.get$_onMicrotask()); + if (onDone != null) + t1.set$_onDone(t2.registerCallback$1$1(onDone, type$.void)); + return t1; + } + t2 = $.Zone__current; + t3 = cancelOnError ? 1 : 0; + t4 = onError != null ? 32 : 0; + t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1); + t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError); + t7 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + t1 = t1._eval$1("_BroadcastSubscription<1>"); + subscription = new A._BroadcastSubscription(_this, t5, t6, t2.registerCallback$1$1(t7, type$.void), t2, t3 | t4, t1); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + t1._as(subscription); + A.assertHelper(subscription._async$_next === subscription); + subscription._eventState = _this._async$_state & 1; + oldLast = _this._lastSubscription; + _this.set$_lastSubscription(subscription); + subscription.set$_async$_next(null); + subscription.set$_async$_previous(oldLast); + if (oldLast == null) + _this.set$_firstSubscription(subscription); + else + oldLast.set$_async$_next(subscription); + if (_this._firstSubscription == _this._lastSubscription) + A._runGuarded(_this.onListen); + return subscription; + }, + _recordCancel$1(sub) { + var _this = this, + t1 = A._instanceType(_this); + sub = t1._eval$1("_BroadcastSubscription<1>")._as(t1._eval$1("StreamSubscription<1>")._as(sub)); + if (sub._async$_next === sub) + return null; + if ((sub._eventState & 2) !== 0) + sub._eventState |= 4; + else { + _this._removeListener$1(sub); + if ((_this._async$_state & 2) === 0 && _this._firstSubscription == null) + _this._callOnCancel$0(); + } + return null; + }, + _recordPause$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _recordResume$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _addEventError$0() { + var t1 = this._async$_state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add new events after calling close"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add new events while doing an addStream"); + }, + add$1(_, data) { + var _this = this; + A._instanceType(_this)._precomputed1._as(data); + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._sendData$1(data); + }, + addError$2(error, stackTrace) { + var replacement; + A.checkNotNullable(error, "error", type$.Object); + if (!this.get$_mayAddEvent()) + throw A.wrapException(this._addEventError$0()); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + this._sendError$2(error, stackTrace); + }, + close$0() { + var t1, doneFuture, _this = this; + if ((_this._async$_state & 4) !== 0) { + A.assertHelper(_this._doneFuture != null); + t1 = _this._doneFuture; + t1.toString; + return t1; + } + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._async$_state |= 4; + doneFuture = _this._doneFuture; + if (doneFuture == null) + doneFuture = _this._doneFuture = new A._Future($.Zone__current, type$._Future_void); + _this._sendDone$0(); + return doneFuture; + }, + _forEachListener$1(action) { + var t1, subscription, id, next, _this = this; + A._instanceType(_this)._eval$1("~(_BufferingStreamSubscription<1>)")._as(action); + t1 = _this._async$_state; + if ((t1 & 2) !== 0) + throw A.wrapException(A.StateError$(string$.Cannotf)); + subscription = _this._firstSubscription; + if (subscription == null) + return; + id = t1 & 1; + _this._async$_state = t1 ^ 3; + for (; subscription != null;) { + t1 = subscription._eventState; + if ((t1 & 1) === id) { + subscription._eventState = t1 | 2; + action.call$1(subscription); + t1 = subscription._eventState ^= 1; + next = subscription._async$_next; + if ((t1 & 4) !== 0) + _this._removeListener$1(subscription); + subscription._eventState &= 4294967293; + subscription = next; + } else + subscription = subscription._async$_next; + } + _this._async$_state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + }, + _callOnCancel$0() { + var doneFuture, _this = this; + A.assertHelper(_this._firstSubscription == null); + if ((_this._async$_state & 4) !== 0) { + doneFuture = _this._doneFuture; + if ((doneFuture._async$_state & 30) === 0) + doneFuture._asyncComplete$1(null); + } + A._runGuarded(_this.onCancel); + }, + set$_firstSubscription(_firstSubscription) { + this._firstSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_firstSubscription); + }, + set$_lastSubscription(_lastSubscription) { + this._lastSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_lastSubscription); + }, + $isEventSink: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._SyncBroadcastStreamController.prototype = { + get$_mayAddEvent() { + return A._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._async$_state & 2) === 0; + }, + _addEventError$0() { + if ((this._async$_state & 2) !== 0) + return new A.StateError(string$.Cannotf); + return this.super$_BroadcastStreamController$_addEventError(); + }, + _sendData$1(data) { + var firstSubscription, _this = this; + _this.$ti._precomputed1._as(data); + firstSubscription = _this._firstSubscription; + if (firstSubscription == null) + return; + if (firstSubscription == _this._lastSubscription) { + _this._async$_state |= 2; + firstSubscription._async$_add$1(data); + _this._async$_state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + return; + } + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendData_closure(_this, data)); + }, + _sendError$2(error, stackTrace) { + if (this._firstSubscription == null) + return; + this._forEachListener$1(new A._SyncBroadcastStreamController__sendError_closure(this, error, stackTrace)); + }, + _sendDone$0() { + var t1, _this = this; + if (_this._firstSubscription != null) + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendDone_closure(_this)); + else { + t1 = _this._doneFuture; + A.assertHelper(t1 != null && (t1._async$_state & 30) === 0); + _this._doneFuture._asyncComplete$1(null); + } + } + }; + A._SyncBroadcastStreamController__sendData_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._async$_add$1(this.data); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendError_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._addError$2(this.error, this.stackTrace); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendDone_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._close$0(); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A.Future_Future_closure.prototype = { + call$0() { + var e, s, exception; + try { + this.result._complete$1(this.computation.call$0()); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.result, e, s); + } + }, + $signature: 0 + }; + A.Future_Future$delayed_closure.prototype = { + call$0() { + this.T._as(null); + this.result._complete$1(null); + }, + $signature: 0 + }; + A.Future_wait_handleError.prototype = { + call$2(theError, theStackTrace) { + var t1, t2, _this = this; + type$.Object._as(theError); + type$.StackTrace._as(theStackTrace); + t1 = _this._box_0; + t2 = --t1.remaining; + if (t1.values != null) { + t1.values = null; + t1.error = theError; + t1.stackTrace = theStackTrace; + if (t2 === 0 || _this.eagerError) + _this._future._completeError$2(theError, theStackTrace); + } else if (t2 === 0 && !_this.eagerError) { + t2 = t1.error; + t2.toString; + t1 = t1.stackTrace; + t1.toString; + _this._future._completeError$2(t2, t1); + } + }, + $signature: 6 + }; + A.Future_wait_closure.prototype = { + call$1(value) { + var remainingResults, valueList, t1, value0, t3, t4, _i, t5, _this = this, + t2 = _this.T; + t2._as(value); + t3 = _this._box_0; + remainingResults = --t3.remaining; + valueList = t3.values; + if (valueList != null) { + t3 = _this.pos; + A.assertHelper(J.$index$asx(valueList, t3) == null); + J.$indexSet$ax(valueList, t3, value); + if (J.$eq$(remainingResults, 0)) { + t1 = A._setArrayType([], t2._eval$1("JSArray<0>")); + for (t3 = valueList, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) { + value0 = t3[_i]; + t5 = value0; + if (t5 == null) + t5 = t2._as(t5); + J.add$1$ax(t1, t5); + } + _this._future._completeWithValue$1(t1); + } + } else if (J.$eq$(remainingResults, 0) && !_this.eagerError) { + t1 = t3.error; + t1.toString; + t3 = t3.stackTrace; + t3.toString; + _this._future._completeError$2(t1, t3); + } + }, + $signature() { + return this.T._eval$1("Null(0)"); + } + }; + A._Completer.prototype = { + completeError$2(error, stackTrace) { + var replacement, + t1 = type$.Object; + t1._as(error); + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", t1); + if ((this.future._async$_state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + this._completeError$2(error, stackTrace); + }, + completeError$1(error) { + return this.completeError$2(error, null); + }, + $isCompleter: 1 + }; + A._AsyncCompleter.prototype = { + complete$1(value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._async$_state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._asyncComplete$1(t1._eval$1("1/")._as(value)); + }, + complete$0() { + return this.complete$1(null); + }, + _completeError$2(error, stackTrace) { + this.future._asyncCompleteError$2(error, stackTrace); + } + }; + A._SyncCompleter.prototype = { + complete$1(value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._async$_state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._complete$1(t1._eval$1("1/")._as(value)); + }, + complete$0() { + return this.complete$1(null); + }, + _completeError$2(error, stackTrace) { + this.future._completeError$2(error, stackTrace); + } + }; + A._FutureListener.prototype = { + matchesErrorTest$1(asyncError) { + if ((this.state & 15) !== 6) + return true; + return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); + }, + handleError$1(asyncError) { + var result, errorCallback, t2, t3, t4, t5, exception, _this = this, + t1 = _this.state; + A.assertHelper((t1 & 2) !== 0 && _this.errorCallback != null); + errorCallback = _this.errorCallback; + result = null; + t2 = type$.dynamic; + t3 = type$.Object; + t4 = asyncError.error; + t5 = _this.result._zone; + if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) + result = t5.runBinary$3$3(errorCallback, t4, asyncError.stackTrace, t2, t3, type$.StackTrace); + else + result = t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t4, t2, t3); + try { + t2 = _this.$ti._eval$1("2/")._as(result); + return t2; + } catch (exception) { + if (type$.TypeError._is(A.unwrapException(exception))) { + if ((t1 & 1) !== 0) + throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError")); + throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError")); + } else + throw exception; + } + } + }; + A._Future.prototype = { + _setChained$1(source) { + var _this = this; + A.assertHelper(_this._async$_state <= 3); + _this._async$_state = _this._async$_state & 1 | 4; + _this._resultOrListeners = source; + }, + then$1$2$onError(f, onError, $R) { + var currentZone, result, t2, + t1 = this.$ti; + t1._bind$1($R)._eval$1("1/(2)")._as(f); + currentZone = $.Zone__current; + if (currentZone === B.C__RootZone) { + if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError)) + throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_)); + } else { + f = currentZone.registerUnaryCallback$2$1(f, $R._eval$1("0/"), t1._precomputed1); + if (onError != null) + onError = A._registerErrorHandler(onError, currentZone); + } + result = new A._Future($.Zone__current, $R._eval$1("_Future<0>")); + t2 = onError == null ? 1 : 3; + this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); + return result; + }, + then$1$1(f, $R) { + return this.then$1$2$onError(f, null, $R); + }, + _thenAwait$1$2(f, onError, $E) { + var result, + t1 = this.$ti; + t1._bind$1($E)._eval$1("1/(2)")._as(f); + result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); + this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + return result; + }, + whenComplete$1(action) { + var t1, t2, result; + type$.dynamic_Function._as(action); + t1 = this.$ti; + t2 = $.Zone__current; + result = new A._Future(t2, t1); + if (t2 !== B.C__RootZone) + action = t2.registerCallback$1$1(action, type$.dynamic); + this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>"))); + return result; + }, + _setPendingComplete$0() { + A.assertHelper((this._async$_state & 30) === 0); + this._async$_state ^= 2; + }, + _setErrorObject$1(error) { + var _this = this; + A.assertHelper((_this._async$_state & 24) === 0); + _this._async$_state = _this._async$_state & 1 | 16; + _this._resultOrListeners = error; + }, + _cloneResult$1(source) { + var _this = this; + A.assertHelper((_this._async$_state & 24) === 0); + A.assertHelper((source._async$_state & 24) !== 0); + _this._async$_state = source._async$_state & 30 | _this._async$_state & 1; + _this._resultOrListeners = source._resultOrListeners; + }, + _addListener$1(listener) { + var t1, source, _this = this; + A.assertHelper(listener._nextListener == null); + t1 = _this._async$_state; + if (t1 <= 3) { + listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listener; + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._async$_state & 24) === 0) { + source._addListener$1(listener); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._async$_state & 24) !== 0); + _this._zone.scheduleMicrotask$1(new A._Future__addListener_closure(_this, listener)); + } + }, + _prependListeners$1(listeners) { + var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; + _box_0.listeners = listeners; + if (listeners == null) + return; + t1 = _this._async$_state; + if (t1 <= 3) { + existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listeners; + if (existingListeners != null) { + next = listeners._nextListener; + for (cursor = listeners; next != null; cursor = next, next = next0) + next0 = next._nextListener; + cursor._nextListener = existingListeners; + } + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._async$_state & 24) === 0) { + source._prependListeners$1(listeners); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._async$_state & 24) !== 0); + _box_0.listeners = _this._reverseListeners$1(listeners); + _this._zone.scheduleMicrotask$1(new A._Future__prependListeners_closure(_box_0, _this)); + } + }, + _removeListeners$0() { + var current, _this = this; + A.assertHelper((_this._async$_state & 24) === 0); + current = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = null; + return _this._reverseListeners$1(current); + }, + _reverseListeners$1(listeners) { + var current, prev, next; + for (current = listeners, prev = null; current != null; prev = current, current = next) { + next = current._nextListener; + current._nextListener = prev; + } + return prev; + }, + _chainForeignFuture$1(source) { + var e, s, exception, _this = this; + A.assertHelper((_this._async$_state & 24) === 0); + A.assertHelper(false); + _this._setPendingComplete$0(); + try { + source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s)); + } + }, + _complete$1(value) { + var listeners, _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._async$_state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) + if (t1._is(value)) + A._Future__chainCoreFutureSync(value, _this); + else + _this._chainForeignFuture$1(value); + else { + listeners = _this._removeListeners$0(); + t1._precomputed1._as(value); + A.assertHelper((_this._async$_state & 24) === 0); + _this._async$_state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + } + }, + _completeWithValue$1(value) { + var listeners, _this = this; + _this.$ti._precomputed1._as(value); + A.assertHelper((_this._async$_state & 24) === 0); + listeners = _this._removeListeners$0(); + A.assertHelper((_this._async$_state & 24) === 0); + _this._async$_state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + }, + _completeError$2(error, stackTrace) { + var listeners, _this = this; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + A.assertHelper((_this._async$_state & 24) === 0); + listeners = _this._removeListeners$0(); + _this._setErrorObject$1(A.AsyncError$(error, stackTrace)); + A._Future__propagateToListeners(_this, listeners); + }, + _asyncComplete$1(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._async$_state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) { + _this._chainFuture$1(value); + return; + } + _this._asyncCompleteWithValue$1(value); + }, + _asyncCompleteWithValue$1(value) { + var _this = this; + _this.$ti._precomputed1._as(value); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteWithValue_closure(_this, value)); + }, + _chainFuture$1(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("Future<1>")._as(value); + A.assertHelper((_this._async$_state & 30) === 0); + if (t1._is(value)) { + A._Future__chainCoreFutureAsync(value, _this); + return; + } + _this._chainForeignFuture$1(value); + }, + _asyncCompleteError$2(error, stackTrace) { + var _this = this; + type$.StackTrace._as(stackTrace); + A.assertHelper((_this._async$_state & 24) === 0); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteError_closure(_this, error, stackTrace)); + }, + $isFuture: 1 + }; + A._Future__addListener_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this.listener); + }, + $signature: 0 + }; + A._Future__prependListeners_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this._box_0.listeners); + }, + $signature: 0 + }; + A._Future__chainForeignFuture_closure.prototype = { + call$1(value) { + var error, stackTrace, exception, + t1 = this.$this; + A.assertHelper((t1._async$_state & 2) !== 0); + A.assertHelper((t1._async$_state & 2) !== 0); + t1._async$_state ^= 2; + try { + t1._completeWithValue$1(t1.$ti._precomputed1._as(value)); + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + t1._completeError$2(error, stackTrace); + } + }, + $signature: 24 + }; + A._Future__chainForeignFuture_closure0.prototype = { + call$2(error, stackTrace) { + var t1; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + t1 = this.$this; + A.assertHelper((t1._async$_state & 2) !== 0); + t1._completeError$2(error, stackTrace); + }, + $signature: 81 + }; + A._Future__chainForeignFuture_closure1.prototype = { + call$0() { + this.$this._completeError$2(this.e, this.s); + }, + $signature: 0 + }; + A._Future__chainCoreFutureAsync_closure.prototype = { + call$0() { + A._Future__chainCoreFutureSync(this._box_0.source, this.target); + }, + $signature: 0 + }; + A._Future__asyncCompleteWithValue_closure.prototype = { + call$0() { + this.$this._completeWithValue$1(this.value); + }, + $signature: 0 + }; + A._Future__asyncCompleteError_closure.prototype = { + call$0() { + this.$this._completeError$2(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0() { + var completeResult, e, s, t2, t3, exception, originalSource, _this = this, + t1 = _this._box_0; + A.assertHelper((t1.listener.state & 1) === 0); + A.assertHelper((t1.listener.state & 2) === 0); + completeResult = null; + try { + t2 = t1.listener; + t3 = t2.state; + A.assertHelper((t3 & 2) === 0); + A.assertHelper((t3 & 15) === 8); + completeResult = t2.result._zone.run$1$1(type$.dynamic_Function._as(t2.callback), type$.dynamic); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (_this.hasError) { + t2 = _this._box_1.source; + A.assertHelper((t2._async$_state & 16) !== 0); + t2 = type$.AsyncError._as(t2._resultOrListeners).error === e; + } else + t2 = false; + if (t2) { + t2 = _this._box_1.source; + A.assertHelper((t2._async$_state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + } else + t1.listenerValueOrError = A.AsyncError$(e, s); + t1.listenerHasError = true; + return; + } + if (completeResult instanceof A._Future && (completeResult._async$_state & 24) !== 0) { + if ((completeResult._async$_state & 16) !== 0) { + t2 = completeResult; + A.assertHelper((t2._async$_state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + t1.listenerHasError = true; + } + return; + } + if (completeResult instanceof A._Future) { + originalSource = _this._box_1.source; + t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); + t1.listenerHasError = false; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1(_) { + return this.originalSource; + }, + $signature: 88 + }; + A._Future__propagateToListeners_handleValueCallback.prototype = { + call$0() { + var e, s, t1, t2, t3, t4, t5, exception; + try { + t1 = this._box_0; + t2 = t1.listener; + t3 = t2.$ti; + t4 = t3._precomputed1; + t5 = t4._as(this.sourceResult); + A.assertHelper((t2.state & 1) !== 0); + t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = this._box_0; + t1.listenerValueOrError = A.AsyncError$(e, s); + t1.listenerHasError = true; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleError.prototype = { + call$0() { + var asyncError, e, s, t1, t2, exception, t3, t4, _this = this; + try { + t1 = _this._box_1.source; + A.assertHelper((t1._async$_state & 16) !== 0); + asyncError = type$.AsyncError._as(t1._resultOrListeners); + t1 = _this._box_0; + if (t1.listener.matchesErrorTest$1(asyncError)) { + t2 = t1.listener; + A.assertHelper((t2.state & 2) !== 0); + t2 = t2.errorCallback != null; + } else + t2 = false; + if (t2) { + t1.listenerValueOrError = t1.listener.handleError$1(asyncError); + t1.listenerHasError = false; + } + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = _this._box_1; + t2 = t1.source; + A.assertHelper((t2._async$_state & 16) !== 0); + t3 = type$.AsyncError; + t4 = _this._box_0; + if (t3._as(t2._resultOrListeners).error === e) { + t1 = t1.source; + A.assertHelper((t1._async$_state & 16) !== 0); + t4.listenerValueOrError = t3._as(t1._resultOrListeners); + } else + t4.listenerValueOrError = A.AsyncError$(e, s); + t4.listenerHasError = true; + } + }, + $signature: 0 + }; + A._AsyncCallbackEntry.prototype = {}; + A.Stream.prototype = { + get$length(_) { + var t1 = {}, + future = new A._Future($.Zone__current, type$._Future_int); + t1.count = 0; + this.listen$4$cancelOnError$onDone$onError(new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError()); + return future; + }, + get$first(_) { + var future = new A._Future($.Zone__current, A._instanceType(this)._eval$1("_Future")), + subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_first_closure(future), future.get$_completeError()); + subscription.onData$1(new A.Stream_first_closure0(this, subscription, future)); + return future; + }, + firstWhere$1(_, test) { + var future, subscription, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("bool(Stream.T)")._as(test); + future = new A._Future($.Zone__current, t1._eval$1("_Future")); + subscription = _this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_firstWhere_closure(_this, null, future), future.get$_completeError()); + subscription.onData$1(new A.Stream_firstWhere_closure0(_this, test, subscription, future)); + return future; + } + }; + A.Stream_length_closure.prototype = { + call$1(_) { + A._instanceType(this.$this)._eval$1("Stream.T")._as(_); + ++this._box_0.count; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_length_closure0.prototype = { + call$0() { + this.future._complete$1(this._box_0.count); + }, + $signature: 0 + }; + A.Stream_first_closure.prototype = { + call$0() { + var e, s, t1, exception; + try { + t1 = A.IterableElementError_noElement(); + throw A.wrapException(t1); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.future, e, s); + } + }, + $signature: 0 + }; + A.Stream_first_closure0.prototype = { + call$1(value) { + A._cancelAndValue(this.subscription, this.future, A._instanceType(this.$this)._eval$1("Stream.T")._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere_closure.prototype = { + call$0() { + var e, s, t1, exception; + try { + t1 = A.IterableElementError_noElement(); + throw A.wrapException(t1); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._completeWithErrorCallback(this.future, e, s); + } + }, + $signature: 0 + }; + A.Stream_firstWhere_closure0.prototype = { + call$1(value) { + var t1, t2, _this = this; + A._instanceType(_this.$this)._eval$1("Stream.T")._as(value); + t1 = _this.subscription; + t2 = _this.future; + A._runUserCode(new A.Stream_firstWhere__closure(_this.test, value), new A.Stream_firstWhere__closure0(t1, t2, value), A._cancelAndErrorClosure(t1, t2), type$.bool); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere__closure.prototype = { + call$0() { + return this.test.call$1(this.value); + }, + $signature: 37 + }; + A.Stream_firstWhere__closure0.prototype = { + call$1(isMatch) { + if (A._asBool(isMatch)) + A._cancelAndValue(this.subscription, this.future, this.value); + }, + $signature: 58 + }; + A.StreamTransformerBase.prototype = {$isStreamTransformer: 1}; + A._StreamController.prototype = { + get$_pendingEvents() { + var t1, _this = this; + A.assertHelper((_this._async$_state & 3) === 0); + if ((_this._async$_state & 8) === 0) + return A._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData); + t1 = A._instanceType(_this); + return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData()); + }, + _ensurePendingEvents$0() { + var events, t1, _this = this; + A.assertHelper((_this._async$_state & 3) === 0); + if ((_this._async$_state & 8) === 0) { + events = _this._varData; + if (events == null) + events = _this._varData = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<1>")); + return A._instanceType(_this)._eval$1("_PendingEvents<1>")._as(events); + } + t1 = A._instanceType(_this); + events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData(); + return t1._eval$1("_PendingEvents<1>")._as(events); + }, + get$_subscription() { + var varData, _this = this; + A.assertHelper((_this._async$_state & 1) !== 0); + varData = _this._varData; + if ((_this._async$_state & 8) !== 0) + varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$_varData(); + return A._instanceType(_this)._eval$1("_ControllerSubscription<1>")._as(varData); + }, + _badEventState$0() { + var t1 = this._async$_state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add event after closing"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add event while adding a stream"); + }, + _ensureDoneFuture$0() { + var t1 = this._doneFuture; + if (t1 == null) + t1 = this._doneFuture = (this._async$_state & 2) !== 0 ? $.$get$Future__nullFuture() : new A._Future($.Zone__current, type$._Future_void); + return t1; + }, + add$1(_, value) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(value); + t2 = _this._async$_state; + if (t2 >= 4) + throw A.wrapException(_this._badEventState$0()); + if ((t2 & 1) !== 0) + _this._sendData$1(value); + else if ((t2 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value, t1._eval$1("_DelayedData<1>"))); + }, + addError$2(error, stackTrace) { + var replacement, _this = this, + t1 = type$.Object; + t1._as(error); + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", t1); + if (_this._async$_state >= 4) + throw A.wrapException(_this._badEventState$0()); + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } else if (stackTrace == null) + stackTrace = A.AsyncError_defaultStackTrace(error); + t1 = _this._async$_state; + if ((t1 & 1) !== 0) + _this._sendError$2(error, stackTrace); + else if ((t1 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, new A._DelayedError(error, stackTrace)); + }, + addError$1(error) { + return this.addError$2(error, null); + }, + close$0() { + var _this = this, + t1 = _this._async$_state; + if ((t1 & 4) !== 0) + return _this._ensureDoneFuture$0(); + if (t1 >= 4) + throw A.wrapException(_this._badEventState$0()); + t1 = _this._async$_state = t1 | 4; + if ((t1 & 1) !== 0) + _this._sendDone$0(); + else if ((t1 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone); + return _this._ensureDoneFuture$0(); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var subscription, pendingEvents, t2, addState, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._async$_state & 3) !== 0) + throw A.wrapException(A.StateError$("Stream has already been listened to.")); + subscription = A._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, t1._precomputed1); + pendingEvents = _this.get$_pendingEvents(); + t2 = _this._async$_state |= 1; + if ((t2 & 8) !== 0) { + addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData); + addState.set$_varData(subscription); + addState.resume$0(); + } else + _this._varData = subscription; + subscription._setPendingEvents$1(pendingEvents); + subscription._guardCallback$1(new A._StreamController__subscribe_closure(_this)); + return subscription; + }, + _recordCancel$1(subscription) { + var result, onCancel, cancelResult, e, s, exception, result0, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + result = null; + if ((_this._async$_state & 8) !== 0) + result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0(); + _this._varData = null; + _this._async$_state = _this._async$_state & 4294967286 | 2; + onCancel = _this.onCancel; + if (onCancel != null) + if (result == null) + try { + cancelResult = onCancel.call$0(); + if (cancelResult instanceof A._Future) + result = cancelResult; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + result0 = new A._Future($.Zone__current, type$._Future_void); + result0._asyncCompleteError$2(e, s); + result = result0; + } + else + result = result.whenComplete$1(onCancel); + t1 = new A._StreamController__recordCancel_complete(_this); + if (result != null) + result = result.whenComplete$1(t1); + else + t1.call$0(); + return result; + }, + _recordPause$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._async$_state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).pause$0(); + A._runGuarded(_this.onPause); + }, + _recordResume$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._async$_state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).resume$0(); + A._runGuarded(_this.onResume); + }, + set$onListen(onListen) { + this.onListen = type$.nullable_void_Function._as(onListen); + }, + set$onResume(onResume) { + this.onResume = type$.nullable_void_Function._as(onResume); + }, + $isEventSink: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._StreamController__subscribe_closure.prototype = { + call$0() { + A._runGuarded(this.$this.onListen); + }, + $signature: 0 + }; + A._StreamController__recordCancel_complete.prototype = { + call$0() { + var doneFuture = this.$this._doneFuture; + if (doneFuture != null && (doneFuture._async$_state & 30) === 0) + doneFuture._asyncComplete$1(null); + }, + $signature: 0 + }; + A._SyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + this.$ti._precomputed1._as(data); + this.get$_subscription()._async$_add$1(data); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addError$2(error, stackTrace); + }, + _sendDone$0() { + this.get$_subscription()._close$0(); + } + }; + A._AsyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + var t1 = this.$ti; + t1._precomputed1._as(data); + this.get$_subscription()._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<1>"))); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _sendDone$0() { + this.get$_subscription()._addPending$1(B.C__DelayedDone); + } + }; + A._AsyncStreamController.prototype = {}; + A._SyncStreamController.prototype = {}; + A._ControllerStream.prototype = { + get$hashCode(_) { + return (A.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return other instanceof A._ControllerStream && other._controller === this._controller; + } + }; + A._ControllerSubscription.prototype = { + _onCancel$0() { + return this._controller._recordCancel$1(this); + }, + _onPause$0() { + this._controller._recordPause$1(this); + }, + _onResume$0() { + this._controller._recordResume$1(this); + } + }; + A._StreamSinkWrapper.prototype = { + add$1(_, data) { + this._async$_target.add$1(0, this.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + this._async$_target.addError$2(error, stackTrace); + }, + close$0() { + return this._async$_target.close$0(); + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A._BufferingStreamSubscription.prototype = { + _setPendingEvents$1(pendingEvents) { + var _this = this; + A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(pendingEvents); + A.assertHelper(_this._pending == null); + if (pendingEvents == null) + return; + _this.set$_pending(pendingEvents); + if (pendingEvents.lastPendingEvent != null) { + _this._async$_state = (_this._async$_state | 128) >>> 0; + pendingEvents.schedule$1(_this); + } + }, + onData$1(handleData) { + var t1 = A._instanceType(this); + this.set$_async$_onData(A._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T"))); + }, + onError$1(handleError) { + var _this = this; + _this._async$_state = (_this._async$_state & 4294967263) >>> 0; + _this._onError = A._BufferingStreamSubscription__registerErrorHandler(_this._zone, handleError); + }, + pause$0() { + var t2, t3, _this = this, + t1 = _this._async$_state; + if ((t1 & 8) !== 0) + return; + t2 = (t1 + 256 | 4) >>> 0; + _this._async$_state = t2; + if (t1 < 256) { + t3 = _this._pending; + if (t3 != null) + if (t3._async$_state === 1) + t3._async$_state = 3; + } + if ((t1 & 4) === 0 && (t2 & 64) === 0) + _this._guardCallback$1(_this.get$_onPause()); + }, + resume$0() { + var _this = this, + t1 = _this._async$_state; + if ((t1 & 8) !== 0) + return; + if (t1 >= 256) { + t1 = _this._async$_state -= 256; + if (t1 < 256) + if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent != null) + _this._pending.schedule$1(_this); + else { + A.assertHelper(_this.get$_mayResumeInput()); + t1 = (_this._async$_state & 4294967291) >>> 0; + _this._async$_state = t1; + if ((t1 & 64) === 0) + _this._guardCallback$1(_this.get$_onResume()); + } + } + }, + cancel$0() { + var _this = this, + t1 = (_this._async$_state & 4294967279) >>> 0; + _this._async$_state = t1; + if ((t1 & 8) === 0) + _this._cancel$0(); + t1 = _this._cancelFuture; + return t1 == null ? $.$get$Future__nullFuture() : t1; + }, + get$_mayResumeInput() { + if (this._async$_state < 256) { + var t1 = this._pending; + t1 = t1 == null ? null : t1.lastPendingEvent == null; + t1 = t1 !== false; + } else + t1 = false; + return t1; + }, + _cancel$0() { + var t2, _this = this, + t1 = _this._async$_state = (_this._async$_state | 8) >>> 0; + if ((t1 & 128) !== 0) { + t2 = _this._pending; + if (t2._async$_state === 1) + t2._async$_state = 3; + } + if ((t1 & 64) === 0) + _this.set$_pending(null); + _this._cancelFuture = _this._onCancel$0(); + }, + _async$_add$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("_BufferingStreamSubscription.T")._as(data); + A.assertHelper((_this._async$_state & 2) === 0); + t2 = _this._async$_state; + if ((t2 & 8) !== 0) + return; + if (t2 < 64) + _this._sendData$1(data); + else + _this._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<_BufferingStreamSubscription.T>"))); + }, + _addError$2(error, stackTrace) { + var t1 = this._async$_state; + if ((t1 & 8) !== 0) + return; + if (t1 < 64) + this._sendError$2(error, stackTrace); + else + this._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _close$0() { + var t1, _this = this; + A.assertHelper((_this._async$_state & 2) === 0); + t1 = _this._async$_state; + if ((t1 & 8) !== 0) + return; + t1 = (t1 | 2) >>> 0; + _this._async$_state = t1; + if (t1 < 64) + _this._sendDone$0(); + else + _this._addPending$1(B.C__DelayedDone); + }, + _onPause$0() { + A.assertHelper((this._async$_state & 4) !== 0); + }, + _onResume$0() { + A.assertHelper((this._async$_state & 4) === 0); + }, + _onCancel$0() { + A.assertHelper((this._async$_state & 8) !== 0); + return null; + }, + _addPending$1($event) { + var t1, _this = this, + pending = _this._pending; + if (pending == null) { + pending = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>")); + _this.set$_pending(pending); + } + pending.add$1(0, $event); + t1 = _this._async$_state; + if ((t1 & 128) === 0) { + t1 = (t1 | 128) >>> 0; + _this._async$_state = t1; + if (t1 < 256) + pending.schedule$1(_this); + } + }, + _sendData$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"); + t1._as(data); + A.assertHelper((_this._async$_state & 8) === 0); + A.assertHelper(_this._async$_state < 256); + A.assertHelper((_this._async$_state & 64) === 0); + t2 = _this._async$_state; + _this._async$_state = (t2 | 64) >>> 0; + _this._zone.runUnaryGuarded$1$2(_this._async$_onData, data, t1); + _this._async$_state = (_this._async$_state & 4294967231) >>> 0; + _this._checkState$1((t2 & 4) !== 0); + }, + _sendError$2(error, stackTrace) { + var t1, t2, cancelFuture, _this = this; + A.assertHelper((_this._async$_state & 8) === 0); + A.assertHelper(_this._async$_state < 256); + A.assertHelper((_this._async$_state & 64) === 0); + t1 = _this._async$_state; + t2 = new A._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace); + if ((t1 & 1) !== 0) { + _this._async$_state = (t1 | 16) >>> 0; + _this._cancel$0(); + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t2); + else + t2.call$0(); + } else { + t2.call$0(); + _this._checkState$1((t1 & 4) !== 0); + } + }, + _sendDone$0() { + var t1, cancelFuture, _this = this; + A.assertHelper((_this._async$_state & 8) === 0); + A.assertHelper(_this._async$_state < 256); + A.assertHelper((_this._async$_state & 64) === 0); + t1 = new A._BufferingStreamSubscription__sendDone_sendDone(_this); + _this._cancel$0(); + _this._async$_state = (_this._async$_state | 16) >>> 0; + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t1); + else + t1.call$0(); + }, + _guardCallback$1(callback) { + var t1, _this = this; + type$.void_Function._as(callback); + A.assertHelper((_this._async$_state & 64) === 0); + t1 = _this._async$_state; + _this._async$_state = (t1 | 64) >>> 0; + callback.call$0(); + _this._async$_state = (_this._async$_state & 4294967231) >>> 0; + _this._checkState$1((t1 & 4) !== 0); + }, + _checkState$1(wasInputPaused) { + var t1, isInputPaused, _this = this; + A.assertHelper((_this._async$_state & 64) === 0); + t1 = _this._async$_state; + if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) { + t1 = (t1 & 4294967167) >>> 0; + _this._async$_state = t1; + if ((t1 & 4) !== 0 && _this.get$_mayResumeInput()) + _this._async$_state = (_this._async$_state & 4294967291) >>> 0; + } + for (; true; wasInputPaused = isInputPaused) { + t1 = _this._async$_state; + if ((t1 & 8) !== 0) { + _this.set$_pending(null); + return; + } + isInputPaused = (t1 & 4) !== 0; + if (wasInputPaused === isInputPaused) + break; + _this._async$_state = (t1 ^ 64) >>> 0; + if (isInputPaused) + _this._onPause$0(); + else + _this._onResume$0(); + _this._async$_state = (_this._async$_state & 4294967231) >>> 0; + } + t1 = _this._async$_state; + if ((t1 & 128) !== 0 && t1 < 256) + _this._pending.schedule$1(_this); + }, + set$_async$_onData(_onData) { + this._async$_onData = A._instanceType(this)._eval$1("~(_BufferingStreamSubscription.T)")._as(_onData); + }, + set$_pending(_pending) { + this._pending = A._instanceType(this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(_pending); + }, + $isStreamSubscription: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._BufferingStreamSubscription__sendError_sendError.prototype = { + call$0() { + var onError, t3, t4, + t1 = this.$this, + t2 = t1._async$_state; + if ((t2 & 8) !== 0 && (t2 & 16) === 0) + return; + t1._async$_state = (t2 | 64) >>> 0; + onError = t1._onError; + t2 = this.error; + t3 = type$.Object; + t4 = t1._zone; + if (type$.void_Function_Object_StackTrace._is(onError)) + t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace); + else + t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3); + t1._async$_state = (t1._async$_state & 4294967231) >>> 0; + }, + $signature: 0 + }; + A._BufferingStreamSubscription__sendDone_sendDone.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1._async$_state; + if ((t2 & 16) === 0) + return; + t1._async$_state = (t2 | 74) >>> 0; + t1._zone.runGuarded$1(t1._onDone); + t1._async$_state = (t1._async$_state & 4294967231) >>> 0; + }, + $signature: 0 + }; + A._StreamImpl.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = A._instanceType(this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$1(onData) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._DelayedEvent.prototype = { + set$next(next) { + this.next = type$.nullable__DelayedEvent_dynamic._as(next); + }, + get$next() { + return this.next; + } + }; + A._DelayedData.prototype = { + perform$1(dispatch) { + this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value); + } + }; + A._DelayedError.prototype = { + perform$1(dispatch) { + dispatch._sendError$2(this.error, this.stackTrace); + } + }; + A._DelayedDone.prototype = { + perform$1(dispatch) { + dispatch._sendDone$0(); + }, + get$next() { + return null; + }, + set$next(_) { + throw A.wrapException(A.StateError$("No events after a done.")); + }, + $is_DelayedEvent: 1 + }; + A._PendingEvents.prototype = { + schedule$1(dispatch) { + var t1, _this = this; + _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch); + if (_this._async$_state === 1) + return; + A.assertHelper(_this.lastPendingEvent != null); + t1 = _this._async$_state; + if (t1 >= 1) { + A.assertHelper(t1 === 3); + _this._async$_state = 1; + return; + } + A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch)); + _this._async$_state = 1; + }, + add$1(_, $event) { + var _this = this, + lastEvent = _this.lastPendingEvent; + if (lastEvent == null) + _this.firstPendingEvent = _this.lastPendingEvent = $event; + else { + lastEvent.set$next($event); + _this.lastPendingEvent = $event; + } + } + }; + A._PendingEvents_schedule_closure.prototype = { + call$0() { + var t2, $event, nextEvent, + t1 = this.$this, + oldState = t1._async$_state; + t1._async$_state = 0; + if (oldState === 3) + return; + t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch); + A.assertHelper(t1.lastPendingEvent != null); + $event = t1.firstPendingEvent; + nextEvent = $event.get$next(); + t1.firstPendingEvent = nextEvent; + if (nextEvent == null) + t1.lastPendingEvent = null; + $event.perform$1(t2); + }, + $signature: 0 + }; + A._DoneStreamSubscription.prototype = { + onData$1(handleData) { + this.$ti._eval$1("~(1)?")._as(handleData); + }, + onError$1(handleError) { + }, + pause$0() { + var t1 = this._async$_state; + if (t1 >= 0) + this._async$_state = t1 + 2; + }, + resume$0() { + var _this = this, + resumeState = _this._async$_state - 2; + if (resumeState < 0) + return; + if (resumeState === 0) { + _this._async$_state = 1; + A.scheduleMicrotask(_this.get$_onMicrotask()); + } else + _this._async$_state = resumeState; + }, + cancel$0() { + this._async$_state = -1; + this.set$_onDone(null); + return $.$get$Future__nullFuture(); + }, + _onMicrotask$0() { + var _0_0, _this = this, + unscheduledState = _this._async$_state - 1; + if (unscheduledState === 0) { + _this._async$_state = -1; + _0_0 = _this._onDone; + if (_0_0 != null) { + _this.set$_onDone(null); + _this._zone.runGuarded$1(_0_0); + } + } else + _this._async$_state = unscheduledState; + }, + set$_onDone(_onDone) { + this._onDone = type$.nullable_void_Function._as(_onDone); + }, + $isStreamSubscription: 1 + }; + A._StreamIterator.prototype = { + get$current() { + var _this = this; + if (_this._async$_hasValue) + return _this.$ti._precomputed1._as(_this._stateData); + return _this.$ti._precomputed1._as(null); + }, + moveNext$0() { + var future, _this = this, + subscription = _this._subscription; + if (subscription != null) { + if (_this._async$_hasValue) { + future = new A._Future($.Zone__current, type$._Future_bool); + _this._stateData = future; + _this._async$_hasValue = false; + subscription.resume$0(); + return future; + } + throw A.wrapException(A.StateError$("Already waiting for next.")); + } + return _this._initializeOrDone$0(); + }, + _initializeOrDone$0() { + var stateData, future, subscription, _this = this; + A.assertHelper(_this._subscription == null); + stateData = _this._stateData; + if (stateData != null) { + _this.$ti._eval$1("Stream<1>")._as(stateData); + future = new A._Future($.Zone__current, type$._Future_bool); + _this._stateData = future; + subscription = stateData.listen$4$cancelOnError$onDone$onError(_this.get$_async$_onData(), true, _this.get$_onDone(), _this.get$_onError()); + if (_this._stateData != null) + _this.set$_subscription(subscription); + return future; + } + return $.$get$Future__falseFuture(); + }, + cancel$0() { + var _this = this, + subscription = _this._subscription, + stateData = _this._stateData; + _this._stateData = null; + if (subscription != null) { + _this.set$_subscription(null); + if (!_this._async$_hasValue) + type$._Future_bool._as(stateData)._asyncComplete$1(false); + else + _this._async$_hasValue = false; + return subscription.cancel$0(); + } + return $.$get$Future__nullFuture(); + }, + _async$_onData$1(data) { + var moveNextFuture, t1, _this = this; + _this.$ti._precomputed1._as(data); + if (_this._subscription == null) + return; + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this._stateData = data; + _this._async$_hasValue = true; + moveNextFuture._complete$1(true); + if (_this._async$_hasValue) { + t1 = _this._subscription; + if (t1 != null) + t1.pause$0(); + } + }, + _onError$2(error, stackTrace) { + var subscription, moveNextFuture, _this = this; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + subscription = _this._subscription; + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this.set$_subscription(null); + _this._stateData = null; + if (subscription != null) + moveNextFuture._completeError$2(error, stackTrace); + else + moveNextFuture._asyncCompleteError$2(error, stackTrace); + }, + _onDone$0() { + var _this = this, + subscription = _this._subscription, + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this.set$_subscription(null); + _this._stateData = null; + if (subscription != null) + moveNextFuture._completeWithValue$1(false); + else + moveNextFuture._asyncCompleteWithValue$1(false); + }, + set$_subscription(_subscription) { + this._subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._cancelAndError_closure.prototype = { + call$0() { + return this.future._completeError$2(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._cancelAndErrorClosure_closure.prototype = { + call$2(error, stackTrace) { + A._cancelAndError(this.subscription, this.future, error, type$.StackTrace._as(stackTrace)); + }, + $signature: 6 + }; + A._cancelAndValue_closure.prototype = { + call$0() { + return this.future._complete$1(this.value); + }, + $signature: 0 + }; + A._ForwardingStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t2, t3, t4, t5, t6, t7, + t1 = this.$ti; + t1._eval$1("~(2)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t2 = t1._rest[1]; + t3 = $.Zone__current; + t4 = cancelOnError === true ? 1 : 0; + t5 = onError != null ? 32 : 0; + t6 = A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2); + t7 = A._BufferingStreamSubscription__registerErrorHandler(t3, onError); + t1 = new A._ForwardingStreamSubscription(this, t6, t7, t3.registerCallback$1$1(onDone, type$.void), t3, t4 | t5, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>")); + t1.set$_subscription(this._async$_source.listen$3$onDone$onError(t1.get$_handleData(), t1.get$_handleDone(), t1.get$_handleError())); + return t1; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._ForwardingStreamSubscription.prototype = { + _async$_add$1(data) { + this.$ti._rest[1]._as(data); + if ((this._async$_state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_add(data); + }, + _addError$2(error, stackTrace) { + if ((this._async$_state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_addError(error, stackTrace); + }, + _onPause$0() { + var t1 = this._subscription; + if (t1 != null) + t1.pause$0(); + }, + _onResume$0() { + var t1 = this._subscription; + if (t1 != null) + t1.resume$0(); + }, + _onCancel$0() { + var subscription = this._subscription; + if (subscription != null) { + this.set$_subscription(null); + return subscription.cancel$0(); + } + return null; + }, + _handleData$1(data) { + this._stream._handleData$2(this.$ti._precomputed1._as(data), this); + }, + _handleError$2(error, stackTrace) { + var t1; + type$.StackTrace._as(stackTrace); + t1 = error == null ? type$.Object._as(error) : error; + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._addError$2(t1, stackTrace); + }, + _handleDone$0() { + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._close$0(); + }, + set$_subscription(_subscription) { + this._subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._MapStream.prototype = { + _handleData$2(inputEvent, sink) { + var outputEvent, e, s, exception, error, stackTrace, replacement, + t1 = this.$ti; + t1._precomputed1._as(inputEvent); + t1._eval$1("_EventSink<2>")._as(sink); + outputEvent = null; + try { + outputEvent = this._transform.call$1(inputEvent); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + error = e; + stackTrace = s; + replacement = $.Zone__current.errorCallback$2(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + sink._addError$2(error, stackTrace); + return; + } + sink._async$_add$1(outputEvent); + } + }; + A._EventSinkWrapper.prototype = { + add$1(_, data) { + var t1 = this._async$_sink; + data = t1.$ti._rest[1]._as(this.$ti._precomputed1._as(data)); + if ((t1._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_add(data); + }, + addError$2(error, stackTrace) { + var t1 = this._async$_sink; + if ((t1._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_addError(error, stackTrace); + }, + close$0() { + var t1 = this._async$_sink; + if ((t1._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_close(); + }, + $isEventSink: 1 + }; + A._SinkTransformerStreamSubscription.prototype = { + _onPause$0() { + var t1 = this._subscription; + if (t1 != null) + t1.pause$0(); + }, + _onResume$0() { + var t1 = this._subscription; + if (t1 != null) + t1.resume$0(); + }, + _onCancel$0() { + var subscription = this._subscription; + if (subscription != null) { + this.set$_subscription(null); + return subscription.cancel$0(); + } + return null; + }, + _handleData$1(data) { + var e, s, t1, exception, t2, _this = this; + _this.$ti._precomputed1._as(data); + try { + t1 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t1 === $ && A.throwLateFieldNI("_transformerSink"); + t1.add$1(0, data); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = type$.Object._as(e); + t2 = type$.StackTrace._as(s); + if ((_this._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + _this.super$_BufferingStreamSubscription$_addError(t1, t2); + } + }, + _handleError$2(error, stackTrace) { + var e, s, t2, t3, exception, _this = this, + _s24_ = "Stream is already closed", + t1 = type$.Object; + t1._as(error); + t2 = type$.StackTrace; + t2._as(stackTrace); + try { + t3 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t3 === $ && A.throwLateFieldNI("_transformerSink"); + t3.addError$2(error, stackTrace); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (e === error) { + if ((_this._async$_state & 2) !== 0) + A.throwExpression(A.StateError$(_s24_)); + _this.super$_BufferingStreamSubscription$_addError(error, stackTrace); + } else { + t1 = t1._as(e); + t2 = t2._as(s); + if ((_this._async$_state & 2) !== 0) + A.throwExpression(A.StateError$(_s24_)); + _this.super$_BufferingStreamSubscription$_addError(t1, t2); + } + } + }, + _handleDone$0() { + var e, s, t1, exception, t2, _this = this; + try { + _this.set$_subscription(null); + t1 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t1 === $ && A.throwLateFieldNI("_transformerSink"); + t1.close$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = type$.Object._as(e); + t2 = type$.StackTrace._as(s); + if ((_this._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + _this.super$_BufferingStreamSubscription$_addError(t1, t2); + } + }, + set$___SinkTransformerStreamSubscription__transformerSink_A(___SinkTransformerStreamSubscription__transformerSink_A) { + this.___SinkTransformerStreamSubscription__transformerSink_A = this.$ti._eval$1("EventSink<1>")._as(___SinkTransformerStreamSubscription__transformerSink_A); + }, + set$_subscription(_subscription) { + this._subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._StreamSinkTransformer.prototype = { + bind$1(stream) { + var t1 = this.$ti; + return new A._BoundSinkStream(this._sinkMapper, t1._eval$1("Stream<1>")._as(stream), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_BoundSinkStream<1,2>")); + } + }; + A._BoundSinkStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t2, t3, t4, t5, t6, t7, subscription, + t1 = this.$ti; + t1._eval$1("~(2)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t2 = t1._rest[1]; + t3 = $.Zone__current; + t4 = cancelOnError === true ? 1 : 0; + t5 = onError != null ? 32 : 0; + t6 = A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2); + t7 = A._BufferingStreamSubscription__registerErrorHandler(t3, onError); + t2 = t1._eval$1("@<1>")._bind$1(t2); + subscription = new A._SinkTransformerStreamSubscription(t6, t7, t3.registerCallback$1$1(onDone, type$.void), t3, t4 | t5, t2._eval$1("_SinkTransformerStreamSubscription<1,2>")); + subscription.set$___SinkTransformerStreamSubscription__transformerSink_A(t2._eval$1("EventSink<1>")._as(this._sinkMapper.call$1(new A._EventSinkWrapper(subscription, t1._eval$1("_EventSinkWrapper<2>"))))); + subscription.set$_subscription(this._stream.listen$3$onDone$onError(subscription.get$_handleData(), subscription.get$_handleDone(), subscription.get$_handleError())); + return subscription; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._HandlerEventSink.prototype = { + add$1(_, data) { + var sink, + t1 = this.$ti; + t1._precomputed1._as(data); + sink = this._async$_sink; + if (sink == null) + throw A.wrapException(A.StateError$("Sink is closed")); + data = sink.$ti._precomputed1._as(t1._rest[1]._as(data)); + t1 = sink._async$_sink; + t1.$ti._rest[1]._as(data); + if ((t1._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_add(data); + }, + addError$2(error, stackTrace) { + var sink; + A.checkNotNullable(error, "error", type$.Object); + sink = this._async$_sink; + if (sink == null) + throw A.wrapException(A.StateError$("Sink is closed")); + sink.addError$2(error, stackTrace); + }, + close$0() { + var sink = this._async$_sink; + if (sink == null) + return; + this.set$_async$_sink(null); + this._handleDone.call$1(sink); + }, + set$_async$_sink(_sink) { + this._async$_sink = this.$ti._eval$1("EventSink<2>?")._as(_sink); + }, + $isEventSink: 1 + }; + A._StreamHandlerTransformer.prototype = { + bind$1(stream) { + return this.super$_StreamSinkTransformer$bind(this.$ti._eval$1("Stream<1>")._as(stream)); + } + }; + A._StreamHandlerTransformer_closure.prototype = { + call$1(outputSink) { + var _this = this, + t1 = _this.T; + return new A._HandlerEventSink(_this.handleData, _this.handleError, _this.handleDone, t1._eval$1("EventSink<0>")._as(outputSink), _this.S._eval$1("@<0>")._bind$1(t1)._eval$1("_HandlerEventSink<1,2>")); + }, + $signature() { + return this.S._eval$1("@<0>")._bind$1(this.T)._eval$1("_HandlerEventSink<1,2>(EventSink<2>)"); + } + }; + A._ZoneFunction.prototype = {}; + A._ZoneSpecification.prototype = {$isZoneSpecification: 1}; + A._ZoneDelegate.prototype = {$isZoneDelegate: 1}; + A._Zone.prototype = { + _processUncaughtError$3(zone, error, stackTrace) { + var implZone, handler, parentDelegate, parentZone, currentZone, e, s, implementation, t1, exception; + type$.StackTrace._as(stackTrace); + implementation = this.get$_handleUncaughtError(); + implZone = implementation.zone; + if (implZone === B.C__RootZone) { + A._rootHandleError(error, stackTrace); + return; + } + handler = implementation.$function; + parentDelegate = implZone.get$_parentDelegate(); + t1 = implZone.get$parent(); + t1.toString; + parentZone = t1; + currentZone = $.Zone__current; + try { + $.Zone__current = parentZone; + handler.call$5(implZone, parentDelegate, zone, error, stackTrace); + $.Zone__current = currentZone; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current = currentZone; + t1 = error === e ? stackTrace : s; + parentZone._processUncaughtError$3(implZone, e, t1); + } + }, + $isZone: 1 + }; + A._CustomZone.prototype = { + get$_async$_delegate() { + var t1 = this._delegateCache; + return t1 == null ? this._delegateCache = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + return this.parent.get$_async$_delegate(); + }, + get$errorZone() { + return this._handleUncaughtError.zone; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + this.run$1$1(f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + this.runUnary$2$2(f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) { + var e, s, exception; + T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f); + T1._as(arg1); + T2._as(arg2); + try { + this.runBinary$3$3(f, arg1, arg2, type$.void, T1, T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._CustomZone_bindCallback_closure(this, this.registerCallback$1$1($R._eval$1("0()")._as(f), $R), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1($R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $R, $T), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(type$.void_Function._as(f), type$.void)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1($T._eval$1("~(0)")._as(f), type$.void, $T), $T); + }, + $index(_, key) { + var value, + t1 = this._async$_map, + result = t1.$index(0, key); + if (result != null || t1.containsKey$1(key)) + return result; + value = this.parent.$index(0, key); + if (value != null) + t1.$indexSet(0, key, value); + return value; + }, + handleUncaughtError$2(error, stackTrace) { + this._processUncaughtError$3(this, error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + var implementation = this._fork, + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, specification, zoneValues); + }, + run$1$1(f, $R) { + var implementation, t1; + $R._eval$1("0()")._as(f); + implementation = this._run; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + implementation = this._runUnary; + t1 = implementation.zone; + return implementation.$function.call$2$5(t1, t1.get$_parentDelegate(), this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, T1, T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + implementation = this._runBinary; + t1 = implementation.zone; + return implementation.$function.call$3$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2, $R, T1, T2); + }, + registerCallback$1$1(callback, $R) { + var implementation, t1; + $R._eval$1("0()")._as(callback); + implementation = this._registerCallback; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, callback, $R); + }, + registerUnaryCallback$2$1(callback, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(callback); + implementation = this._registerUnaryCallback; + t1 = implementation.zone; + return implementation.$function.call$2$4(t1, t1.get$_parentDelegate(), this, callback, $R, $T); + }, + registerBinaryCallback$3$1(callback, $R, T1, T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(callback); + implementation = this._registerBinaryCallback; + t1 = implementation.zone; + return implementation.$function.call$3$4(t1, t1.get$_parentDelegate(), this, callback, $R, T1, T2); + }, + errorCallback$2(error, stackTrace) { + var implementation, implementationZone; + type$.nullable_StackTrace._as(stackTrace); + A.checkNotNullable(error, "error", type$.Object); + implementation = this._errorCallback; + implementationZone = implementation.zone; + if (implementationZone === B.C__RootZone) + return null; + return implementation.$function.call$5(implementationZone, implementationZone.get$_parentDelegate(), this, error, stackTrace); + }, + scheduleMicrotask$1(f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._scheduleMicrotask; + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f); + }, + createTimer$2(duration, f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._createTimer; + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f); + }, + print$1(line) { + var implementation = this._print, + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, line); + }, + set$_handleUncaughtError(_handleUncaughtError) { + this._handleUncaughtError = type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace._as(_handleUncaughtError); + }, + get$_run() { + return this._run; + }, + get$_runUnary() { + return this._runUnary; + }, + get$_runBinary() { + return this._runBinary; + }, + get$_registerCallback() { + return this._registerCallback; + }, + get$_registerUnaryCallback() { + return this._registerUnaryCallback; + }, + get$_registerBinaryCallback() { + return this._registerBinaryCallback; + }, + get$_errorCallback() { + return this._errorCallback; + }, + get$_scheduleMicrotask() { + return this._scheduleMicrotask; + }, + get$_createTimer() { + return this._createTimer; + }, + get$_createPeriodicTimer() { + return this._createPeriodicTimer; + }, + get$_print() { + return this._print; + }, + get$_fork() { + return this._fork; + }, + get$_handleUncaughtError() { + return this._handleUncaughtError; + }, + get$parent() { + return this.parent; + }, + get$_async$_map() { + return this._async$_map; + } + }; + A._CustomZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.registered, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._CustomZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.registered, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._CustomZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.registered); + }, + $signature: 0 + }; + A._CustomZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.registered, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._rootHandleError_closure.prototype = { + call$0() { + A.Error_throwWithStackTrace(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._RootZone.prototype = { + get$_run() { + return B._ZoneFunction__RootZone__rootRun; + }, + get$_runUnary() { + return B._ZoneFunction__RootZone__rootRunUnary; + }, + get$_runBinary() { + return B._ZoneFunction__RootZone__rootRunBinary; + }, + get$_registerCallback() { + return B._ZoneFunction__RootZone__rootRegisterCallback; + }, + get$_registerUnaryCallback() { + return B._ZoneFunction_QOa; + }, + get$_registerBinaryCallback() { + return B._ZoneFunction_qxw; + }, + get$_errorCallback() { + return B._ZoneFunction__RootZone__rootErrorCallback; + }, + get$_scheduleMicrotask() { + return B._ZoneFunction__RootZone__rootScheduleMicrotask; + }, + get$_createTimer() { + return B._ZoneFunction__RootZone__rootCreateTimer; + }, + get$_createPeriodicTimer() { + return B._ZoneFunction_kWM; + }, + get$_print() { + return B._ZoneFunction__RootZone__rootPrint; + }, + get$_fork() { + return B._ZoneFunction__RootZone__rootFork; + }, + get$_handleUncaughtError() { + return B._ZoneFunction_NIe; + }, + get$parent() { + return null; + }, + get$_async$_map() { + return $.$get$_RootZone__rootMap(); + }, + get$_async$_delegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$errorZone() { + return this; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$0(); + return; + } + A._rootRun(null, null, this, f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$1(arg); + return; + } + A._rootRunUnary(null, null, this, f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) { + var e, s, exception; + T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f); + T1._as(arg1); + T2._as(arg2); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$2(arg1, arg2); + return; + } + A._rootRunBinary(null, null, this, f, arg1, arg2, type$.void, T1, T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._RootZone_bindUnaryCallback_closure(this, $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T); + }, + $index(_, key) { + return null; + }, + handleUncaughtError$2(error, stackTrace) { + A._rootHandleError(error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + return A._rootFork(null, null, this, specification, zoneValues); + }, + run$1$1(f, $R) { + $R._eval$1("0()")._as(f); + if ($.Zone__current === B.C__RootZone) + return f.call$0(); + return A._rootRun(null, null, this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + if ($.Zone__current === B.C__RootZone) + return f.call$1(arg); + return A._rootRunUnary(null, null, this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, T1, T2) { + $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + T1._as(arg1); + T2._as(arg2); + if ($.Zone__current === B.C__RootZone) + return f.call$2(arg1, arg2); + return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); + }, + registerCallback$1$1(f, $R) { + return $R._eval$1("0()")._as(f); + }, + registerUnaryCallback$2$1(f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + registerBinaryCallback$3$1(f, $R, T1, T2) { + return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + }, + errorCallback$2(error, stackTrace) { + type$.nullable_StackTrace._as(stackTrace); + return null; + }, + scheduleMicrotask$1(f) { + A._rootScheduleMicrotask(null, null, this, type$.void_Function._as(f)); + }, + createTimer$2(duration, f) { + return A.Timer__createTimer(duration, type$.void_Function._as(f)); + }, + print$1(line) { + A.printString(line); + } + }; + A._RootZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.f, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._RootZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.f, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._RootZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.f); + }, + $signature: 0 + }; + A._RootZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._HashMap.prototype = { + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + get$keys() { + return new A._HashMapKeyIterable(this, A._instanceType(this)._eval$1("_HashMapKeyIterable<1>")); + }, + get$values() { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(new A._HashMapKeyIterable(this, t1._eval$1("_HashMapKeyIterable<1>")), new A._HashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1(key) { + var strings, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._collection$_strings; + return strings == null ? false : strings[key] != null; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + return nums == null ? false : nums[key] != null; + } else + return this._containsKey$1(key); + }, + _containsKey$1(key) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; + }, + $index(_, key) { + var strings, t1, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._collection$_strings; + t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key); + return t1; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key); + return t1; + } else + return this._get$1(key); + }, + _get$1(key) { + var bucket, index, + rest = this._collection$_rest; + if (rest == null) + return null; + bucket = this._getBucket$2(rest, key); + index = this._findBucketIndex$2(bucket, key); + return index < 0 ? null : bucket[index + 1]; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string" && key !== "__proto__") { + strings = _this._collection$_strings; + _this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = A._HashMap__newHashTable() : strings, key, value); + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = _this._collection$_nums; + _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); + } else + _this._set$2(key, value); + }, + _set$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._HashMap__newHashTable(); + hash = _this._computeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + A._HashMap__setTableEntry(rest, hash, [key, value]); + ++_this._collection$_length; + _this._collection$_keys = null; + } else { + index = _this._findBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index + 1] = value; + else { + bucket.push(key, value); + ++_this._collection$_length; + _this._collection$_keys = null; + } + } + }, + forEach$1(_, action) { + var keys, $length, t2, i, key, t3, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1,2)")._as(action); + keys = _this._computeKeys$0(); + for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) { + key = keys[i]; + t2._as(key); + t3 = _this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + if (keys !== _this._collection$_keys) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + }, + _computeKeys$0() { + var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this, + result = _this._collection$_keys; + if (result != null) + return result; + result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); + strings = _this._collection$_strings; + if (strings != null) { + names = Object.getOwnPropertyNames(strings); + entries = names.length; + for (index = 0, i = 0; i < entries; ++i) { + result[index] = names[i]; + ++index; + } + } else + index = 0; + nums = _this._collection$_nums; + if (nums != null) { + names = Object.getOwnPropertyNames(nums); + entries = names.length; + for (i = 0; i < entries; ++i) { + result[index] = +names[i]; + ++index; + } + } + rest = _this._collection$_rest; + if (rest != null) { + names = Object.getOwnPropertyNames(rest); + entries = names.length; + for (i = 0; i < entries; ++i) { + bucket = rest[names[i]]; + $length = bucket.length; + for (i0 = 0; i0 < $length; i0 += 2) { + result[index] = bucket[i0]; + ++index; + } + } + } + A.assertHelper(index === _this._collection$_length); + return _this._collection$_keys = result; + }, + _collection$_addHashTableEntry$3(table, key, value) { + var t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (table[key] == null) { + ++this._collection$_length; + this._collection$_keys = null; + } + A._HashMap__setTableEntry(table, key, value); + }, + _computeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + _getBucket$2(table, key) { + return table[this._computeHashCode$1(key)]; + }, + _findBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; i += 2) + if (J.$eq$(bucket[i], key)) + return i; + return -1; + } + }; + A._HashMap_values_closure.prototype = { + call$1(each) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1 = t1.$index(0, t2._precomputed1._as(each)); + return t1 == null ? t2._rest[1]._as(t1) : t1; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("2(1)"); + } + }; + A._IdentityHashMap.prototype = { + _computeHashCode$1(key) { + return A.objectHashCode(key) & 1073741823; + }, + _findBucketIndex$2(bucket, key) { + var $length, i, t1; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; i += 2) { + t1 = bucket[i]; + if (t1 == null ? key == null : t1 === key) + return i; + } + return -1; + } + }; + A._HashMapKeyIterable.prototype = { + get$length(_) { + return this._collection$_map._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_map._collection$_length === 0; + }, + get$iterator(_) { + var t1 = this._collection$_map; + return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); + } + }; + A._HashMapKeyIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + keys = _this._collection$_keys, + offset = _this._offset, + t1 = _this._collection$_map; + if (keys !== t1._collection$_keys) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (offset >= keys.length) { + _this.set$_collection$_current(null); + return false; + } else { + _this.set$_collection$_current(keys[offset]); + _this._offset = offset + 1; + return true; + } + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A._LinkedHashSet.prototype = { + get$iterator(_) { + var _this = this, + t1 = new A._LinkedHashSetIterator(_this, _this._collection$_modifications, _this.$ti._eval$1("_LinkedHashSetIterator<1>")); + t1._collection$_cell = _this._collection$_first; + return t1; + }, + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + contains$1(_, object) { + var strings, t1; + if (object !== "__proto__") { + strings = this._collection$_strings; + if (strings == null) + return false; + return type$.nullable__LinkedHashSetCell._as(strings[object]) != null; + } else { + t1 = this._contains$1(object); + return t1; + } + }, + _contains$1(object) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(rest[B.JSString_methods.get$hashCode(object) & 1073741823], object) >= 0; + }, + get$first(_) { + var first = this._collection$_first; + if (first == null) + throw A.wrapException(A.StateError$("No elements")); + return this.$ti._precomputed1._as(first._element); + }, + get$last(_) { + var last = this._collection$_last; + if (last == null) + throw A.wrapException(A.StateError$("No elements")); + return this.$ti._precomputed1._as(last._element); + }, + add$1(_, element) { + var strings, nums, _this = this; + _this.$ti._precomputed1._as(element); + if (typeof element == "string" && element !== "__proto__") { + strings = _this._collection$_strings; + return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = A._LinkedHashSet__newHashTable() : strings, element); + } else if (typeof element == "number" && (element & 1073741823) === element) { + nums = _this._collection$_nums; + return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = A._LinkedHashSet__newHashTable() : nums, element); + } else + return _this._add$1(element); + }, + _add$1(element) { + var rest, hash, bucket, t1, _this = this; + _this.$ti._precomputed1._as(element); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._LinkedHashSet__newHashTable(); + hash = J.get$hashCode$(element) & 1073741823; + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this._collection$_newLinkedCell$1(element)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + if (_this._findBucketIndex$2(bucket, element) >= 0) + return false; + bucket.push(_this._collection$_newLinkedCell$1(element)); + } + return true; + }, + remove$1(_, object) { + var t1; + if (typeof object == "string" && object !== "__proto__") + return this._removeHashTableEntry$2(this._collection$_strings, object); + else { + t1 = this._remove$1(object); + return t1; + } + }, + _remove$1(object) { + var hash, bucket, index, cell, + rest = this._collection$_rest; + if (rest == null) + return false; + hash = J.get$hashCode$(object) & 1073741823; + bucket = rest[hash]; + index = this._findBucketIndex$2(bucket, object); + if (index < 0) + return false; + cell = bucket.splice(index, 1)[0]; + if (0 === bucket.length) + delete rest[hash]; + this._unlinkCell$1(cell); + return true; + }, + _collection$_addHashTableEntry$2(table, element) { + this.$ti._precomputed1._as(element); + if (type$.nullable__LinkedHashSetCell._as(table[element]) != null) + return false; + table[element] = this._collection$_newLinkedCell$1(element); + return true; + }, + _removeHashTableEntry$2(table, element) { + var cell; + if (table == null) + return false; + cell = type$.nullable__LinkedHashSetCell._as(table[element]); + if (cell == null) + return false; + this._unlinkCell$1(cell); + delete table[element]; + return true; + }, + _collection$_modified$0() { + this._collection$_modifications = this._collection$_modifications + 1 & 1073741823; + }, + _collection$_newLinkedCell$1(element) { + var t1, _this = this, + cell = new A._LinkedHashSetCell(_this.$ti._precomputed1._as(element)); + if (_this._collection$_first == null) + _this._collection$_first = _this._collection$_last = cell; + else { + t1 = _this._collection$_last; + t1.toString; + cell._collection$_previous = t1; + _this._collection$_last = t1._collection$_next = cell; + } + ++_this._collection$_length; + _this._collection$_modified$0(); + return cell; + }, + _unlinkCell$1(cell) { + var _this = this, + previous = cell._collection$_previous, + next = cell._collection$_next; + if (previous == null) { + A.assertHelper(cell === _this._collection$_first); + _this._collection$_first = next; + } else + previous._collection$_next = next; + if (next == null) { + A.assertHelper(cell === _this._collection$_last); + _this._collection$_last = previous; + } else + next._collection$_previous = previous; + --_this._collection$_length; + _this._collection$_modified$0(); + }, + _findBucketIndex$2(bucket, element) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i]._element, element)) + return i; + return -1; + } + }; + A._LinkedHashSetCell.prototype = {}; + A._LinkedHashSetIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + cell = _this._collection$_cell, + t1 = _this._set; + if (_this._collection$_modifications !== t1._collection$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (cell == null) { + _this.set$_collection$_current(null); + return false; + } else { + _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element)); + _this._collection$_cell = cell._collection$_next; + return true; + } + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + $isIterator: 1 + }; + A.HashMap_HashMap$from_closure.prototype = { + call$2(k, v) { + this.result.$indexSet(0, this.K._as(k), this.V._as(v)); + }, + $signature: 54 + }; + A.LinkedList.prototype = { + remove$1(_, entry) { + this.$ti._precomputed1._as(entry); + if (entry._list !== this) + return false; + this._unlink$1(entry); + return true; + }, + get$iterator(_) { + var _this = this; + return new A._LinkedListIterator(_this, _this._modificationCount, _this._collection$_first, _this.$ti._eval$1("_LinkedListIterator<1>")); + }, + get$length(_) { + return this._collection$_length; + }, + get$first(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._collection$_first; + t1.toString; + return t1; + }, + get$last(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._collection$_first._collection$_previous; + t1.toString; + return t1; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + _insertBefore$3$updateFirst(entry, newEntry, updateFirst) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1?")._as(entry); + t1._precomputed1._as(newEntry); + if (newEntry._list != null) + throw A.wrapException(A.StateError$("LinkedListEntry is already in a LinkedList")); + ++_this._modificationCount; + newEntry.set$_list(_this); + if (_this._collection$_length === 0) { + A.assertHelper(entry == null); + newEntry.set$_collection$_next(newEntry); + newEntry.set$_collection$_previous(newEntry); + _this.set$_collection$_first(newEntry); + ++_this._collection$_length; + return; + } + t1 = entry._collection$_previous; + t1.toString; + newEntry.set$_collection$_previous(t1); + newEntry.set$_collection$_next(entry); + t1.set$_collection$_next(newEntry); + entry.set$_collection$_previous(newEntry); + ++_this._collection$_length; + }, + _unlink$1(entry) { + var t1, next, _this = this, _null = null; + _this.$ti._precomputed1._as(entry); + ++_this._modificationCount; + entry._collection$_next.set$_collection$_previous(entry._collection$_previous); + t1 = entry._collection$_previous; + next = entry._collection$_next; + t1.set$_collection$_next(next); + --_this._collection$_length; + entry.set$_collection$_previous(_null); + entry.set$_collection$_next(_null); + entry.set$_list(_null); + if (_this._collection$_length === 0) + _this.set$_collection$_first(_null); + else if (entry === _this._collection$_first) + _this.set$_collection$_first(next); + }, + set$_collection$_first(_first) { + this._collection$_first = this.$ti._eval$1("1?")._as(_first); + } + }; + A._LinkedListIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this._list; + if (_this._modificationCount !== t1._modificationCount) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + if (t1._collection$_length !== 0) + t1 = _this._visitedFirst && _this._collection$_next === t1.get$first(0); + else + t1 = true; + if (t1) { + _this.set$_collection$_current(null); + return false; + } + _this._visitedFirst = true; + _this.set$_collection$_current(_this._collection$_next); + _this.set$_collection$_next(_this._collection$_next._collection$_next); + return true; + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("1?")._as(_current); + }, + set$_collection$_next(_next) { + this._collection$_next = this.$ti._eval$1("1?")._as(_next); + }, + $isIterator: 1 + }; + A.LinkedListEntry.prototype = { + get$previous() { + var t1 = this._list; + if (t1 == null || this === t1.get$first(0)) + return null; + return this._collection$_previous; + }, + set$_list(_list) { + this._list = A._instanceType(this)._eval$1("LinkedList?")._as(_list); + }, + set$_collection$_next(_next) { + this._collection$_next = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_next); + }, + set$_collection$_previous(_previous) { + this._collection$_previous = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_previous); + } + }; + A.ListBase.prototype = { + get$iterator(receiver) { + return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + get$isEmpty(receiver) { + return this.get$length(receiver) === 0; + }, + get$first(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, 0); + }, + get$last(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, this.get$length(receiver) - 1); + }, + map$1$1(receiver, f, $T) { + var t1 = A.instanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + skip$1(receiver, count) { + return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + take$1(receiver, count) { + return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E")); + }, + toList$1$growable(receiver, growable) { + var t1, first, result, i, _this = this; + if (_this.get$isEmpty(receiver)) { + t1 = J.JSArray_JSArray$growable(0, A.instanceType(receiver)._eval$1("ListBase.E")); + return t1; + } + first = _this.$index(receiver, 0); + result = A.List_List$filled(_this.get$length(receiver), first, true, A.instanceType(receiver)._eval$1("ListBase.E")); + for (i = 1; i < _this.get$length(receiver); ++i) + B.JSArray_methods.$indexSet(result, i, _this.$index(receiver, i)); + return result; + }, + toList$0(receiver) { + return this.toList$1$growable(receiver, true); + }, + cast$1$0(receiver, $R) { + return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>")); + }, + sublist$2(receiver, start, end) { + var listLength = this.get$length(receiver); + A.RangeError_checkValidRange(start, end, listLength); + return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + getRange$2(receiver, start, end) { + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + fillRange$3(receiver, start, end, fill) { + var i; + A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + for (i = start; i < end; ++i) + this.$indexSet(receiver, i, fill); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, otherStart, otherList, i, + t1 = A.instanceType(receiver); + t1._eval$1("Iterable")._as(iterable); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + $length = end - start; + if ($length === 0) + return; + A.RangeError_checkNotNegative(skipCount, "skipCount"); + if (t1._eval$1("List")._is(iterable)) { + otherStart = skipCount; + otherList = iterable; + } else { + otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); + otherStart = 0; + } + t1 = J.getInterceptor$asx(otherList); + if (otherStart + $length > t1.get$length(otherList)) + throw A.wrapException(A.IterableElementError_tooFew()); + if (otherStart < start) + for (i = $length - 1; i >= 0; --i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + else + for (i = 0; i < $length; ++i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + setAll$2(receiver, index, iterable) { + var t1, index0; + A.instanceType(receiver)._eval$1("Iterable")._as(iterable); + if (type$.List_dynamic._is(iterable)) + this.setRange$3(receiver, index, index + iterable.length, iterable); + else + for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) { + index0 = index + 1; + this.$indexSet(receiver, index, t1.get$current()); + } + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.MapBase.prototype = { + forEach$1(_, action) { + var t2, key, t3, + t1 = A._instanceType(this); + t1._eval$1("~(MapBase.K,MapBase.V)")._as(action); + for (t2 = J.get$iterator$ax(this.get$keys()), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) { + key = t2.get$current(); + t3 = this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + } + }, + get$entries() { + return J.map$1$1$ax(this.get$keys(), new A.MapBase_entries_closure(this), A._instanceType(this)._eval$1("MapEntry")); + }, + get$length(_) { + return J.get$length$asx(this.get$keys()); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.get$keys()); + }, + get$values() { + var t1 = A._instanceType(this); + return new A._MapBaseValueIterable(this, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("_MapBaseValueIterable<1,2>")); + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + $isMap: 1 + }; + A.MapBase_entries_closure.prototype = { + call$1(key) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t2._eval$1("MapBase.K")._as(key); + t1 = t1.$index(0, key); + if (t1 == null) + t1 = t2._eval$1("MapBase.V")._as(t1); + return new A.MapEntry(key, t1, t2._eval$1("@")._bind$1(t2._eval$1("MapBase.V"))._eval$1("MapEntry<1,2>")); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("MapEntry(MapBase.K)"); + } + }; + A.MapBase_mapToString_closure.prototype = { + call$2(k, v) { + var t2, + t1 = this._box_0; + if (!t1.first) + this.result._contents += ", "; + t1.first = false; + t1 = this.result; + t2 = A.S(k); + t2 = t1._contents += t2; + t1._contents = t2 + ": "; + t2 = A.S(v); + t1._contents += t2; + }, + $signature: 61 + }; + A._MapBaseValueIterable.prototype = { + get$length(_) { + var t1 = this._collection$_map; + return t1.get$length(t1); + }, + get$isEmpty(_) { + var t1 = this._collection$_map; + return t1.get$isEmpty(t1); + }, + get$first(_) { + var t1 = this._collection$_map; + t1 = t1.$index(0, J.get$first$ax(t1.get$keys())); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$last(_) { + var t1 = this._collection$_map; + t1 = t1.$index(0, J.get$last$ax(t1.get$keys())); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$iterator(_) { + var t1 = this._collection$_map, + t2 = this.$ti; + return new A._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys()), t1, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_MapBaseValueIterator<1,2>")); + } + }; + A._MapBaseValueIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._collection$_keys; + if (t1.moveNext$0()) { + _this.set$_collection$_current(_this._collection$_map.$index(0, t1.get$current())); + return true; + } + _this.set$_collection$_current(null); + return false; + }, + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + set$_collection$_current(_current) { + this._collection$_current = this.$ti._eval$1("2?")._as(_current); + }, + $isIterator: 1 + }; + A._UnmodifiableMapMixin.prototype = {}; + A.MapView.prototype = { + $index(_, key) { + return this._collection$_map.$index(0, key); + }, + forEach$1(_, action) { + this._collection$_map.forEach$1(0, this.$ti._eval$1("~(1,2)")._as(action)); + }, + get$length(_) { + return this._collection$_map.__js_helper$_length; + }, + get$keys() { + var t1 = this._collection$_map; + return new A.LinkedHashMapKeyIterable(t1, t1.$ti._eval$1("LinkedHashMapKeyIterable<1>")); + }, + toString$0(_) { + return A.MapBase_mapToString(this._collection$_map); + }, + get$values() { + return this._collection$_map.get$values(); + }, + get$entries() { + return this._collection$_map.get$entries(); + }, + $isMap: 1 + }; + A.UnmodifiableMapView.prototype = {}; + A.SetBase.prototype = { + get$isEmpty(_) { + return this._collection$_length === 0; + }, + map$1$1(_, f, $T) { + var t1 = this.$ti; + return new A.EfficientLengthMappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + }, + toString$0(_) { + return A.Iterable_iterableToFullString(this, "{", "}"); + }, + take$1(_, n) { + return A.TakeIterable_TakeIterable(this, n, this.$ti._precomputed1); + }, + skip$1(_, n) { + return A.SkipIterable_SkipIterable(this, n, this.$ti._precomputed1); + }, + get$first(_) { + var t1, + it = A._LinkedHashSetIterator$(this, this._collection$_modifications, this.$ti._precomputed1); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + t1 = it._collection$_current; + return t1 == null ? it.$ti._precomputed1._as(t1) : t1; + }, + get$last(_) { + var t1, result, + it = A._LinkedHashSetIterator$(this, this._collection$_modifications, this.$ti._precomputed1); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + t1 = it.$ti._precomputed1; + do { + result = it._collection$_current; + if (result == null) + result = t1._as(result); + } while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount, t1, _this = this; + A.RangeError_checkNotNegative(index, "index"); + iterator = A._LinkedHashSetIterator$(_this, _this._collection$_modifications, _this.$ti._precomputed1); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) { + t1 = iterator._collection$_current; + return t1 == null ? iterator.$ti._precomputed1._as(t1) : t1; + } + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, _this, null, "index")); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isSet: 1 + }; + A._SetBase.prototype = {}; + A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; + A._Utf8Decoder__decoder_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: true}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 23 + }; + A._Utf8Decoder__decoderNonfatal_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: false}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 23 + }; + A.AsciiCodec.prototype = { + encode$1(source) { + return B.AsciiEncoder_127.convert$1(source); + } + }; + A._UnicodeSubsetEncoder.prototype = { + convert$1(string) { + var stringLength, $length, result, t1, i, codeUnit; + A._asString(string); + stringLength = string.length; + $length = A.RangeError_checkValidRange(0, null, stringLength) - 0; + result = new Uint8Array($length); + for (t1 = ~this._subsetMask, i = 0; i < $length; ++i) { + if (!(i < stringLength)) + return A.ioore(string, i); + codeUnit = string.charCodeAt(i); + if ((codeUnit & t1) !== 0) + throw A.wrapException(A.ArgumentError$value(string, "string", "Contains invalid characters.")); + if (!(i < $length)) + return A.ioore(result, i); + result[i] = codeUnit; + } + return result; + } + }; + A.AsciiEncoder.prototype = {}; + A.Base64Codec.prototype = { + normalize$3(source, start, end) { + var inverseAlphabet, t2, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, t3, digit2, char0, value, t4, endLength, $length, + _s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + _s31_ = "Invalid base64 encoding length ", + t1 = source.length; + end = A.RangeError_checkValidRange(start, end, t1); + inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); + for (t2 = inverseAlphabet.length, i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 37) { + i1 = i0 + 2; + if (i1 <= end) { + A.assertHelper(i1 <= t1); + if (!(i0 < t1)) + return A.ioore(source, i0); + digit1 = A.hexDigitValue(source.charCodeAt(i0)); + t3 = i0 + 1; + if (!(t3 < t1)) + return A.ioore(source, t3); + digit2 = A.hexDigitValue(source.charCodeAt(t3)); + char0 = digit1 * 16 + digit2 - (digit2 & 256); + if (char0 === 37) + char0 = -1; + i0 = i1; + } else + char0 = -1; + } else + char0 = char; + if (0 <= char0 && char0 <= 127) { + if (!(char0 >= 0 && char0 < t2)) + return A.ioore(inverseAlphabet, char0); + value = inverseAlphabet[char0]; + if (value >= 0) { + if (!(value < 64)) + return A.ioore(_s64_, value); + char0 = _s64_.charCodeAt(value); + if (char0 === char) + continue; + char = char0; + } else { + if (value === -1) { + if (firstPadding < 0) { + t3 = buffer == null ? null : buffer._contents.length; + if (t3 == null) + t3 = 0; + firstPadding = t3 + (i - sliceStart); + firstPaddingSourceIndex = i; + } + ++paddingCount; + if (char === 61) + continue; + } + char = char0; + } + if (value !== -2) { + if (buffer == null) { + buffer = new A.StringBuffer(""); + t3 = buffer; + } else + t3 = buffer; + t3._contents += B.JSString_methods.substring$2(source, sliceStart, i); + t4 = A.Primitives_stringFromCharCode(char); + t3._contents += t4; + sliceStart = i0; + continue; + } + } + throw A.wrapException(A.FormatException$("Invalid base64 data", source, i)); + } + if (buffer != null) { + t1 = B.JSString_methods.substring$2(source, sliceStart, end); + t1 = buffer._contents += t1; + t2 = t1.length; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2); + else { + endLength = B.JSInt_methods.$mod(t2 - 1, 4) + 1; + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + for (; endLength < 4;) { + t1 += "="; + buffer._contents = t1; + ++endLength; + } + } + t1 = buffer._contents; + return B.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1); + } + $length = end - start; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length); + else { + endLength = B.JSInt_methods.$mod($length, 4); + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + if (endLength > 1) + source = B.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "="); + } + return source; + } + }; + A.Base64Encoder.prototype = {}; + A.Codec.prototype = {}; + A._FusedCodec.prototype = {}; + A.Converter.prototype = {$isStreamTransformer: 1}; + A.Encoding.prototype = {}; + A.Utf8Codec.prototype = { + decode$1(codeUnits) { + type$.List_int._as(codeUnits); + return new A._Utf8Decoder(false)._convertGeneral$4(codeUnits, 0, null, true); + } + }; + A.Utf8Encoder.prototype = { + convert$1(string) { + var stringLength, end, $length, t1, encoder, endPosition, t2; + A._asString(string); + stringLength = string.length; + end = A.RangeError_checkValidRange(0, null, stringLength); + $length = end - 0; + if ($length === 0) + return new Uint8Array(0); + t1 = new Uint8Array($length * 3); + encoder = new A._Utf8Encoder(t1); + endPosition = encoder._fillBuffer$3(string, 0, end); + t2 = end - 1; + A.assertHelper(endPosition >= t2); + if (endPosition !== end) { + if (!(t2 >= 0 && t2 < stringLength)) + return A.ioore(string, t2); + A.assertHelper((string.charCodeAt(t2) & 64512) === 55296); + encoder._writeReplacementCharacter$0(); + } + return B.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex); + } + }; + A._Utf8Encoder.prototype = { + _writeReplacementCharacter$0() { + var _this = this, + t1 = _this._buffer, + t2 = _this._bufferIndex, + t3 = _this._bufferIndex = t2 + 1, + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 239; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = 191; + _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 189; + }, + _writeSurrogate$2(leadingSurrogate, nextCodeUnit) { + var rune, t1, t2, t3, t4, _this = this; + if ((nextCodeUnit & 64512) === 56320) { + rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023; + A.assertHelper(rune > 65535); + A.assertHelper(rune <= 1114111); + t1 = _this._buffer; + t2 = _this._bufferIndex; + t3 = _this._bufferIndex = t2 + 1; + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 18 | 240; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune >>> 12 & 63 | 128; + t3 = _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 6 & 63 | 128; + _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune & 63 | 128; + return true; + } else { + _this._writeReplacementCharacter$0(); + return false; + } + }, + _fillBuffer$3(str, start, end) { + var t1, t2, t3, stringIndex, codeUnit, t4, t5, _this = this; + if (start !== end) { + t1 = end - 1; + if (!(t1 >= 0 && t1 < str.length)) + return A.ioore(str, t1); + t1 = (str.charCodeAt(t1) & 64512) === 55296; + } else + t1 = false; + if (t1) + --end; + for (t1 = _this._buffer, t2 = t1.length, t3 = str.length, stringIndex = start; stringIndex < end; ++stringIndex) { + if (!(stringIndex < t3)) + return A.ioore(str, stringIndex); + codeUnit = str.charCodeAt(stringIndex); + if (codeUnit <= 127) { + t4 = _this._bufferIndex; + if (t4 >= t2) + break; + _this._bufferIndex = t4 + 1; + t1[t4] = codeUnit; + } else { + t4 = codeUnit & 64512; + if (t4 === 55296) { + if (_this._bufferIndex + 4 > t2) + break; + t4 = stringIndex + 1; + if (!(t4 < t3)) + return A.ioore(str, t4); + if (_this._writeSurrogate$2(codeUnit, str.charCodeAt(t4))) + stringIndex = t4; + } else if (t4 === 56320) { + if (_this._bufferIndex + 3 > t2) + break; + _this._writeReplacementCharacter$0(); + } else if (codeUnit <= 2047) { + t4 = _this._bufferIndex; + t5 = t4 + 1; + if (t5 >= t2) + break; + _this._bufferIndex = t5; + if (!(t4 < t2)) + return A.ioore(t1, t4); + t1[t4] = codeUnit >>> 6 | 192; + _this._bufferIndex = t5 + 1; + t1[t5] = codeUnit & 63 | 128; + } else { + A.assertHelper(codeUnit <= 65535); + t4 = _this._bufferIndex; + if (t4 + 2 >= t2) + break; + t5 = _this._bufferIndex = t4 + 1; + if (!(t4 < t2)) + return A.ioore(t1, t4); + t1[t4] = codeUnit >>> 12 | 224; + t4 = _this._bufferIndex = t5 + 1; + if (!(t5 < t2)) + return A.ioore(t1, t5); + t1[t5] = codeUnit >>> 6 & 63 | 128; + _this._bufferIndex = t4 + 1; + if (!(t4 < t2)) + return A.ioore(t1, t4); + t1[t4] = codeUnit & 63 | 128; + } + } + } + return stringIndex; + } + }; + A._Utf8Decoder.prototype = { + _convertGeneral$4(codeUnits, start, maybeEnd, single) { + var end, casted, bytes, errorOffset, t1, result, message, _this = this; + type$.List_int._as(codeUnits); + end = A.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits)); + if (start === end) + return ""; + if (codeUnits instanceof Uint8Array) { + casted = codeUnits; + bytes = casted; + errorOffset = 0; + } else { + bytes = A._Utf8Decoder__makeNativeUint8List(codeUnits, start, end); + end -= start; + errorOffset = start; + start = 0; + } + if (single && end - start >= 15) { + t1 = _this.allowMalformed; + result = A._Utf8Decoder__convertInterceptedUint8List(t1, bytes, start, end); + if (result != null) { + if (!t1) + return result; + if (result.indexOf("\ufffd") < 0) + return result; + } + } + result = _this._decodeRecursive$4(bytes, start, end, single); + t1 = _this._state; + if ((t1 & 1) !== 0) { + message = A._Utf8Decoder_errorDescription(t1); + _this._state = 0; + throw A.wrapException(A.FormatException$(message, codeUnits, errorOffset + _this._charOrIndex)); + } + return result; + }, + _decodeRecursive$4(bytes, start, end, single) { + var mid, s1, _this = this; + if (end - start > 1000) { + mid = B.JSInt_methods._tdivFast$1(start + end, 2); + s1 = _this._decodeRecursive$4(bytes, start, mid, false); + if ((_this._state & 1) !== 0) + return s1; + return s1 + _this._decodeRecursive$4(bytes, mid, end, single); + } + return _this.decodeGeneral$4(bytes, start, end, single); + }, + decodeGeneral$4(bytes, start, end, single) { + var byte, t2, type, t3, i0, markEnd, i1, m, _this = this, + _s256_ = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE", + _s144_ = " \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA", + _65533 = 65533, + state = _this._state, + char = _this._charOrIndex, + buffer = new A.StringBuffer(""), + i = start + 1, + t1 = bytes.length; + if (!(start >= 0 && start < t1)) + return A.ioore(bytes, start); + byte = bytes[start]; + $label0$0: + for (t2 = _this.allowMalformed; true;) { + for (; true; i = i0) { + if (!(byte >= 0 && byte < 256)) + return A.ioore(_s256_, byte); + type = _s256_.charCodeAt(byte) & 31; + char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0; + t3 = state + type; + if (!(t3 >= 0 && t3 < 144)) + return A.ioore(_s144_, t3); + state = _s144_.charCodeAt(t3); + if (state === 0) { + t3 = A.Primitives_stringFromCharCode(char); + buffer._contents += t3; + if (i === end) + break $label0$0; + break; + } else if ((state & 1) !== 0) { + if (t2) + switch (state) { + case 69: + case 67: + t3 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t3; + break; + case 65: + t3 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t3; + --i; + break; + default: + t3 = A.Primitives_stringFromCharCode(_65533); + t3 = buffer._contents += t3; + buffer._contents = t3 + A.Primitives_stringFromCharCode(_65533); + break; + } + else { + _this._state = state; + _this._charOrIndex = i - 1; + return ""; + } + state = 0; + } + if (i === end) + break $label0$0; + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + } + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + if (byte < 128) { + while (true) { + if (!(i0 < end)) { + markEnd = end; + break; + } + i1 = i0 + 1; + if (!(i0 >= 0 && i0 < t1)) + return A.ioore(bytes, i0); + byte = bytes[i0]; + if (byte >= 128) { + markEnd = i1 - 1; + i0 = i1; + break; + } + i0 = i1; + } + A.assertHelper(i < markEnd); + if (markEnd - i < 20) + for (m = i; m < markEnd; ++m) { + if (!(m < t1)) + return A.ioore(bytes, m); + t3 = A.Primitives_stringFromCharCode(bytes[m]); + buffer._contents += t3; + } + else { + t3 = A.String_String$fromCharCodes(bytes, i, markEnd); + buffer._contents += t3; + } + if (markEnd === end) + break $label0$0; + i = i0; + } else + i = i0; + } + if (single && state > 32) + if (t2) { + t1 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t1; + } else { + _this._state = 77; + _this._charOrIndex = end; + return ""; + } + _this._state = state; + _this._charOrIndex = char; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A._BigIntImpl.prototype = { + $negate(_) { + var t2, t3, _this = this, + t1 = _this._used; + if (t1 === 0) + return _this; + t2 = !_this._isNegative; + t3 = _this._digits; + t1 = A._BigIntImpl__normalize(t1, t3); + return new A._BigIntImpl(t1 === 0 ? false : t2, t3, t1); + }, + _dlShift$1(n) { + var resultUsed, digits, resultDigits, i, t1, t2, t3, + used = this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + n; + digits = this._digits; + resultDigits = new Uint16Array(resultUsed); + for (i = used - 1, t1 = digits.length; i >= 0; --i) { + t2 = i + n; + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 >= 0 && t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t1 = this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _drShift$1(n) { + var resultUsed, digits, resultDigits, t1, i, t2, t3, result, _this = this, + used = _this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used - n; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = digits.length, i = n; i < used; ++i) { + t2 = i - n; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t2 = _this._isNegative; + t3 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t3 === 0 ? false : t2, resultDigits, t3); + if (t2) + for (i = 0; i < n; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + return result; + }, + $shl(_, shiftAmount) { + var t1, digitShift, resultUsed, resultDigits, t2, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + if (B.JSInt_methods.$mod(shiftAmount, 16) === 0) + return _this._dlShift$1(digitShift); + resultUsed = t1 + digitShift + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__lsh(_this._digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + $shr(_, shiftAmount) { + var t1, digitShift, bitShift, resultUsed, digits, resultDigits, t2, result, i, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + bitShift = B.JSInt_methods.$mod(shiftAmount, 16); + if (bitShift === 0) + return _this._drShift$1(digitShift); + resultUsed = t1 - digitShift; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__rsh(digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + if (t1) { + t1 = digits.length; + if (!(digitShift >= 0 && digitShift < t1)) + return A.ioore(digits, digitShift); + if ((digits[digitShift] & B.JSInt_methods.$shl(1, bitShift) - 1) >>> 0 !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + for (i = 0; i < digitShift; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + } + return result; + }, + compareTo$1(_, other) { + var t1, result; + type$._BigIntImpl._as(other); + t1 = this._isNegative; + if (t1 === other._isNegative) { + result = A._BigIntImpl__compareDigits(this._digits, this._used, other._digits, other._used); + return t1 ? 0 - result : result; + } + return t1 ? -1 : 1; + }, + _absAddSetSign$2(other, isNegative) { + var resultUsed, resultDigits, t1, _this = this, + used = _this._used, + otherUsed = other._used; + if (used < otherUsed) + return other._absAddSetSign$2(_this, isNegative); + if (used === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (otherUsed === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultUsed = used + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__absAdd(_this._digits, used, other._digits, otherUsed, resultDigits); + t1 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + _absSubSetSign$2(other, isNegative) { + var resultDigits, _this = this, + t1 = _this._digits, + t2 = _this._used, + t3 = other._digits, + t4 = other._used; + A.assertHelper(A._BigIntImpl__compareDigits(t1, t2, t3, t4) >= 0); + if (t2 === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (t4 === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultDigits = new Uint16Array(t2); + A._BigIntImpl__absSub(t1, t2, t3, t4, resultDigits); + t1 = A._BigIntImpl__normalize(t2, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + $add(_, other) { + var t2, isNegative, _this = this, + t1 = _this._used; + if (t1 === 0) + return other; + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative === other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $sub(_, other) { + var t2, isNegative, _this = this, + t1 = _this._used; + if (t1 === 0) + return other.$negate(0); + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative !== other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $mul(_, other) { + var resultUsed, digits, otherDigits, resultDigits, t1, i, t2, + used = this._used, + otherUsed = other._used; + if (used === 0 || otherUsed === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + otherUsed; + digits = this._digits; + otherDigits = other._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = otherDigits.length, i = 0; i < otherUsed;) { + if (!(i < t1)) + return A.ioore(otherDigits, i); + A._BigIntImpl__mulAdd(otherDigits[i], digits, 0, resultDigits, i, used); + ++i; + } + t1 = this._isNegative !== other._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _div$1(other) { + var lastQuo_used, quo_digits, quo, + t1 = other._used; + A.assertHelper(t1 > 0); + if (this._used < t1) + return $.$get$_BigIntImpl_zero(); + this._divRem$1(other); + lastQuo_used = $._BigIntImpl____lastQuoRemUsed._readField$0() - $._BigIntImpl____lastRemUsed._readField$0(); + quo_digits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastQuoRemUsed._readField$0(), lastQuo_used); + t1 = A._BigIntImpl__normalize(lastQuo_used, quo_digits); + quo = new A._BigIntImpl(false, quo_digits, t1); + return this._isNegative !== other._isNegative && t1 > 0 ? quo.$negate(0) : quo; + }, + _rem$1(other) { + var remDigits, rem, _this = this, + t1 = other._used; + A.assertHelper(t1 > 0); + if (_this._used < t1) + return _this; + _this._divRem$1(other); + remDigits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), 0, $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastRemUsed._readField$0()); + t1 = A._BigIntImpl__normalize($._BigIntImpl____lastRemUsed._readField$0(), remDigits); + rem = new A._BigIntImpl(false, remDigits, t1); + if ($._BigIntImpl____lastRem_nsh._readField$0() > 0) + rem = rem.$shr(0, $._BigIntImpl____lastRem_nsh._readField$0()); + return _this._isNegative && rem._used > 0 ? rem.$negate(0) : rem; + }, + _divRem$1(other) { + var yUsed, yDigits, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, t2, nyDigits, i, estimatedQuotientDigit, _this = this, + resultUsed = _this._used; + if (resultUsed === $._BigIntImpl__lastDividendUsed && other._used === $._BigIntImpl__lastDivisorUsed && _this._digits === $._BigIntImpl__lastDividendDigits && other._digits === $._BigIntImpl__lastDivisorDigits) + return; + yUsed = other._used; + A.assertHelper(resultUsed >= yUsed); + yDigits = other._digits; + t1 = yUsed - 1; + if (!(t1 >= 0 && t1 < yDigits.length)) + return A.ioore(yDigits, t1); + nsh = 16 - B.JSInt_methods.get$bitLength(yDigits[t1]); + if (nsh > 0) { + yDigits0 = new Uint16Array(yUsed + 5); + yUsed0 = A._BigIntImpl__lShiftDigits(yDigits, yUsed, nsh, yDigits0); + resultDigits = new Uint16Array(resultUsed + 5); + resultUsed0 = A._BigIntImpl__lShiftDigits(_this._digits, resultUsed, nsh, resultDigits); + } else { + resultDigits = A._BigIntImpl__cloneDigits(_this._digits, 0, resultUsed, resultUsed + 2); + yUsed0 = yUsed; + yDigits0 = yDigits; + resultUsed0 = resultUsed; + } + t1 = yUsed0 - 1; + if (!(t1 >= 0 && t1 < yDigits0.length)) + return A.ioore(yDigits0, t1); + topDigitDivisor = yDigits0[t1]; + j = resultUsed0 - yUsed0; + tmpDigits = new Uint16Array(resultUsed0); + tmpUsed = A._BigIntImpl__dlShiftDigits(yDigits0, yUsed0, j, tmpDigits); + resultUsed1 = resultUsed0 + 1; + t1 = resultDigits.length; + if (A._BigIntImpl__compareDigits(resultDigits, resultUsed0, tmpDigits, tmpUsed) >= 0) { + if (!(resultUsed0 >= 0 && resultUsed0 < t1)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 1; + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } else { + if (!(resultUsed0 >= 0 && resultUsed0 < t1)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 0; + } + t2 = yUsed0 + 2; + nyDigits = new Uint16Array(t2); + if (!(yUsed0 >= 0 && yUsed0 < t2)) + return A.ioore(nyDigits, yUsed0); + nyDigits[yUsed0] = 1; + A._BigIntImpl__absSub(nyDigits, yUsed0 + 1, yDigits0, yUsed0, nyDigits); + i = resultUsed0 - 1; + for (; j > 0;) { + estimatedQuotientDigit = A._BigIntImpl__estimateQuotientDigit(topDigitDivisor, resultDigits, i); + --j; + A._BigIntImpl__mulAdd(estimatedQuotientDigit, nyDigits, 0, resultDigits, j, yUsed0); + if (!(i >= 0 && i < t1)) + return A.ioore(resultDigits, i); + if (resultDigits[i] < estimatedQuotientDigit) { + tmpUsed = A._BigIntImpl__dlShiftDigits(nyDigits, yUsed0, j, tmpDigits); + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + for (; --estimatedQuotientDigit, resultDigits[i] < estimatedQuotientDigit;) + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } + --i; + } + $._BigIntImpl__lastDividendDigits = _this._digits; + $._BigIntImpl__lastDividendUsed = resultUsed; + $._BigIntImpl__lastDivisorDigits = yDigits; + $._BigIntImpl__lastDivisorUsed = yUsed; + $._BigIntImpl____lastQuoRemDigits._value = resultDigits; + $._BigIntImpl____lastQuoRemUsed._value = resultUsed1; + $._BigIntImpl____lastRemUsed._value = yUsed0; + $._BigIntImpl____lastRem_nsh._value = nsh; + }, + get$hashCode(_) { + var hash, t2, t3, i, + combine = new A._BigIntImpl_hashCode_combine(), + t1 = this._used; + if (t1 === 0) + return 6707; + hash = this._isNegative ? 83585 : 429689; + for (t2 = this._digits, t3 = t2.length, i = 0; i < t1; ++i) { + if (!(i < t3)) + return A.ioore(t2, i); + hash = combine.call$2(hash, t2[i]); + } + return new A._BigIntImpl_hashCode_finish().call$1(hash); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A._BigIntImpl && this.compareTo$1(0, other) === 0; + }, + toString$0(_) { + var decimalDigitChunks, rest, t2, digits4, t3, _this = this, + t1 = _this._used; + if (t1 === 0) + return "0"; + if (t1 === 1) { + if (_this._isNegative) { + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(-t1[0]); + } + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(t1[0]); + } + decimalDigitChunks = A._setArrayType([], type$.JSArray_String); + t1 = _this._isNegative; + rest = t1 ? _this.$negate(0) : _this; + for (; rest._used > 1;) { + t2 = $.$get$_BigIntImpl__bigInt10000(); + if (t2._used === 0) + A.throwExpression(B.C_IntegerDivisionByZeroException); + digits4 = rest._rem$1(t2).toString$0(0); + B.JSArray_methods.add$1(decimalDigitChunks, digits4); + t3 = digits4.length; + if (t3 === 1) + B.JSArray_methods.add$1(decimalDigitChunks, "000"); + if (t3 === 2) + B.JSArray_methods.add$1(decimalDigitChunks, "00"); + if (t3 === 3) + B.JSArray_methods.add$1(decimalDigitChunks, "0"); + rest = rest._div$1(t2); + } + t2 = rest._digits; + if (0 >= t2.length) + return A.ioore(t2, 0); + B.JSArray_methods.add$1(decimalDigitChunks, B.JSInt_methods.toString$0(t2[0])); + if (t1) + B.JSArray_methods.add$1(decimalDigitChunks, "-"); + return new A.ReversedListIterable(decimalDigitChunks, type$.ReversedListIterable_String).join$0(0); + }, + $isBigInt: 1, + $isComparable: 1 + }; + A._BigIntImpl_hashCode_combine.prototype = { + call$2(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + $signature: 4 + }; + A._BigIntImpl_hashCode_finish.prototype = { + call$1(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + $signature: 13 + }; + A._FinalizationRegistryWrapper.prototype = { + detach$1(detachToken) { + var t1 = this._registry; + if (t1 != null) + t1.unregister(detachToken); + } + }; + A.NoSuchMethodError_toString_closure.prototype = { + call$2(key, value) { + var t1, t2, t3; + type$.Symbol._as(key); + t1 = this.sb; + t2 = this._box_0; + t3 = t1._contents += t2.comma; + t3 += key.__internal$_name; + t1._contents = t3; + t1._contents = t3 + ": "; + t3 = A.Error_safeToString(value); + t1._contents += t3; + t2.comma = ", "; + }, + $signature: 79 + }; + A.DateTime.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.DateTime && this._core$_value === other._core$_value && this.isUtc === other.isUtc; + }, + compareTo$1(_, other) { + return B.JSInt_methods.compareTo$1(this._core$_value, type$.DateTime._as(other)._core$_value); + }, + get$hashCode(_) { + var t1 = this._core$_value; + return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; + }, + toUtc$0() { + if (this.isUtc) + return this; + return A.DateTime$_withValue(this._core$_value, true); + }, + toString$0(_) { + var _this = this, + y = A.DateTime__fourDigits(A.Primitives_getYear(_this)), + m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)), + d = A.DateTime__twoDigits(A.Primitives_getDay(_this)), + h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), + min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), + sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = y + "-" + m; + if (_this.isUtc) + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z"; + else + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; + }, + $isComparable: 1 + }; + A.Duration.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Duration && this._duration === other._duration; + }, + get$hashCode(_) { + return B.JSInt_methods.get$hashCode(this._duration); + }, + compareTo$1(_, other) { + return B.JSInt_methods.compareTo$1(this._duration, type$.Duration._as(other)._duration); + }, + toString$0(_) { + var sign, minutes, minutesPadding, seconds, secondsPadding, + microseconds = this._duration, + hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000), + microseconds0 = microseconds % 3600000000; + if (microseconds < 0) { + hours = 0 - hours; + microseconds = 0 - microseconds0; + sign = "-"; + } else { + microseconds = microseconds0; + sign = ""; + } + minutes = B.JSInt_methods._tdivFast$1(microseconds, 60000000); + microseconds %= 60000000; + minutesPadding = minutes < 10 ? "0" : ""; + seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000); + secondsPadding = seconds < 10 ? "0" : ""; + return sign + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0"); + }, + $isComparable: 1 + }; + A._Enum.prototype = { + toString$0(_) { + return this._enumToString$0(); + }, + $isEnum: 1 + }; + A.Error.prototype = { + get$stackTrace() { + return A.Primitives_extractStackTrace(this); + } + }; + A.AssertionError.prototype = { + toString$0(_) { + var t1 = this.message; + if (t1 != null) + return "Assertion failed: " + A.Error_safeToString(t1); + return "Assertion failed"; + } + }; + A.TypeError.prototype = {}; + A.ArgumentError.prototype = { + get$_errorName() { + return "Invalid argument" + (!this._hasValue ? "(s)" : ""); + }, + get$_errorExplanation() { + return ""; + }, + toString$0(_) { + var _this = this, + $name = _this.name, + nameString = $name == null ? "" : " (" + $name + ")", + message = _this.message, + messageString = message == null ? "" : ": " + A.S(message), + prefix = _this.get$_errorName() + nameString + messageString; + if (!_this._hasValue) + return prefix; + return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue()); + }, + get$invalidValue() { + return this.invalidValue; + } + }; + A.RangeError.prototype = { + get$invalidValue() { + return A._asNumQ(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + var start, end, explanation; + A.assertHelper(this._hasValue); + start = this.start; + end = this.end; + if (start == null) + explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; + else if (end == null) + explanation = ": Not greater than or equal to " + A.S(start); + else if (end > start) + explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); + else + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); + return explanation; + } + }; + A.IndexError.prototype = { + get$invalidValue() { + return A._asInt(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + A.assertHelper(this._hasValue); + if (A._asInt(this.invalidValue) < 0) + return ": index must not be negative"; + var t1 = this.length; + if (t1 === 0) + return ": no indices are valid"; + return ": index should be less than " + t1; + }, + get$length(receiver) { + return this.length; + } + }; + A.NoSuchMethodError.prototype = { + toString$0(_) { + var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {}, + sb = new A.StringBuffer(""); + _box_0.comma = ""; + $arguments = _this._core$_arguments; + for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { + argument = $arguments[_i]; + sb._contents = t2 + t3; + t2 = A.Error_safeToString(argument); + t2 = sb._contents += t2; + _box_0.comma = ", "; + } + _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); + receiverText = A.Error_safeToString(_this._core$_receiver); + actualParameters = sb.toString$0(0); + return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + } + }; + A.UnsupportedError.prototype = { + toString$0(_) { + return "Unsupported operation: " + this.message; + } + }; + A.UnimplementedError.prototype = { + toString$0(_) { + return "UnimplementedError: " + this.message; + } + }; + A.StateError.prototype = { + toString$0(_) { + return "Bad state: " + this.message; + } + }; + A.ConcurrentModificationError.prototype = { + toString$0(_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + "."; + } + }; + A.OutOfMemoryError.prototype = { + toString$0(_) { + return "Out of Memory"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A.StackOverflowError.prototype = { + toString$0(_) { + return "Stack Overflow"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A._Exception.prototype = { + toString$0(_) { + return "Exception: " + this.message; + }, + $isException: 1 + }; + A.FormatException.prototype = { + toString$0(_) { + var t1, lineEnd, lineNum, lineStart, previousCharWasCR, i, char, end, start, prefix, postfix, + message = this.message, + report = "" !== message ? "FormatException: " + message : "FormatException", + offset = this.offset, + source = this.source; + if (typeof source == "string") { + if (offset != null) + t1 = offset < 0 || offset > source.length; + else + t1 = false; + if (t1) + offset = null; + if (offset == null) { + if (source.length > 78) + source = B.JSString_methods.substring$2(source, 0, 75) + "..."; + return report + "\n" + source; + } + for (lineEnd = source.length, lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { + if (!(i < lineEnd)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10) { + if (lineStart !== i || !previousCharWasCR) + ++lineNum; + lineStart = i + 1; + previousCharWasCR = false; + } else if (char === 13) { + ++lineNum; + lineStart = i + 1; + previousCharWasCR = true; + } + } + report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); + for (i = offset; i < lineEnd; ++i) { + if (!(i >= 0)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10 || char === 13) { + lineEnd = i; + break; + } + } + if (lineEnd - lineStart > 78) + if (offset - lineStart < 75) { + end = lineStart + 75; + start = lineStart; + prefix = ""; + postfix = "..."; + } else { + if (lineEnd - offset < 75) { + start = lineEnd - 75; + end = lineEnd; + postfix = ""; + } else { + start = offset - 36; + end = offset + 36; + postfix = "..."; + } + prefix = "..."; + } + else { + end = lineEnd; + start = lineStart; + prefix = ""; + postfix = ""; + } + return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; + } else + return offset != null ? report + (" (at offset " + A.S(offset) + ")") : report; + }, + $isException: 1 + }; + A.IntegerDivisionByZeroException.prototype = { + get$stackTrace() { + return null; + }, + toString$0(_) { + return "IntegerDivisionByZeroException"; + }, + $isError: 1, + $isException: 1 + }; + A.Iterable.prototype = { + cast$1$0(_, $R) { + return A.CastIterable_CastIterable(this, A._instanceType(this)._eval$1("Iterable.E"), $R); + }, + map$1$1(_, toElement, $T) { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); + }, + toList$1$growable(_, growable) { + return A.List_List$of(this, growable, A._instanceType(this)._eval$1("Iterable.E")); + }, + toList$0(_) { + return this.toList$1$growable(0, true); + }, + get$length(_) { + var it, count; + A.assertHelper(!type$.EfficientLengthIterable_dynamic._is(this)); + it = this.get$iterator(this); + for (count = 0; it.moveNext$0();) + ++count; + return count; + }, + get$isEmpty(_) { + return !this.get$iterator(this).moveNext$0(); + }, + take$1(_, count) { + return A.TakeIterable_TakeIterable(this, count, A._instanceType(this)._eval$1("Iterable.E")); + }, + skip$1(_, count) { + return A.SkipIterable_SkipIterable(this, count, A._instanceType(this)._eval$1("Iterable.E")); + }, + skipWhile$1(_, test) { + var t1 = A._instanceType(this); + return new A.SkipWhileIterable(this, t1._eval$1("bool(Iterable.E)")._as(test), t1._eval$1("SkipWhileIterable")); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(); + }, + get$last(_) { + var result, + it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + do + result = it.get$current(); + while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount; + A.RangeError_checkNotNegative(index, "index"); + iterator = this.get$iterator(this); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) + return iterator.get$current(); + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index")); + }, + toString$0(_) { + return A.Iterable_iterableToShortString(this, "(", ")"); + } + }; + A.MapEntry.prototype = { + toString$0(_) { + return "MapEntry(" + A.S(this.key) + ": " + A.S(this.value) + ")"; + } + }; + A.Null.prototype = { + get$hashCode(_) { + return A.Object.prototype.get$hashCode.call(this, 0); + }, + toString$0(_) { + return "null"; + } + }; + A.Object.prototype = {$isObject: 1, + $eq(_, other) { + return this === other; + }, + get$hashCode(_) { + return A.Primitives_objectHashCode(this); + }, + toString$0(_) { + return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; + }, + noSuchMethod$1(_, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, type$.Invocation._as(invocation))); + }, + get$runtimeType(_) { + return A.getRuntimeTypeOfDartObject(this); + }, + toString() { + return this.toString$0(this); + } + }; + A._StringStackTrace.prototype = { + toString$0(_) { + return this._stackTrace; + }, + $isStackTrace: 1 + }; + A.StringBuffer.prototype = { + get$length(_) { + return this._contents.length; + }, + toString$0(_) { + var t1 = this._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + $isStringSink: 1 + }; + A.Uri__parseIPv4Address_error.prototype = { + call$2(msg, position) { + throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); + }, + $signature: 43 + }; + A.Uri_parseIPv6Address_error.prototype = { + call$2(msg, position) { + throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); + }, + $signature: 49 + }; + A.Uri_parseIPv6Address_parseHex.prototype = { + call$2(start, end) { + var value; + if (end - start > 4) + this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start); + value = A.int_parse(B.JSString_methods.substring$2(this.host, start, end), 16); + if (value < 0 || value > 65535) + this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); + return value; + }, + $signature: 4 + }; + A._Uri.prototype = { + get$_text() { + var t1, t2, t3, t4, _this = this, + value = _this.___Uri__text_FI; + if (value === $) { + t1 = _this.scheme; + t2 = t1.length !== 0 ? "" + t1 + ":" : ""; + t3 = _this._host; + t4 = t3 == null; + if (!t4 || t1 === "file") { + t1 = t2 + "//"; + t2 = _this._userInfo; + if (t2.length !== 0) + t1 = t1 + t2 + "@"; + if (!t4) + t1 += t3; + t2 = _this._port; + if (t2 != null) + t1 = t1 + ":" + A.S(t2); + } else + t1 = t2; + t1 += _this.path; + t2 = _this._query; + if (t2 != null) + t1 = t1 + "?" + t2; + t2 = _this._fragment; + if (t2 != null) + t1 = t1 + "#" + t2; + value !== $ && A.throwLateFieldADI("_text"); + value = _this.___Uri__text_FI = t1.charCodeAt(0) == 0 ? t1 : t1; + } + return value; + }, + get$pathSegments() { + var pathToSplit, t1, result, _this = this, + value = _this.___Uri_pathSegments_FI; + if (value === $) { + pathToSplit = _this.path; + t1 = pathToSplit.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(pathToSplit, 0); + t1 = pathToSplit.charCodeAt(0) === 47; + } else + t1 = false; + if (t1) + pathToSplit = B.JSString_methods.substring$1(pathToSplit, 1); + result = pathToSplit.length === 0 ? B.List_empty2 : A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(pathToSplit.split("/"), type$.JSArray_String), type$.dynamic_Function_String._as(A.core_Uri_decodeComponent$closure()), type$.MappedListIterable_String_dynamic), type$.String); + _this.___Uri_pathSegments_FI !== $ && A.throwLateFieldADI("pathSegments"); + _this.set$___Uri_pathSegments_FI(result); + value = result; + } + return value; + }, + get$hashCode(_) { + var result, _this = this, + value = _this.___Uri_hashCode_FI; + if (value === $) { + result = B.JSString_methods.get$hashCode(_this.get$_text()); + _this.___Uri_hashCode_FI !== $ && A.throwLateFieldADI("hashCode"); + _this.___Uri_hashCode_FI = result; + value = result; + } + return value; + }, + get$userInfo() { + return this._userInfo; + }, + get$host() { + var host = this._host; + if (host == null) + return ""; + if (B.JSString_methods.startsWith$1(host, "[")) + return B.JSString_methods.substring$2(host, 1, host.length - 1); + return host; + }, + get$port() { + var t1 = this._port; + return t1 == null ? A._Uri__defaultPort(this.scheme) : t1; + }, + get$query() { + var t1 = this._query; + return t1 == null ? "" : t1; + }, + get$fragment() { + var t1 = this._fragment; + return t1 == null ? "" : t1; + }, + isScheme$1(scheme) { + var thisScheme = this.scheme; + if (scheme.length !== thisScheme.length) + return false; + return A._caseInsensitiveCompareStart(scheme, thisScheme, 0) >= 0; + }, + replace$1$scheme(scheme) { + var isFile, userInfo, port, host, currentPath, t1, path, _this = this; + scheme = A._Uri__makeScheme(scheme, 0, scheme.length); + isFile = scheme === "file"; + userInfo = _this._userInfo; + port = _this._port; + if (scheme !== _this.scheme) + port = A._Uri__makePort(port, scheme); + host = _this._host; + if (!(host != null)) + host = userInfo.length !== 0 || port != null || isFile ? "" : null; + currentPath = _this.path; + if (!isFile) + t1 = host != null && currentPath.length !== 0; + else + t1 = true; + if (t1 && !B.JSString_methods.startsWith$1(currentPath, "/")) + currentPath = "/" + currentPath; + path = currentPath; + return A._Uri$_internal(scheme, userInfo, host, port, path, _this._query, _this._fragment); + }, + get$isAbsolute() { + if (this.scheme !== "") { + var t1 = this._fragment; + t1 = (t1 == null ? "" : t1) === ""; + } else + t1 = false; + return t1; + }, + _mergePaths$2(base, reference) { + var backCount, refStart, baseEnd, t1, newEnd, delta, t2, t3; + for (backCount = 0, refStart = 0; B.JSString_methods.startsWith$2(reference, "../", refStart);) { + refStart += 3; + ++backCount; + } + baseEnd = B.JSString_methods.lastIndexOf$1(base, "/"); + t1 = base.length; + while (true) { + if (!(baseEnd > 0 && backCount > 0)) + break; + newEnd = B.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1); + if (newEnd < 0) + break; + delta = baseEnd - newEnd; + t2 = delta !== 2; + if (!t2 || delta === 3) { + t3 = newEnd + 1; + if (!(t3 < t1)) + return A.ioore(base, t3); + if (base.charCodeAt(t3) === 46) + if (t2) { + t2 = newEnd + 2; + if (!(t2 < t1)) + return A.ioore(base, t2); + t2 = base.charCodeAt(t2) === 46; + } else + t2 = true; + else + t2 = false; + } else + t2 = false; + if (t2) + break; + --backCount; + baseEnd = newEnd; + } + return B.JSString_methods.replaceRange$3(base, baseEnd + 1, null, B.JSString_methods.substring$1(reference, refStart - 3 * backCount)); + }, + resolve$1(reference) { + return this.resolveUri$1(A.Uri_parse(reference)); + }, + resolveUri$1(reference) { + var targetScheme, t1, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, packageNameEnd, packageName, mergedPath, fragment, _this = this; + if (reference.get$scheme().length !== 0) + return reference; + else { + targetScheme = _this.scheme; + if (reference.get$hasAuthority()) { + t1 = reference.replace$1$scheme(targetScheme); + return t1; + } else { + targetUserInfo = _this._userInfo; + targetHost = _this._host; + targetPort = _this._port; + targetPath = _this.path; + if (reference.get$hasEmptyPath()) + targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query; + else { + packageNameEnd = A._Uri__packageNameEnd(_this, targetPath); + if (packageNameEnd > 0) { + A.assertHelper(targetScheme === "package"); + A.assertHelper(targetHost == null); + A.assertHelper(targetPath.length !== 0); + packageName = B.JSString_methods.substring$2(targetPath, 0, packageNameEnd); + targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path()) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path())); + } else if (reference.get$hasAbsolutePath()) + targetPath = A._Uri__removeDotSegments(reference.get$path()); + else if (targetPath.length === 0) + if (targetHost == null) + targetPath = targetScheme.length === 0 ? reference.get$path() : A._Uri__removeDotSegments(reference.get$path()); + else + targetPath = A._Uri__removeDotSegments("/" + reference.get$path()); + else { + mergedPath = _this._mergePaths$2(targetPath, reference.get$path()); + t1 = targetScheme.length === 0; + if (!t1 || targetHost != null || B.JSString_methods.startsWith$1(targetPath, "/")) + targetPath = A._Uri__removeDotSegments(mergedPath); + else + targetPath = A._Uri__normalizeRelativePath(mergedPath, !t1 || targetHost != null); + } + targetQuery = reference.get$hasQuery() ? reference.get$query() : null; + } + } + } + fragment = reference.get$hasFragment() ? reference.get$fragment() : null; + return A._Uri$_internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, fragment); + }, + get$hasAuthority() { + return this._host != null; + }, + get$hasQuery() { + return this._query != null; + }, + get$hasFragment() { + return this._fragment != null; + }, + get$hasEmptyPath() { + return this.path.length === 0; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$1(this.path, "/"); + }, + toFilePath$0() { + var pathSegments, _this = this, + t1 = _this.scheme; + if (t1 !== "" && t1 !== "file") + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + t1 + " URI")); + t1 = _this._query; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$(string$.Cannotefq)); + t1 = _this._fragment; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$(string$.Cannoteff)); + if (_this._host != null && _this.get$host() !== "") + A.throwExpression(A.UnsupportedError$(string$.Cannoten)); + pathSegments = _this.get$pathSegments(); + A._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false); + t1 = A.StringBuffer__writeAll(B.JSString_methods.startsWith$1(_this.path, "/") ? "" + "/" : "", pathSegments, "/"); + t1 = t1.charCodeAt(0) == 0 ? t1 : t1; + return t1; + }, + toString$0(_) { + return this.get$_text(); + }, + $eq(_, other) { + var t1, t2, _this = this; + if (other == null) + return false; + if (_this === other) + return true; + if (type$.Uri._is(other)) + if (_this.scheme === other.get$scheme()) + if (_this._host != null === other.get$hasAuthority()) + if (_this._userInfo === other.get$userInfo()) + if (_this.get$host() === other.get$host()) + if (_this.get$port() === other.get$port()) + if (_this.path === other.get$path()) { + t1 = _this._query; + t2 = t1 == null; + if (!t2 === other.get$hasQuery()) { + if (t2) + t1 = ""; + if (t1 === other.get$query()) { + t1 = _this._fragment; + t2 = t1 == null; + if (!t2 === other.get$hasFragment()) { + if (t2) + t1 = ""; + t1 = t1 === other.get$fragment(); + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + } else + t1 = false; + else + t1 = false; + else + t1 = false; + else + t1 = false; + else + t1 = false; + else + t1 = false; + else + t1 = false; + return t1; + }, + set$___Uri_pathSegments_FI(___Uri_pathSegments_FI) { + this.___Uri_pathSegments_FI = type$.List_String._as(___Uri_pathSegments_FI); + }, + $isUri: 1, + get$scheme() { + return this.scheme; + }, + get$path() { + return this.path; + } + }; + A._Uri__makePath_closure.prototype = { + call$1(s) { + return A._Uri__uriEncode(B.List_M2I0, A._asString(s), B.C_Utf8Codec, false); + }, + $signature: 25 + }; + A.UriData.prototype = { + get$uri() { + var t2, queryIndex, end, query, _this = this, _null = null, + t1 = _this._uriCache; + if (t1 == null) { + t1 = _this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = _this._text; + t1 = t1[0] + 1; + queryIndex = B.JSString_methods.indexOf$2(t2, "?", t1); + end = t2.length; + if (queryIndex >= 0) { + query = A._Uri__normalizeOrSubstring(t2, queryIndex + 1, end, B.List_42A, false, false); + end = queryIndex; + } else + query = _null; + t1 = _this._uriCache = new A._DataUri("data", "", _null, _null, A._Uri__normalizeOrSubstring(t2, t1, end, B.List_M2I, false, false), query, _null); + } + return t1; + }, + toString$0(_) { + var t2, + t1 = this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = this._text; + return t1[0] === -1 ? "data:" + t2 : t2; + } + }; + A._createTables_build.prototype = { + call$2(state, defaultTransition) { + var t1 = this.tables; + if (!(state < t1.length)) + return A.ioore(t1, state); + t1 = t1[state]; + B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); + return t1; + }, + $signature: 75 + }; + A._createTables_setChars.prototype = { + call$3(target, chars, transition) { + var t1, i, t2; + for (t1 = chars.length, i = 0; i < t1; ++i) { + t2 = chars.charCodeAt(i) ^ 96; + if (!(t2 < 96)) + return A.ioore(target, t2); + target[t2] = transition; + } + }, + $signature: 26 + }; + A._createTables_setRange.prototype = { + call$3(target, range, transition) { + var i, n, + t1 = range.length; + if (0 >= t1) + return A.ioore(range, 0); + i = range.charCodeAt(0); + if (1 >= t1) + return A.ioore(range, 1); + n = range.charCodeAt(1); + for (; i <= n; ++i) { + t1 = (i ^ 96) >>> 0; + if (!(t1 < 96)) + return A.ioore(target, t1); + target[t1] = transition; + } + }, + $signature: 26 + }; + A._SimpleUri.prototype = { + get$hasAuthority() { + return this._hostStart > 0; + }, + get$hasPort() { + return this._hostStart > 0 && this._portStart + 1 < this._pathStart; + }, + get$hasQuery() { + return this._queryStart < this._fragmentStart; + }, + get$hasFragment() { + return this._fragmentStart < this._uri.length; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$2(this._uri, "/", this._pathStart); + }, + get$hasEmptyPath() { + return this._pathStart === this._queryStart; + }, + get$isAbsolute() { + return this._schemeEnd > 0 && this._fragmentStart >= this._uri.length; + }, + get$scheme() { + var t1 = this._schemeCache; + return t1 == null ? this._schemeCache = this._computeScheme$0() : t1; + }, + _computeScheme$0() { + var t2, _this = this, + t1 = _this._schemeEnd; + if (t1 <= 0) + return ""; + t2 = t1 === 4; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return "http"; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return "https"; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "file")) + return "file"; + if (t1 === 7 && B.JSString_methods.startsWith$1(_this._uri, "package")) + return "package"; + return B.JSString_methods.substring$2(_this._uri, 0, t1); + }, + get$userInfo() { + var t1 = this._hostStart, + t2 = this._schemeEnd + 3; + return t1 > t2 ? B.JSString_methods.substring$2(this._uri, t2, t1 - 1) : ""; + }, + get$host() { + var t1 = this._hostStart; + return t1 > 0 ? B.JSString_methods.substring$2(this._uri, t1, this._portStart) : ""; + }, + get$port() { + var t1, _this = this; + if (_this.get$hasPort()) + return A.int_parse(B.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null); + t1 = _this._schemeEnd; + if (t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return 80; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return 443; + return 0; + }, + get$path() { + return B.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart); + }, + get$query() { + var t1 = this._queryStart, + t2 = this._fragmentStart; + return t1 < t2 ? B.JSString_methods.substring$2(this._uri, t1 + 1, t2) : ""; + }, + get$fragment() { + var t1 = this._fragmentStart, + t2 = this._uri; + return t1 < t2.length ? B.JSString_methods.substring$1(t2, t1 + 1) : ""; + }, + _isPort$1(port) { + var portDigitStart = this._portStart + 1; + return portDigitStart + port.length === this._pathStart && B.JSString_methods.startsWith$2(this._uri, port, portDigitStart); + }, + removeFragment$0() { + var _this = this, + t1 = _this._fragmentStart, + t2 = _this._uri; + if (t1 >= t2.length) + return _this; + return new A._SimpleUri(B.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache); + }, + replace$1$scheme(scheme) { + var schemeChanged, isFile, t1, userInfo, port, host, t2, path, t3, query, fragment, _this = this, _null = null; + scheme = A._Uri__makeScheme(scheme, 0, scheme.length); + schemeChanged = !(_this._schemeEnd === scheme.length && B.JSString_methods.startsWith$1(_this._uri, scheme)); + isFile = scheme === "file"; + t1 = _this._hostStart; + userInfo = t1 > 0 ? B.JSString_methods.substring$2(_this._uri, _this._schemeEnd + 3, t1) : ""; + port = _this.get$hasPort() ? _this.get$port() : _null; + if (schemeChanged) + port = A._Uri__makePort(port, scheme); + t1 = _this._hostStart; + if (t1 > 0) + host = B.JSString_methods.substring$2(_this._uri, t1, _this._portStart); + else + host = userInfo.length !== 0 || port != null || isFile ? "" : _null; + t1 = _this._uri; + t2 = _this._queryStart; + path = B.JSString_methods.substring$2(t1, _this._pathStart, t2); + if (!isFile) + t3 = host != null && path.length !== 0; + else + t3 = true; + if (t3 && !B.JSString_methods.startsWith$1(path, "/")) + path = "/" + path; + t3 = _this._fragmentStart; + query = t2 < t3 ? B.JSString_methods.substring$2(t1, t2 + 1, t3) : _null; + t2 = _this._fragmentStart; + fragment = t2 < t1.length ? B.JSString_methods.substring$1(t1, t2 + 1) : _null; + return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragment); + }, + resolve$1(reference) { + return this.resolveUri$1(A.Uri_parse(reference)); + }, + resolveUri$1(reference) { + if (reference instanceof A._SimpleUri) + return this._simpleMerge$2(this, reference); + return this._toNonSimple$0().resolveUri$1(reference); + }, + _simpleMerge$2(base, ref) { + var t2, t3, t4, isSimple, delta, refStart, basePathStart, packageNameEnd, basePathStart0, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert, + t1 = ref._schemeEnd; + if (t1 > 0) + return ref; + t2 = ref._hostStart; + if (t2 > 0) { + t3 = base._schemeEnd; + if (t3 <= 0) + return ref; + t4 = t3 === 4; + if (t4 && B.JSString_methods.startsWith$1(base._uri, "file")) + isSimple = ref._pathStart !== ref._queryStart; + else if (t4 && B.JSString_methods.startsWith$1(base._uri, "http")) + isSimple = !ref._isPort$1("80"); + else + isSimple = !(t3 === 5 && B.JSString_methods.startsWith$1(base._uri, "https")) || !ref._isPort$1("443"); + if (isSimple) { + delta = t3 + 1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, delta) + B.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache); + } else + return this._toNonSimple$0().resolveUri$1(ref); + } + refStart = ref._pathStart; + t1 = ref._queryStart; + if (refStart === t1) { + t2 = ref._fragmentStart; + if (t1 < t2) { + t3 = base._queryStart; + delta = t3 - t1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache); + } + t1 = ref._uri; + if (t2 < t1.length) { + t3 = base._fragmentStart; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache); + } + return base.removeFragment$0(); + } + t2 = ref._uri; + if (B.JSString_methods.startsWith$2(t2, "/", refStart)) { + basePathStart = base._pathStart; + packageNameEnd = A._SimpleUri__packageNameEnd(this); + basePathStart0 = packageNameEnd > 0 ? packageNameEnd : basePathStart; + delta = basePathStart0 - refStart; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, basePathStart0) + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, basePathStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + } + baseStart = base._pathStart; + baseEnd = base._queryStart; + if (baseStart === baseEnd && base._hostStart > 0) { + for (; B.JSString_methods.startsWith$2(t2, "../", refStart);) + refStart += 3; + delta = baseStart - refStart + 1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + } + baseUri = base._uri; + packageNameEnd = A._SimpleUri__packageNameEnd(this); + if (packageNameEnd >= 0) + baseStart0 = packageNameEnd; + else + for (baseStart0 = baseStart; B.JSString_methods.startsWith$2(baseUri, "../", baseStart0);) + baseStart0 += 3; + backCount = 0; + while (true) { + refStart0 = refStart + 3; + if (!(refStart0 <= t1 && B.JSString_methods.startsWith$2(t2, "../", refStart))) + break; + ++backCount; + refStart = refStart0; + } + for (t3 = baseUri.length, insert = ""; baseEnd > baseStart0;) { + --baseEnd; + if (!(baseEnd >= 0 && baseEnd < t3)) + return A.ioore(baseUri, baseEnd); + if (baseUri.charCodeAt(baseEnd) === 47) { + if (backCount === 0) { + insert = "/"; + break; + } + --backCount; + insert = "/"; + } + } + if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !B.JSString_methods.startsWith$2(baseUri, "/", baseStart)) { + refStart -= backCount * 3; + insert = ""; + } + delta = baseEnd - refStart + insert.length; + return new A._SimpleUri(B.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + }, + toFilePath$0() { + var t2, _this = this, + t1 = _this._schemeEnd; + if (t1 >= 0) { + t2 = !(t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "file")); + t1 = t2; + } else + t1 = false; + if (t1) + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + _this.get$scheme() + " URI")); + t1 = _this._queryStart; + t2 = _this._uri; + if (t1 < t2.length) { + if (t1 < _this._fragmentStart) + throw A.wrapException(A.UnsupportedError$(string$.Cannotefq)); + throw A.wrapException(A.UnsupportedError$(string$.Cannoteff)); + } + if (_this._hostStart < _this._portStart) + A.throwExpression(A.UnsupportedError$(string$.Cannoten)); + t1 = B.JSString_methods.substring$2(t2, _this._pathStart, t1); + return t1; + }, + get$hashCode(_) { + var t1 = this._hashCodeCache; + return t1 == null ? this._hashCodeCache = B.JSString_methods.get$hashCode(this._uri) : t1; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return type$.Uri._is(other) && this._uri === other.toString$0(0); + }, + _toNonSimple$0() { + var _this = this, _null = null, + t1 = _this.get$scheme(), + t2 = _this.get$userInfo(), + t3 = _this._hostStart > 0 ? _this.get$host() : _null, + t4 = _this.get$hasPort() ? _this.get$port() : _null, + t5 = _this._uri, + t6 = _this._queryStart, + t7 = B.JSString_methods.substring$2(t5, _this._pathStart, t6), + t8 = _this._fragmentStart; + t6 = t6 < t8 ? _this.get$query() : _null; + return A._Uri$_internal(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null); + }, + toString$0(_) { + return this._uri; + }, + $isUri: 1 + }; + A._DataUri.prototype = {}; + A.Expando.prototype = { + $index(_, object) { + A.Expando__badExpandoKey(object); + return this._jsWeakMap.get(object); + }, + toString$0(_) { + return "Expando:null"; + } + }; + A.jsify__convert.prototype = { + call$1(o) { + var t1, convertedMap, key, convertedList; + if (A._noJsifyRequired(o)) + return o; + t1 = this._convertedObjects; + if (t1.containsKey$1(o)) + return t1.$index(0, o); + if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) { + convertedMap = {}; + t1.$indexSet(0, o, convertedMap); + for (t1 = J.get$iterator$ax(o.get$keys()); t1.moveNext$0();) { + key = t1.get$current(); + convertedMap[key] = this.call$1(o.$index(0, key)); + } + return convertedMap; + } else if (type$.Iterable_nullable_Object._is(o)) { + convertedList = []; + t1.$indexSet(0, o, convertedList); + B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic)); + return convertedList; + } else + return o; + }, + $signature: 16 + }; + A.promiseToFuture_closure.prototype = { + call$1(r) { + return this.completer.complete$1(this.T._eval$1("0/?")._as(r)); + }, + $signature: 12 + }; + A.promiseToFuture_closure0.prototype = { + call$1(e) { + if (e == null) + return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); + return this.completer.completeError$1(e); + }, + $signature: 12 + }; + A.dartify_convert.prototype = { + call$1(o) { + var t1, millisSinceEpoch, proto, t2, dartObject, originalKeys, dartKeys, i, jsKey, dartKey, l, $length; + if (A._noDartifyRequired(o)) + return o; + t1 = this._convertedObjects; + o.toString; + if (t1.containsKey$1(o)) + return t1.$index(0, o); + if (o instanceof Date) { + millisSinceEpoch = o.getTime(); + if (Math.abs(millisSinceEpoch) > 864e13) + A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisSinceEpoch, null)); + A.checkNotNullable(true, "isUtc", type$.bool); + return new A.DateTime(millisSinceEpoch, true); + } + if (o instanceof RegExp) + throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null)); + if (typeof Promise != "undefined" && o instanceof Promise) + return A.promiseToFuture(o, type$.nullable_Object); + proto = Object.getPrototypeOf(o); + if (proto === Object.prototype || proto === null) { + t2 = type$.nullable_Object; + dartObject = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2); + t1.$indexSet(0, o, dartObject); + originalKeys = Object.keys(o); + dartKeys = []; + for (t1 = J.getInterceptor$ax(originalKeys), t2 = t1.get$iterator(originalKeys); t2.moveNext$0();) + dartKeys.push(A.dartify(t2.get$current())); + for (i = 0; i < t1.get$length(originalKeys); ++i) { + jsKey = t1.$index(originalKeys, i); + if (!(i < dartKeys.length)) + return A.ioore(dartKeys, i); + dartKey = dartKeys[i]; + if (jsKey != null) + dartObject.$indexSet(0, dartKey, this.call$1(o[jsKey])); + } + return dartObject; + } + if (o instanceof Array) { + l = o; + dartObject = []; + t1.$indexSet(0, o, dartObject); + $length = A._asInt(o.length); + for (t1 = J.getInterceptor$asx(l), i = 0; i < $length; ++i) + dartObject.push(this.call$1(t1.$index(l, i))); + return dartObject; + } + return o; + }, + $signature: 16 + }; + A.NullRejectionException.prototype = { + toString$0(_) { + return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`."; + }, + $isException: 1 + }; + A._JSRandom.prototype = { + nextInt$1(max) { + if (max <= 0 || max > 4294967296) + throw A.wrapException(A.RangeError$(string$.max_mu + max)); + return Math.random() * max >>> 0; + }, + $isRandom: 1 + }; + A._JSSecureRandom.prototype = { + _JSSecureRandom$0() { + var $crypto = self.crypto; + if ($crypto != null) + if ($crypto.getRandomValues != null) + return; + throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); + }, + nextInt$1(max) { + var byteCount, t1, start, randomLimit, t2, t3, t4, random, result; + if (max <= 0 || max > 4294967296) + throw A.wrapException(A.RangeError$(string$.max_mu + max)); + if (max > 255) + if (max > 65535) + byteCount = max > 16777215 ? 4 : 3; + else + byteCount = 2; + else + byteCount = 1; + t1 = this._math$_buffer; + B.NativeByteData_methods._setUint32$3(t1, 0, 0, false); + start = 4 - byteCount; + randomLimit = A._asInt(Math.pow(256, byteCount)); + for (t2 = max - 1, t3 = (max & t2) === 0; true;) { + t4 = t1.buffer; + t4 = new Uint8Array(t4, start, byteCount); + crypto.getRandomValues(t4); + random = B.NativeByteData_methods._getUint32$2(t1, 0, false); + if (t3) + return (random & t2) >>> 0; + result = random % max; + if (random - result + max < randomLimit) + return result; + } + }, + $isRandom: 1 + }; + A.applyDbFunctions_closure.prototype = { + call$1(_) { + return A._pseudorandomStringWithAlphabet(15, "abcdefghijklmnopqrstuvwxyz0123456789"); + }, + $signature: 27 + }; + A.applyDbFunctions_closure0.prototype = { + call$1(_) { + return B.JSString_methods.replaceFirst$2(new A.DateTime(Date.now(), false).toUtc$0().toString$0(0), "T", " "); + }, + $signature: 27 + }; + A.DelegatingStreamSink.prototype = { + add$1(_, data) { + this._sink.add$1(0, this.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + this._sink.addError$2(error, stackTrace); + }, + close$0() { + return this._sink.close$0(); + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A.DefaultEquality.prototype = {}; + A.ListEquality.prototype = { + equals$2(list1, list2) { + var $length, t2, i, + t1 = this.$ti._eval$1("List<1>?"); + t1._as(list1); + t1._as(list2); + if (list1 === list2) + return true; + t1 = J.getInterceptor$asx(list1); + $length = t1.get$length(list1); + t2 = J.getInterceptor$asx(list2); + if ($length !== t2.get$length(list2)) + return false; + for (i = 0; i < $length; ++i) + if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i))) + return false; + return true; + }, + hash$1(list) { + var t1, hash, i; + this.$ti._eval$1("List<1>?")._as(list); + for (t1 = J.getInterceptor$asx(list), hash = 0, i = 0; i < t1.get$length(list); ++i) { + hash = hash + J.get$hashCode$(t1.$index(list, i)) & 2147483647; + hash = hash + (hash << 10 >>> 0) & 2147483647; + hash ^= hash >>> 6; + } + hash = hash + (hash << 3 >>> 0) & 2147483647; + hash ^= hash >>> 11; + return hash + (hash << 15 >>> 0) & 2147483647; + } + }; + A.NonGrowableListMixin.prototype = {}; + A.UnmodifiableMapMixin.prototype = {}; + A.DriftCommunication.prototype = { + DriftCommunication$3$debugLog$serialize(_channel, debugLog, serialize) { + var t1 = this._communication$_channel.__CloseGuaranteeChannel__stream_F; + t1 === $ && A.throwLateFieldNI("_stream"); + t1.listen$2$onDone(this.get$_handleMessage(), new A.DriftCommunication_closure(this)); + }, + newRequestId$0() { + return this._currentRequestId++; + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if ($async$self._startedClosingLocally || ($async$self._closeCompleter.future._async$_state & 30) !== 0) { + // goto return + $async$goto = 1; + break; + } + $async$self._startedClosingLocally = true; + t1 = $async$self._communication$_channel.__CloseGuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t1.close$0(); + $async$goto = 3; + return A._asyncAwait($async$self._closeCompleter.future, $async$close$0); + case 3: + // returning from await. + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + _handleMessage$1(msg) { + var request, _this = this; + msg.toString; + msg = B.C_DriftProtocol.deserialize$1(msg); + if (msg instanceof A.SuccessResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completer.complete$1(msg.response); + } else if (msg instanceof A.ErrorResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completeWithError$2(new A.DriftRemoteException(msg.error), msg.stackTrace); + } else if (msg instanceof A.Request) + _this._incomingRequests.add$1(0, msg); + else if (msg instanceof A.CancelledResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completeWithError$1(B.C_CancellationException); + } + }, + _send$1(msg) { + var t1, t2; + if (this._startedClosingLocally || (this._closeCompleter.future._async$_state & 30) !== 0) + throw A.wrapException(A.StateError$("Tried to send " + msg.toString$0(0) + " over isolate channel, but the connection was closed!")); + t1 = this._communication$_channel.__CloseGuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t2 = B.C_DriftProtocol.serialize$1(msg); + t1._sink.add$1(0, t1.$ti._precomputed1._as(t2)); + }, + respondError$3(request, error, trace) { + var t1, _this = this; + type$.nullable_StackTrace._as(trace); + if (_this._startedClosingLocally || (_this._closeCompleter.future._async$_state & 30) !== 0) + return; + t1 = request.id; + if (error instanceof A.CancellationException) + _this._send$1(new A.CancelledResponse(t1)); + else + _this._send$1(new A.ErrorResponse(t1, error, trace)); + }, + setRequestHandler$1(handler) { + var t1 = this._incomingRequests; + new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.DriftCommunication_setRequestHandler_closure(this, type$.dynamic_Function_Request._as(handler))); + } + }; + A.DriftCommunication_closure.prototype = { + call$0() { + var t1, t2, t3, t4, t5; + for (t1 = this.$this, t2 = t1._pendingRequests, t3 = t2.get$values(), t4 = A._instanceType(t3), t4 = t4._eval$1("@<1>")._bind$1(t4._rest[1]), t3 = new A.MappedIterator(J.get$iterator$ax(t3.__internal$_iterable), t3._f, t4._eval$1("MappedIterator<1,2>")), t4 = t4._rest[1]; t3.moveNext$0();) { + t5 = t3.__internal$_current; + (t5 == null ? t4._as(t5) : t5).completeWithError$1(B.C_ConnectionClosedException); + } + t2.clear$0(0); + t1._closeCompleter.complete$0(); + }, + $signature: 0 + }; + A.DriftCommunication_setRequestHandler_closure.prototype = { + call$1(request) { + return this.$call$body$DriftCommunication_setRequestHandler_closure(type$.Request._as(request)); + }, + $call$body$DriftCommunication_setRequestHandler_closure(request) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, s, t1, exception, t2, response, $async$exception; + var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + response = null; + $async$handler = 4; + t1 = $async$self.handler.call$1(request); + $async$goto = 7; + return A._asyncAwait(t1 instanceof A._Future ? t1 : A._Future$value(t1, type$.dynamic), $async$call$1); + case 7: + // returning from await. + response = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1 = $async$self.$this.respondError$3(request, e, s); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = $async$self.$this; + if (!(t1._startedClosingLocally || (t1._closeCompleter.future._async$_state & 30) !== 0)) { + t2 = response; + t1._send$1(new A.SuccessResponse(request.id, t2)); + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$call$1, $async$completer); + }, + $signature: 85 + }; + A._PendingRequest.prototype = { + completeWithError$2(error, trace) { + var t1; + if (trace == null) + t1 = this.requestTrace; + else { + t1 = A._setArrayType([], type$.JSArray_Trace); + if (trace instanceof A.Chain) + B.JSArray_methods.addAll$1(t1, trace.traces); + else + t1.push(A.Trace_Trace$from(trace)); + t1.push(A.Trace_Trace$from(this.requestTrace)); + t1 = new A.Chain(A.List_List$unmodifiable(t1, type$.Trace)); + } + this.completer.completeError$2(error, t1); + }, + completeWithError$1(error) { + return this.completeWithError$2(error, null); + } + }; + A.ConnectionClosedException.prototype = { + toString$0(_) { + return "Channel was closed before receiving a response"; + }, + $isException: 1 + }; + A.DriftRemoteException.prototype = { + toString$0(_) { + return J.toString$0$(this.remoteCause); + }, + $isException: 1 + }; + A.DriftProtocol.prototype = { + serialize$1(message) { + var t1, t2; + if (message instanceof A.Request) + return [0, message.id, this.encodePayload$1(message.payload)]; + else if (message instanceof A.ErrorResponse) { + t1 = J.toString$0$(message.error); + t2 = message.stackTrace; + t2 = t2 == null ? null : t2.toString$0(0); + return [2, message.requestId, t1, t2]; + } else if (message instanceof A.SuccessResponse) + return [1, message.requestId, this.encodePayload$1(message.response)]; + else if (message instanceof A.CancelledResponse) + return A._setArrayType([3, message.requestId], type$.JSArray_int); + else + return null; + }, + deserialize$1(message) { + var t1, tag, id, stringTrace; + if (!type$.List_dynamic._is(message)) + throw A.wrapException(B.FormatException_ZGD); + t1 = J.getInterceptor$asx(message); + tag = t1.$index(message, 0); + id = A._asInt(t1.$index(message, 1)); + switch (tag) { + case 0: + return new A.Request(id, this.decodePayload$1(t1.$index(message, 2))); + case 2: + stringTrace = A._asStringQ(t1.$index(message, 3)); + t1 = t1.$index(message, 2); + if (t1 == null) + t1 = type$.Object._as(t1); + return new A.ErrorResponse(id, t1, stringTrace != null ? new A._StringStackTrace(stringTrace) : null); + case 1: + return new A.SuccessResponse(id, this.decodePayload$1(t1.$index(message, 2))); + case 3: + return new A.CancelledResponse(id); + } + throw A.wrapException(B.FormatException_urD); + }, + encodePayload$1(payload) { + var t1, t2, t3, t4, t5, _i, arg, t6, _i0, update, rows, result, columns; + if (payload == null || A._isBool(payload)) + return payload; + if (payload instanceof A.NoArgsRequest) + return payload.index; + else if (payload instanceof A.ExecuteQuery) { + t1 = payload.method; + t2 = payload.sql; + t3 = []; + for (t4 = payload.args, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) + t3.push(this._encodeDbValue$1(t4[_i])); + return [3, t1.index, t2, t3, payload.executorId]; + } else if (payload instanceof A.ExecuteBatchedStatement) { + t1 = payload.stmts; + t2 = [4, t1.statements]; + for (t1 = t1.$arguments, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + arg = t1[_i]; + t4 = [arg.statementIndex]; + for (t5 = arg.$arguments, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i0) + t4.push(this._encodeDbValue$1(t5[_i0])); + t2.push(t4); + } + t2.push(payload.executorId); + return t2; + } else if (payload instanceof A.RunNestedExecutorControl) + return A._setArrayType([5, payload.control.index, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.EnsureOpen) + return A._setArrayType([6, payload.schemaVersion, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.ServerInfo) + return A._setArrayType([13, payload.dialect._core$_name], type$.JSArray_Object); + else if (payload instanceof A.RunBeforeOpen) { + t1 = payload.details; + return A._setArrayType([7, t1.versionBefore, t1.versionNow, payload.createdExecutor], type$.JSArray_nullable_int); + } else if (payload instanceof A.NotifyTablesUpdated) { + t1 = A._setArrayType([8], type$.JSArray_Object); + for (t2 = payload.updates, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + update = t2[_i]; + t4 = update.kind; + t4 = t4 == null ? null : t4.index; + t1.push([update.table, t4]); + } + return t1; + } else if (payload instanceof A.SelectResult) { + rows = payload.rows; + t1 = J.getInterceptor$asx(rows); + if (t1.get$isEmpty(rows)) + return B.List_11; + else { + result = [11]; + columns = J.toList$0$ax(t1.get$first(rows).get$keys()); + result.push(columns.length); + B.JSArray_methods.addAll$1(result, columns); + result.push(t1.get$length(rows)); + for (t1 = t1.get$iterator(rows); t1.moveNext$0();) + for (t2 = J.get$iterator$ax(t1.get$current().get$values()); t2.moveNext$0();) + result.push(this._encodeDbValue$1(t2.get$current())); + return result; + } + } else if (payload instanceof A.RequestCancellation) + return A._setArrayType([12, payload.originalRequestId], type$.JSArray_int); + else + return [10, payload]; + }, + decodePayload$1(encoded) { + var tag, t1, readInt, readNullableInt, method, sql, t2, args, i, list, t3, t4, t5, updates, encodedUpdate, kindIndex, columnCount, columns, rows, result, t6, rowOffset, t7, c, _box_0 = {}; + if (encoded == null || A._isBool(encoded)) + return encoded; + _box_0.fullMessage = null; + if (A._isInt(encoded)) { + tag = encoded; + t1 = null; + } else { + type$.List_dynamic._as(encoded); + _box_0.fullMessage = encoded; + tag = A._asInt(J.$index$asx(encoded, 0)); + t1 = encoded; + } + readInt = new A.DriftProtocol_decodePayload_readInt(_box_0); + readNullableInt = new A.DriftProtocol_decodePayload_readNullableInt(_box_0); + switch (tag) { + case 0: + return B.NoArgsRequest_0; + case 3: + method = B.JSArray_methods.$index(B.List_kYu, readInt.call$1(1)); + t1 = _box_0.fullMessage; + t1.toString; + sql = A._asString(J.$index$asx(t1, 2)); + t1 = J.map$1$1$ax(type$.List_dynamic._as(J.$index$asx(_box_0.fullMessage, 3)), this.get$_decodeDbValue(), type$.nullable_Object); + return new A.ExecuteQuery(method, sql, A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")), readNullableInt.call$1(4)); + case 4: + t1.toString; + t2 = type$.List_dynamic; + sql = J.cast$1$0$ax(t2._as(J.$index$asx(t1, 1)), type$.String); + args = A._setArrayType([], type$.JSArray_ArgumentsForBatchedStatement); + for (i = 2; i < J.get$length$asx(_box_0.fullMessage) - 1; ++i) { + list = t2._as(J.$index$asx(_box_0.fullMessage, i)); + t1 = J.getInterceptor$asx(list); + t3 = A._asInt(t1.$index(list, 0)); + t4 = []; + for (t1 = t1.skip$1(list, 1), t5 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t5._eval$1("ListIterator")), t5 = t5._eval$1("ListIterable.E"); t1.moveNext$0();) { + encoded = t1.__internal$_current; + t4.push(this._decodeDbValue$1(encoded == null ? t5._as(encoded) : encoded)); + } + B.JSArray_methods.add$1(args, new A.ArgumentsForBatchedStatement(t3, t4)); + } + return new A.ExecuteBatchedStatement(new A.BatchedStatements(sql, args), A._asIntQ(J.get$last$ax(_box_0.fullMessage))); + case 5: + return new A.RunNestedExecutorControl(B.JSArray_methods.$index(B.List_p2F, readInt.call$1(1)), readNullableInt.call$1(2)); + case 6: + return new A.EnsureOpen(readInt.call$1(1), readNullableInt.call$1(2)); + case 13: + t1.toString; + return new A.ServerInfo(A.EnumByName_byName(B.List_yTp, A._asString(J.$index$asx(t1, 1)), type$.SqlDialect)); + case 7: + t1 = readNullableInt.call$1(1); + t2 = readInt.call$1(2); + A.assertHelper(t1 !== 0); + return new A.RunBeforeOpen(new A.OpeningDetails(t1, t2), readInt.call$1(3)); + case 8: + updates = A._setArrayType([], type$.JSArray_TableUpdate); + t1 = type$.List_dynamic; + i = 1; + while (true) { + t2 = _box_0.fullMessage; + t2.toString; + if (!(i < J.get$length$asx(t2))) + break; + encodedUpdate = t1._as(J.$index$asx(_box_0.fullMessage, i)); + t2 = J.getInterceptor$asx(encodedUpdate); + kindIndex = A._asIntQ(t2.$index(encodedUpdate, 1)); + t2 = A._asString(t2.$index(encodedUpdate, 0)); + if (kindIndex == null) + t3 = null; + else { + if (kindIndex >>> 0 !== kindIndex || kindIndex >= 3) + return A.ioore(B.List_c4R, kindIndex); + t3 = B.List_c4R[kindIndex]; + } + B.JSArray_methods.add$1(updates, new A.TableUpdate(t3, t2)); + ++i; + } + return new A.NotifyTablesUpdated(updates); + case 11: + t1.toString; + if (J.get$length$asx(t1) === 1) + return B.SelectResult_List_empty; + columnCount = readInt.call$1(1); + t1 = 2 + columnCount; + t2 = type$.String; + columns = J.cast$1$0$ax(J.sublist$2$ax(_box_0.fullMessage, 2, t1), t2); + rows = readInt.call$1(t1); + result = A._setArrayType([], type$.JSArray_Map_of_String_and_nullable_Object); + for (t1 = columns._source, t3 = J.getInterceptor$asx(t1), t4 = columns.$ti._rest[1], t5 = 3 + columnCount, t6 = type$.nullable_Object, i = 0; i < rows; ++i) { + rowOffset = t5 + i * columnCount; + t7 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t6); + for (c = 0; c < columnCount; ++c) + t7.$indexSet(0, t4._as(t3.$index(t1, c)), this._decodeDbValue$1(J.$index$asx(_box_0.fullMessage, rowOffset + c))); + B.JSArray_methods.add$1(result, t7); + } + return new A.SelectResult(result); + case 12: + return new A.RequestCancellation(readInt.call$1(1)); + case 10: + return J.$index$asx(encoded, 1); + } + throw A.wrapException(A.ArgumentError$value(tag, "tag", "Tag was unknown")); + }, + _encodeDbValue$1(variable) { + if (type$.List_int._is(variable) && !type$.Uint8List._is(variable)) + return new Uint8Array(A._ensureNativeList(variable)); + else if (variable instanceof A._BigIntImpl) + return A._setArrayType(["bigint", variable.toString$0(0)], type$.JSArray_String); + else + return variable; + }, + _decodeDbValue$1(wire) { + var t1; + if (type$.List_dynamic._is(wire)) { + t1 = J.getInterceptor$asx(wire); + if (t1.get$length(wire) === 2 && J.$eq$(t1.$index(wire, 0), "bigint")) + return A._BigIntImpl_parse(J.toString$0$(t1.$index(wire, 1)), null); + return new Uint8Array(A._ensureNativeList(t1.cast$1$0(wire, type$.int))); + } + return wire; + } + }; + A.DriftProtocol_decodePayload_readInt.prototype = { + call$1(index) { + var t1 = this._box_0.fullMessage; + t1.toString; + return A._asInt(J.$index$asx(t1, index)); + }, + $signature: 13 + }; + A.DriftProtocol_decodePayload_readNullableInt.prototype = { + call$1(index) { + var t1 = this._box_0.fullMessage; + t1.toString; + return A._asIntQ(J.$index$asx(t1, index)); + }, + $signature: 87 + }; + A.Message.prototype = {}; + A.Request.prototype = { + toString$0(_) { + return "Request (id = " + this.id + "): " + A.S(this.payload); + } + }; + A.SuccessResponse.prototype = { + toString$0(_) { + return "SuccessResponse (id = " + this.requestId + "): " + A.S(this.response); + } + }; + A.ErrorResponse.prototype = { + toString$0(_) { + return "ErrorResponse (id = " + this.requestId + "): " + A.S(this.error) + " at " + A.S(this.stackTrace); + } + }; + A.CancelledResponse.prototype = { + toString$0(_) { + return "Previous request " + this.requestId + " was cancelled"; + } + }; + A.NoArgsRequest.prototype = { + _enumToString$0() { + return "NoArgsRequest." + this._core$_name; + } + }; + A.StatementMethod.prototype = { + _enumToString$0() { + return "StatementMethod." + this._core$_name; + } + }; + A.ExecuteQuery.prototype = { + toString$0(_) { + var _this = this, + t1 = _this.executorId; + if (t1 != null) + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args) + " (@" + A.S(t1) + ")"; + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args); + } + }; + A.RequestCancellation.prototype = { + toString$0(_) { + return "Cancel previous request " + this.originalRequestId; + } + }; + A.ExecuteBatchedStatement.prototype = {}; + A.NestedExecutorControl.prototype = { + _enumToString$0() { + return "NestedExecutorControl." + this._core$_name; + } + }; + A.RunNestedExecutorControl.prototype = { + toString$0(_) { + return "RunTransactionAction(" + this.control.toString$0(0) + ", " + A.S(this.executorId) + ")"; + } + }; + A.EnsureOpen.prototype = { + toString$0(_) { + return "EnsureOpen(" + this.schemaVersion + ", " + A.S(this.executorId) + ")"; + } + }; + A.ServerInfo.prototype = { + toString$0(_) { + return "ServerInfo(" + this.dialect.toString$0(0) + ")"; + } + }; + A.RunBeforeOpen.prototype = { + toString$0(_) { + return "RunBeforeOpen(" + this.details.toString$0(0) + ", " + this.createdExecutor + ")"; + } + }; + A.NotifyTablesUpdated.prototype = { + toString$0(_) { + return "NotifyTablesUpdated(" + A.S(this.updates) + ")"; + } + }; + A.SelectResult.prototype = {}; + A.ServerImplementation.prototype = { + ServerImplementation$3(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + this._done.future.then$1$1(new A.ServerImplementation_closure(this), type$.Null); + }, + serve$1(channel) { + var comm, t1, _this = this; + if (_this._isShuttingDown) + throw A.wrapException(A.StateError$("Cannot add new channels after shutdown() was called")); + comm = A.DriftCommunication$(channel, true); + comm.setRequestHandler$1(new A.ServerImplementation_serve_closure(_this, comm)); + t1 = _this.connection.get$dialect(); + comm._send$1(new A.Request(comm.newRequestId$0(), new A.ServerInfo(t1))); + _this._activeChannels.add$1(0, comm); + comm._closeCompleter.future.then$1$1(new A.ServerImplementation_serve_closure0(_this, comm), type$.bool); + }, + shutdown$0() { + var t1, _this = this; + if (!_this._isShuttingDown) { + _this._isShuttingDown = true; + t1 = _this.connection.close$0(); + _this._done.complete$1(t1); + } + return _this._done.future; + }, + _closeRemainingConnections$0() { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, t1.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + (t3 == null ? t2._as(t3) : t3).close$0(); + } + }, + _handleRequest$2(comms, request) { + var t1, token, _this = this, + payload = request.payload; + if (payload instanceof A.NoArgsRequest) + switch (payload.index) { + case 0: + t1 = A.StateError$("Remote shutdowns not allowed"); + throw A.wrapException(t1); + } + else if (payload instanceof A.EnsureOpen) + return _this._handleEnsureOpen$2(comms, payload); + else if (payload instanceof A.ExecuteQuery) { + token = A.runCancellable(new A.ServerImplementation__handleRequest_closure(_this, payload), type$.dynamic); + _this._cancellableOperations.$indexSet(0, request.id, token); + return token._resultCompleter.future.whenComplete$1(new A.ServerImplementation__handleRequest_closure0(_this, request)); + } else if (payload instanceof A.ExecuteBatchedStatement) + return _this._runBatched$2(payload.stmts, payload.executorId); + else if (payload instanceof A.NotifyTablesUpdated) { + _this._tableUpdateNotifications.add$1(0, payload); + _this.dispatchTableUpdateNotification$2(payload, comms); + } else if (payload instanceof A.RunNestedExecutorControl) + return _this._transactionControl$3(comms, payload.control, payload.executorId); + else if (payload instanceof A.RequestCancellation) { + t1 = _this._cancellableOperations.$index(0, payload.originalRequestId); + if (t1 != null) + t1.cancel$0(); + return null; + } + }, + _handleEnsureOpen$2(comms, $open) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$self = this, executor, t1; + var $async$_handleEnsureOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1($open.executorId), $async$_handleEnsureOpen$2); + case 3: + // returning from await. + executor = $async$result; + t1 = $open.schemaVersion; + $async$self._knownSchemaVersion = t1; + $async$goto = 4; + return A._asyncAwait(executor.ensureOpen$1(new A._ServerDbUser($async$self, comms, t1)), $async$_handleEnsureOpen$2); + case 4: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_handleEnsureOpen$2, $async$completer); + }, + _runQuery$4(method, sql, args, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$returnValue, $async$self = this, executor, $async$temp1; + var $async$_runQuery$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runQuery$4); + case 3: + // returning from await. + executor = $async$result; + $async$goto = 4; + return A._asyncAwait(A.Future_Future$delayed(B.Duration_0, type$.void), $async$_runQuery$4); + case 4: + // returning from await. + A.checkIfCancelled(); + case 5: + // switch + switch (method.index) { + case 0: + // goto case + $async$goto = 7; + break; + case 1: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + case 3: + // goto case + $async$goto = 10; + break; + default: + // goto after switch + $async$goto = 6; + break; + } + break; + case 7: + // case + $async$returnValue = executor.runCustom$2(sql, args); + // goto return + $async$goto = 1; + break; + case 8: + // case + $async$returnValue = executor.runDelete$2(sql, args); + // goto return + $async$goto = 1; + break; + case 9: + // case + $async$returnValue = executor.runInsert$2(sql, args); + // goto return + $async$goto = 1; + break; + case 10: + // case + $async$temp1 = A; + $async$goto = 11; + return A._asyncAwait(executor.runSelect$2(sql, args), $async$_runQuery$4); + case 11: + // returning from await. + $async$returnValue = new $async$temp1.SelectResult($async$result); + // goto return + $async$goto = 1; + break; + case 6: + // after switch + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_runQuery$4, $async$completer); + }, + _runBatched$2(stmts, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$_runBatched$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runBatched$2); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$result.runBatched$1(stmts), $async$_runBatched$2); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runBatched$2, $async$completer); + }, + _loadExecutor$1(transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this, t1; + var $async$_loadExecutor$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._waitForTurn$1(transactionId), $async$_loadExecutor$1); + case 3: + // returning from await. + if (transactionId != null) { + t1 = $async$self._managedExecutors.$index(0, transactionId); + t1.toString; + } else + t1 = $async$self.connection; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_loadExecutor$1, $async$completer); + }, + _spawnTransaction$2(comm, executor) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, transaction, id; + var $async$_spawnTransaction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(executor), $async$_spawnTransaction$2); + case 3: + // returning from await. + transaction = $async$result.beginTransaction$0(); + id = $async$self._putExecutor$2$beforeCurrent(transaction, true); + $async$goto = 4; + return A._asyncAwait(transaction.ensureOpen$1(new A._ServerDbUser($async$self, comm, $async$self._knownSchemaVersion)), $async$_spawnTransaction$2); + case 4: + // returning from await. + $async$returnValue = id; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_spawnTransaction$2, $async$completer); + }, + _spawnExclusive$2(comm, executor) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, exclusive, id; + var $async$_spawnExclusive$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(executor), $async$_spawnExclusive$2); + case 3: + // returning from await. + exclusive = $async$result.beginExclusive$0(); + id = $async$self._putExecutor$2$beforeCurrent(exclusive, true); + $async$goto = 4; + return A._asyncAwait(exclusive.ensureOpen$1(new A._ServerDbUser($async$self, comm, $async$self._knownSchemaVersion)), $async$_spawnExclusive$2); + case 4: + // returning from await. + $async$returnValue = id; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_spawnExclusive$2, $async$completer); + }, + _putExecutor$2$beforeCurrent(executor, beforeCurrent) { + var t2, t3, + t1 = this._currentExecutorId++; + this._managedExecutors.$indexSet(0, t1, executor); + t2 = this._executorBacklog; + t3 = t2.length; + if (t3 !== 0) + B.JSArray_methods.insert$2(t2, 0, t1); + else + B.JSArray_methods.add$1(t2, t1); + return t1; + }, + _transactionControl$3(comm, action, executorId) { + return this._transactionControl$body$ServerImplementation(comm, action, executorId); + }, + _transactionControl$body$ServerImplementation(comm, action, executorId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, executor; + var $async$_transactionControl$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = action === B.NestedExecutorControl_0 ? 3 : 5; + break; + case 3: + // then + $async$goto = 6; + return A._asyncAwait($async$self._spawnTransaction$2(comm, executorId), $async$_transactionControl$3); + case 6: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = action === B.NestedExecutorControl_3 ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait($async$self._spawnExclusive$2(comm, executorId), $async$_transactionControl$3); + case 9: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 8: + // join + case 4: + // join + $async$goto = 10; + return A._asyncAwait($async$self._loadExecutor$1(executorId), $async$_transactionControl$3); + case 10: + // returning from await. + executor = $async$result; + $async$goto = action === B.NestedExecutorControl_4 ? 11 : 12; + break; + case 11: + // then + $async$goto = 13; + return A._asyncAwait(executor.close$0(), $async$_transactionControl$3); + case 13: + // returning from await. + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto return + $async$goto = 1; + break; + case 12: + // join + if (!type$.TransactionExecutor._is(executor)) + throw A.wrapException(A.ArgumentError$value(executorId, "transactionId", "Does not reference a transaction. This might happen if you don't await all operations made inside a transaction, in which case the transaction might complete with pending operations.")); + case 14: + // switch + switch (action.index) { + case 1: + // goto case + $async$goto = 16; + break; + case 2: + // goto case + $async$goto = 17; + break; + default: + // goto default + $async$goto = 18; + break; + } + break; + case 16: + // case + $async$goto = 19; + return A._asyncAwait(executor.send$0(), $async$_transactionControl$3); + case 19: + // returning from await. + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto after switch + $async$goto = 15; + break; + case 17: + // case + $async$handler = 20; + $async$goto = 23; + return A._asyncAwait(executor.rollback$0(), $async$_transactionControl$3); + case 23: + // returning from await. + $async$next.push(22); + // goto finally + $async$goto = 21; + break; + case 20: + // uncaught + $async$next = [2]; + case 21: + // finally + $async$handler = 2; + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 22: + // after finally + // goto after switch + $async$goto = 15; + break; + case 18: + // default + A.assertThrow("Unknown TransactionControl"); + case 15: + // after switch + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_transactionControl$3, $async$completer); + }, + _releaseExecutor$1(id) { + var t1; + this._managedExecutors.remove$1(0, id); + B.JSArray_methods.remove$1(this._executorBacklog, id); + t1 = this._backlogUpdated; + if ((t1._async$_state & 4) === 0) + t1.add$1(0, null); + }, + _waitForTurn$1(transactionId) { + var t2, + t1 = new A.ServerImplementation__waitForTurn_idIsActive(this, transactionId); + if (A.boolConversionCheck(t1.call$0())) + return A.Future_Future$value(null, type$.void); + t2 = this._backlogUpdated; + return new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).firstWhere$1(0, new A.ServerImplementation__waitForTurn_closure(t1)); + }, + dispatchTableUpdateNotification$2(notification, source) { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, t1.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + if (t3 == null) + t3 = t2._as(t3); + if (t3 !== source) + t3._send$1(new A.Request(t3._currentRequestId++, notification)); + } + }, + $isDriftServer: 1 + }; + A.ServerImplementation_closure.prototype = { + call$1(_) { + var t1 = this.$this; + t1._closeRemainingConnections$0(); + t1._tableUpdateNotifications.close$0(); + }, + $signature: 92 + }; + A.ServerImplementation_serve_closure.prototype = { + call$1(request) { + return this.$this._handleRequest$2(this.comm, request); + }, + $signature: 108 + }; + A.ServerImplementation_serve_closure0.prototype = { + call$1(_) { + return this.$this._activeChannels.remove$1(0, this.comm); + }, + $signature: 22 + }; + A.ServerImplementation__handleRequest_closure.prototype = { + call$0() { + var t1 = this.payload; + return this.$this._runQuery$4(t1.method, t1.sql, t1.args, t1.executorId); + }, + $signature: 40 + }; + A.ServerImplementation__handleRequest_closure0.prototype = { + call$0() { + return this.$this._cancellableOperations.remove$1(0, this.request.id); + }, + $signature: 41 + }; + A.ServerImplementation__waitForTurn_idIsActive.prototype = { + call$0() { + var t2, + t1 = this.transactionId; + if (t1 == null) + return this.$this._executorBacklog.length === 0; + else { + t2 = this.$this._executorBacklog; + return t2.length !== 0 && B.JSArray_methods.get$first(t2) === t1; + } + }, + $signature: 37 + }; + A.ServerImplementation__waitForTurn_closure.prototype = { + call$1(_) { + return this.idIsActive.call$0(); + }, + $signature: 22 + }; + A._ServerDbUser.prototype = { + beforeOpen$2(executor, details) { + return this.beforeOpen$body$_ServerDbUser(executor, details); + }, + beforeOpen$body$_ServerDbUser(executor, details) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t2, id0, t3, t1, id; + var $async$beforeOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._server; + id = t1._putExecutor$2$beforeCurrent(executor, true); + $async$handler = 2; + t2 = $async$self.connection; + id0 = t2.newRequestId$0(); + t3 = new A._Future($.Zone__current, type$._Future_void); + t2._pendingRequests.$indexSet(0, id0, new A._PendingRequest(new A._AsyncCompleter(t3, type$._AsyncCompleter_void), A.StackTrace_current())); + t2._send$1(new A.Request(id0, new A.RunBeforeOpen(details, id))); + $async$goto = 5; + return A._asyncAwait(t3, $async$beforeOpen$2); + case 5: + // returning from await. + $async$next.push(4); + // goto finally + $async$goto = 3; + break; + case 2: + // uncaught + $async$next = [1]; + case 3: + // finally + $async$handler = 1; + t1._releaseExecutor$1(id); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 4: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$beforeOpen$2, $async$completer); + }, + $isQueryExecutorUser: 1 + }; + A.UpdateKind.prototype = { + _enumToString$0() { + return "UpdateKind." + this._core$_name; + } + }; + A.TableUpdate.prototype = { + get$hashCode(_) { + return A.Object_hash(this.kind, this.table, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.TableUpdate && other.kind == this.kind && other.table === this.table; + }, + toString$0(_) { + return "TableUpdate(" + this.table + ", kind: " + A.S(this.kind) + ")"; + } + }; + A.runCancellable_closure.prototype = { + call$0() { + return this._box_0.token._resultCompleter.complete$1(A.Future_Future$sync(this.operation, this.T)); + }, + $signature: 0 + }; + A.CancellationToken.prototype = { + cancel$0() { + var t1, _i; + if (this._cancellationRequested) + return; + for (t1 = this._cancellationCallbacks, _i = 0; false; ++_i) + t1[_i].call$0(); + this._cancellationRequested = true; + } + }; + A.CancellationException.prototype = { + toString$0(_) { + return "Operation was cancelled"; + }, + $isException: 1 + }; + A.QueryExecutor.prototype = { + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void); + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.BatchedStatements.prototype = { + get$hashCode(_) { + return A.Object_hash(B.C_ListEquality.hash$1(this.statements), B.C_ListEquality.hash$1(this.$arguments), B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.BatchedStatements && B.C_ListEquality.equals$2(other.statements, this.statements) && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + var t1 = this.statements; + return "BatchedStatements(" + t1.toString$0(t1) + ", " + A.S(this.$arguments) + ")"; + } + }; + A.ArgumentsForBatchedStatement.prototype = { + get$hashCode(_) { + return A.Object_hash(this.statementIndex, B.C_ListEquality, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.ArgumentsForBatchedStatement && other.statementIndex === this.statementIndex && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + return "ArgumentsForBatchedStatement(" + this.statementIndex + ", " + A.S(this.$arguments) + ")"; + } + }; + A.DatabaseDelegate.prototype = {}; + A.QueryDelegate.prototype = {}; + A.TransactionDelegate.prototype = {}; + A.NoTransactionDelegate.prototype = {}; + A.DbVersionDelegate.prototype = {}; + A.NoVersionDelegate.prototype = {}; + A.DynamicVersionDelegate.prototype = {}; + A._BaseExecutor.prototype = { + get$isSequential() { + return false; + }, + get$logStatements() { + return false; + }, + _debugCheckIsOpen$0() { + if (!this._ensureOpenCalled) + throw A.wrapException(A.StateError$("Tried to run an operation without first calling QueryExecutor.ensureOpen()!\n\nIf you're seeing this exception from a drift database, it may indicate a bug in\ndrift itself. Please consider opening an issue with the stack trace and details\non how to reproduce this.")); + if (this._engines$_closed) + throw A.wrapException(A.StateError$("This database or transaction runner has already been closed and may not be used\nanymore.\n\nIf this is happening in a transaction, you might be using the transaction\nwithout awaiting every statement in it.")); + return true; + }, + _synchronized$1$1(action, $T) { + $T._eval$1("Future<0>()")._as(action); + if (this.get$isSequential() || this._waitingChildExecutors > 0) + return this._lock.synchronized$1$1(new A._BaseExecutor__synchronized_closure(action, $T), $T); + else + return action.call$0(); + }, + _log$2(sql, args) { + this.get$logStatements(); + }, + runSelect$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.List_Map_of_String_and_nullable_Object), + $async$returnValue, $async$self = this, t1; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._synchronized$1$1(new A._BaseExecutor_runSelect_closure($async$self, statement, args), type$.QueryResult), $async$runSelect$2); + case 3: + // returning from await. + t1 = $async$result.get$asMap(0); + $async$returnValue = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + runDelete$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runDelete_closure(this, statement, args), type$.int); + }, + runInsert$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runInsert_closure(this, statement, args), type$.int); + }, + runCustom$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runCustom_closure(this, args, statement), type$.void); + }, + runCustom$1(statement) { + return this.runCustom$2(statement, null); + }, + runBatched$1(statements) { + return this._synchronized$1$1(new A._BaseExecutor_runBatched_closure(this, statements), type$.void); + }, + beginExclusive$0() { + return new A._ExclusiveExecutor(this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), new A.Lock()); + }, + beginTransaction$0() { + return this.beginTransactionInContext$1(this); + } + }; + A._BaseExecutor__synchronized_closure.prototype = { + call$0() { + A.checkIfCancelled(); + return this.action.call$0(); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A._BaseExecutor_runSelect_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runSelect$2(t2, t3); + }, + $signature: 42 + }; + A._BaseExecutor_runDelete_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runUpdate$2(t2, t3); + }, + $signature: 28 + }; + A._BaseExecutor_runInsert_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runInsert$2(t2, t3); + }, + $signature: 28 + }; + A._BaseExecutor_runCustom_closure.prototype = { + call$0() { + var resolvedArgs, t2, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + resolvedArgs = this.args; + if (resolvedArgs == null) + resolvedArgs = B.List_empty; + t2 = this.statement; + t1._log$2(t2, resolvedArgs); + return t1.get$impl().runCustom$2(t2, resolvedArgs); + }, + $signature: 2 + }; + A._BaseExecutor_runBatched_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._debugCheckIsOpen$0(); + t1.get$logStatements(); + return t1.get$impl().runBatched$1(this.statements); + }, + $signature: 2 + }; + A._TransactionExecutor.prototype = { + _checkCanOpen$0() { + this._ensureOpenCalled = true; + if (this._engines$_closed) + throw A.wrapException(A.StateError$("A transaction was used after being closed. Please check that you're awaiting all database operations inside a `transaction` block.")); + }, + beginTransactionInContext$1(context) { + throw A.wrapException(A.UnsupportedError$("Nested transactions aren't supported.")); + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + }, + get$logStatements() { + return false; + }, + get$isSequential() { + return true; + }, + $isTransactionExecutor: 1 + }; + A._StatementBasedTransactionExecutor.prototype = { + ensureOpen$1(user) { + var opened, $parent, _this = this; + _this._checkCanOpen$0(); + opened = _this._opened; + if (opened == null) { + opened = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool); + _this.set$_opened(opened); + $parent = _this._parent; + ++$parent._waitingChildExecutors; + $parent._synchronized$1$1(new A._StatementBasedTransactionExecutor_ensureOpen_closure(_this), type$.Null).whenComplete$1(new A._StatementBasedTransactionExecutor_ensureOpen_closure0($parent)); + } + return opened.future; + }, + get$impl() { + return this._db.delegate; + }, + beginTransactionInContext$1(context) { + var t1 = this.depth + 1; + return new A._StatementBasedTransactionExecutor(this._engines$_delegate, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), context, t1, A._defaultSavepoint(t1), A._defaultRelease(t1), A._defaultRollbackToSavepoint(t1), this._db, new A.Lock()); + }, + send$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this; + var $async$send$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$goto = 3; + return A._asyncAwait($async$self.runCustom$2($async$self._commitCommand, B.List_empty), $async$send$0); + case 3: + // returning from await. + $async$self._afterCommitOrRollback$0(); + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$send$0, $async$completer); + }, + rollback$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this; + var $async$rollback$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self.runCustom$2($async$self._rollbackCommand, B.List_empty), $async$rollback$0); + case 6: + // returning from await. + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + $async$self._afterCommitOrRollback$0(); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$rollback$0, $async$completer); + }, + _afterCommitOrRollback$0() { + var _this = this; + if (_this.depth === 0) + _this._db.delegate.isInTransaction = false; + _this._engines$_done.complete$0(); + _this._engines$_closed = true; + }, + set$_opened(_opened) { + this._opened = type$.nullable_Completer_bool._as(_opened); + } + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$handler = 1, $async$currentError, $async$self = this, e, s, t1, exception, $async$exception; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + t1 = $async$self.$this; + $async$goto = 6; + return A._asyncAwait(t1.runCustom$1(t1._startCommand), $async$call$0); + case 6: + // returning from await. + t1._db.delegate.isInTransaction = true; + t1._opened.complete$1(true); + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + $async$self.$this._opened.completeError$2(e, s); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + $async$goto = 7; + return A._asyncAwait($async$self.$this._engines$_done.future, $async$call$0); + case 7: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 14 + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure0.prototype = { + call$0() { + return this.parent._waitingChildExecutors--; + }, + $signature: 45 + }; + A.DelegatedDatabase.prototype = { + get$impl() { + return this.delegate; + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + }, + ensureOpen$1(user) { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_ensureOpen_closure(this, user), type$.bool); + }, + _runMigrations$1(user) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, currentVersion, oldVersion, t1, t2; + var $async$_runMigrations$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.delegate; + t2 = t1.__Sqlite3Delegate_versionDelegate_A; + t2 === $ && A.throwLateFieldNI("versionDelegate"); + currentVersion = user.schemaVersion; + $async$goto = t2 instanceof A.NoVersionDelegate ? 2 : 4; + break; + case 2: + // then + oldVersion = currentVersion; + // goto join + $async$goto = 3; + break; + case 4: + // else + $async$goto = t2 instanceof A._SqliteVersionDelegate ? 5 : 7; + break; + case 5: + // then + $async$goto = 8; + return A._asyncAwait(A.Future_Future$value(t2.database.get$userVersion(), type$.int), $async$_runMigrations$1); + case 8: + // returning from await. + oldVersion = $async$result; + // goto join + $async$goto = 6; + break; + case 7: + // else + throw A.wrapException(A.Exception_Exception("Invalid delegate: " + t1.toString$0(0) + ". The versionDelegate getter must not subclass DBVersionDelegate directly")); + case 6: + // join + case 3: + // join + if (oldVersion === 0) + oldVersion = null; + A.assertHelper(oldVersion !== 0); + $async$goto = 9; + return A._asyncAwait(user.beforeOpen$2(new A._BeforeOpeningExecutor($async$self, new A.Lock()), new A.OpeningDetails(oldVersion, currentVersion)), $async$_runMigrations$1); + case 9: + // returning from await. + $async$goto = t2 instanceof A._SqliteVersionDelegate && oldVersion !== currentVersion ? 10 : 11; + break; + case 10: + // then + t2.database.execute$1("PRAGMA user_version = " + currentVersion + ";"); + $async$goto = 12; + return A._asyncAwait(A.Future_Future$value(null, type$.void), $async$_runMigrations$1); + case 12: + // returning from await. + case 11: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runMigrations$1, $async$completer); + }, + beginTransactionInContext$1(context) { + var t1 = $.Zone__current; + return new A._StatementBasedTransactionExecutor(B.C_NoTransactionDelegate, new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), context, 0, "BEGIN TRANSACTION", "COMMIT TRANSACTION", "ROLLBACK TRANSACTION", this, new A.Lock()); + }, + close$0() { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_close_closure(this), type$.void); + }, + set$_migrationError(_migrationError) { + this._migrationError = type$.nullable_Record_2_Object_and_StackTrace._as(_migrationError); + }, + get$logStatements() { + return this.logStatements; + }, + get$isSequential() { + return this.isSequential; + } + }; + A.DelegatedDatabase_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, s, _0_0, t2, t3, t4, exception, t1, $async$exception; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + if (t1._engines$_closed) { + $async$returnValue = A.Future_Future$error(new A.StateError("Can't re-open a database after closing it. Please create a new database connection and open that instead."), null, type$.bool); + // goto return + $async$goto = 1; + break; + } + _0_0 = t1._migrationError; + if (_0_0 != null) + A.Error_throwWithStackTrace(_0_0._0, _0_0._1); + t2 = t1.delegate; + t3 = type$.bool; + t4 = A.Future_Future$value(t2._isOpen, t3); + $async$goto = 3; + return A._asyncAwait(type$.Future_bool._is(t4) ? t4 : A._Future$value(A._asBool(t4), t3), $async$call$0); + case 3: + // returning from await. + if ($async$result) { + $async$returnValue = t1._ensureOpenCalled = true; + // goto return + $async$goto = 1; + break; + } + t3 = $async$self.user; + $async$goto = 4; + return A._asyncAwait(t2.open$1(t3), $async$call$0); + case 4: + // returning from await. + t1._ensureOpenCalled = true; + $async$handler = 6; + $async$goto = 9; + return A._asyncAwait(t1._runMigrations$1(t3), $async$call$0); + case 9: + // returning from await. + $async$returnValue = true; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1.set$_migrationError(new A._Record_2(e, s)); + throw $async$exception; + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 46 + }; + A.DelegatedDatabase_close_closure.prototype = { + call$0() { + var t1 = this.$this; + if (t1._ensureOpenCalled && !t1._engines$_closed) { + t1._engines$_closed = true; + t1._ensureOpenCalled = false; + return t1.delegate.close$0(); + } else + return A.Future_Future$value(null, type$.void); + }, + $signature: 2 + }; + A._BeforeOpeningExecutor.prototype = { + beginTransactionInContext$1(context) { + return this._base.beginTransactionInContext$1(context); + }, + ensureOpen$1(_) { + this._ensureOpenCalled = true; + return A.Future_Future$value(true, type$.bool); + }, + get$impl() { + return this._base.delegate; + }, + get$logStatements() { + return false; + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + } + }; + A._ExclusiveExecutor.prototype = { + get$dialect() { + return this._outer.get$dialect(); + }, + ensureOpen$1(user) { + var t1, opened, t2, _this = this, + _0_0 = _this._opened; + if (_0_0 != null) + return _0_0.future; + else { + _this._ensureOpenCalled = true; + t1 = new A._Future($.Zone__current, type$._Future_bool); + opened = new A._AsyncCompleter(t1, type$._AsyncCompleter_bool); + _this.set$_opened(opened); + t2 = _this._outer; + ++t2._waitingChildExecutors; + t2._synchronized$1$1(new A._ExclusiveExecutor_ensureOpen_closure(_this, opened), type$.Null); + return t1; + } + }, + get$impl() { + return this._outer.get$impl(); + }, + beginTransactionInContext$1(context) { + return this._outer.beginTransactionInContext$1(context); + }, + close$0() { + this._completer.complete$0(); + return A.Future_Future$value(null, type$.void); + }, + set$_opened(_opened) { + this._opened = type$.nullable_Completer_bool._as(_opened); + } + }; + A._ExclusiveExecutor_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$self = this, t1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$self.opened.complete$1(true); + t1 = $async$self.$this; + $async$goto = 2; + return A._asyncAwait(t1._completer.future, $async$call$0); + case 2: + // returning from await. + --t1._outer._waitingChildExecutors; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 14 + }; + A.QueryResult.prototype = { + get$asMap(_) { + var t1 = this.rows, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("Map(1)")._as(new A.QueryResult_asMap_closure(this)), t2._eval$1("MappedListIterable<1,Map>")); + } + }; + A.QueryResult_asMap_closure.prototype = { + call$1(row) { + var t1, t2, t3, t4, t5, _i, column, t6; + type$.List_nullable_Object._as(row); + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic); + for (t2 = this.$this, t3 = t2.columnNames, t4 = t3.length, t2 = t2._columnIndexes, t5 = J.getInterceptor$asx(row), _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) { + column = t3[_i]; + t6 = t2.$index(0, column); + t6.toString; + t1.$indexSet(0, column, t5.$index(row, t6)); + } + return t1; + }, + $signature: 47 + }; + A.QueryInterceptor.prototype = {}; + A._InterceptedExecutor.prototype = { + beginTransaction$0() { + var t1 = this._interceptor$_inner; + return new A._InterceptedTransactionExecutor(t1.beginTransactionInContext$1(t1), this._interceptor$_interceptor); + }, + beginExclusive$0() { + return new A._InterceptedExecutor(new A._ExclusiveExecutor(this._interceptor$_inner, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), new A.Lock()), this._interceptor$_interceptor); + }, + get$dialect() { + return this._interceptor$_inner.get$dialect(); + }, + ensureOpen$1(user) { + return this._interceptor$_inner.ensureOpen$1(user); + }, + runBatched$1(statements) { + return this._interceptor$_inner.runBatched$1(statements); + }, + runCustom$2(statement, args) { + return this._interceptor$_inner.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + return this._interceptor$_inner.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + return this._interceptor$_inner.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + return this._interceptor$_inner.runSelect$2(statement, args); + }, + close$0() { + return this._interceptor$_interceptor.close$1(this._interceptor$_inner); + } + }; + A._InterceptedTransactionExecutor.prototype = { + rollback$0() { + return type$.TransactionExecutor._as(this._interceptor$_inner).rollback$0(); + }, + send$0() { + return type$.TransactionExecutor._as(this._interceptor$_inner).send$0(); + }, + $isTransactionExecutor: 1 + }; + A.OpeningDetails.prototype = {}; + A.SqlDialect.prototype = { + _enumToString$0() { + return "SqlDialect." + this._core$_name; + } + }; + A.Sqlite3Delegate.prototype = { + open$1(db) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, exception; + var $async$open$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._hasInitializedDatabase) { + A.assertHelper($async$self._database == null); + $async$self.set$_database($async$self.openDatabase$0()); + try { + A.assertHelper(!$async$self._hasInitializedDatabase); + t1 = $async$self._database; + t1.toString; + A.EnableNativeFunctions_useNativeFunctions(t1); + t1 = $async$self._database; + t1.toString; + $async$self._database$_setup.call$1(t1); + if ($async$self.enableMigrations) { + t1 = $async$self._database; + t1.toString; + t1 = new A._SqliteVersionDelegate(t1); + } else + t1 = B.C_NoVersionDelegate; + $async$self.__Sqlite3Delegate_versionDelegate_A = t1; + $async$self._hasInitializedDatabase = true; + } catch (exception) { + t1 = $async$self._database; + if (t1 != null) + t1.dispose$0(); + $async$self.set$_database(null); + $async$self._preparedStmtsCache._cachedStatements.clear$0(0); + throw exception; + } + } + $async$self._isOpen = true; + $async$returnValue = A.Future_Future$value(null, type$.void); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$open$1, $async$completer); + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$self._preparedStmtsCache.disposeAll$0(); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + runBatchSync$1(statements) { + var stmt, application, stmt0, stmt1, t1, t2, t3, _i, t4, t5, t6, t7, + prepared = A._setArrayType([], type$.JSArray_CommonPreparedStatement); + try { + for (t1 = statements.statements, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + t3 = t1.__internal$_current; + stmt = t3 == null ? t2._as(t3) : t3; + J.add$1$ax(prepared, this._database.prepare$2$checkNoTail(stmt, true)); + } + for (t1 = statements.$arguments, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + application = t1[_i]; + stmt0 = J.$index$asx(prepared, application.statementIndex); + t3 = stmt0; + t4 = application.$arguments; + t5 = t3.finalizable; + if (t5._closed) + A.throwExpression(A.StateError$(string$.Tried_)); + if (!t5._inResetState) { + t6 = t5.statement; + t7 = t6.bindings._sqlite3_reset; + t6 = [null, t6.stmt]; + A.assertInteropArgs(t6); + A._asInt(A._asDouble(t7.call.apply(t7, t6))); + t5._inResetState = true; + } + t5.statement.deallocateArguments$0(); + t3._bindParams$1(new A.IndexedParameters(t4)); + t3._execute$0(); + } + } finally { + for (t1 = prepared, t2 = t1.length, t3 = type$.StatementImplementation, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt1 = t1[_i]; + t4 = stmt1; + t5 = t4.finalizable; + if (!t5._closed) { + t6 = $.$get$disposeFinalizer()._registry; + if (t6 != null) + t6.unregister(t4); + if (!t5._closed) { + t5._closed = true; + if (!t5._inResetState) { + t6 = t5.statement; + t7 = t6.bindings._sqlite3_reset; + t6 = [null, t6.stmt]; + A.assertInteropArgs(t6); + A._asInt(A._asDouble(t7.call.apply(t7, t6))); + t5._inResetState = true; + } + t6 = t5.statement; + t6.deallocateArguments$0(); + t7 = t6.bindings._sqlite3_finalize; + t6 = [null, t6.stmt]; + A.assertInteropArgs(t6); + A._asInt(A._asDouble(t7.call.apply(t7, t6))); + } + t6 = t4.database; + t3._as(t4); + if (!t6._isClosed) + B.JSArray_methods.remove$1(t6.finalizable._statements, t5); + } + } + } + }, + runWithArgsSync$2(statement, args) { + var stmt, cached, _0_0, t1, t2; + if (args.length === 0) + this._database.execute$1(statement); + else { + stmt = null; + cached = null; + _0_0 = this._getPreparedStatement$1(statement); + stmt = _0_0._0; + cached = _0_0._1; + try { + stmt.executeWith$1(new A.IndexedParameters(args)); + } finally { + t1 = stmt; + t2 = cached; + type$.CommonPreparedStatement._as(t1); + if (!A._asBool(t2)) + t1.dispose$0(); + } + } + }, + runSelect$2(statement, args) { + return this.runSelect$body$Sqlite3Delegate(statement, args); + }, + runSelect$body$Sqlite3Delegate(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryResult), + $async$returnValue, $async$next = [], $async$self = this, result, t1, t2, stmt, cached, _0_0; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + stmt = null; + cached = null; + _0_0 = $async$self._getPreparedStatement$1(statement); + stmt = _0_0._0; + cached = _0_0._1; + try { + result = stmt.selectWith$1(new A.IndexedParameters(args)); + t1 = A.QueryResult_QueryResult$fromRows(J.toList$0$ax(result)); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + } finally { + t1 = stmt; + t2 = cached; + type$.CommonPreparedStatement._as(t1); + if (!A._asBool(t2)) + t1.dispose$0(); + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + _getPreparedStatement$1(sql) { + var stmt, t3, t4, t5, + t1 = this._preparedStmtsCache._cachedStatements, + foundStatement = t1.remove$1(0, sql), + t2 = foundStatement != null; + if (t2) + t1.$indexSet(0, sql, foundStatement); + if (t2) + return new A._Record_2(foundStatement, true); + stmt = this._database.prepare$2$checkNoTail(sql, true); + t2 = stmt.statement; + t3 = t2.stmt; + t2 = t2.bindings._sqlite3_stmt_isexplain; + t4 = type$.nullable_Object; + if (A._asInt(A._asDouble(A.callMethod(t2, "call", [null, t3], t4))) === 0) { + A.assertHelper(!t1.containsKey$1(sql)); + if (t1.__js_helper$_length === 64) { + t5 = t1.remove$1(0, new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).get$first(0)); + t5.toString; + t5.dispose$0(); + } + t1.$indexSet(0, sql, stmt); + } + return new A._Record_2(stmt, A._asInt(A._asDouble(A.callMethod(t2, "call", [null, t3], t4))) === 0); + }, + set$_database(_database) { + this._database = A._instanceType(this)._eval$1("Sqlite3Delegate.0?")._as(_database); + } + }; + A._SqliteVersionDelegate.prototype = {}; + A.PreparedStatementsCache.prototype = { + disposeAll$0() { + var t1, t2, t3, t4, t5, t6, t7; + for (t1 = this._cachedStatements, t2 = t1.get$values(), t3 = A._instanceType(t2), t3 = t3._eval$1("@<1>")._bind$1(t3._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(t2.__internal$_iterable), t2._f, t3._eval$1("MappedIterator<1,2>")), t3 = t3._rest[1]; t2.moveNext$0();) { + t4 = t2.__internal$_current; + if (t4 == null) + t4 = t3._as(t4); + t5 = t4.finalizable; + if (!t5._closed) { + t6 = $.$get$disposeFinalizer()._registry; + if (t6 != null) + t6.unregister(t4); + if (!t5._closed) { + t5._closed = true; + if (!t5._inResetState) { + t6 = t5.statement; + t7 = t6.bindings._sqlite3_reset; + t6 = [null, t6.stmt]; + A.assertInteropArgs(t6); + A._asInt(A._asDouble(t7.call.apply(t7, t6))); + t5._inResetState = true; + } + t6 = t5.statement; + t6.deallocateArguments$0(); + t7 = t6.bindings._sqlite3_finalize; + t6 = [null, t6.stmt]; + A.assertInteropArgs(t6); + A._asInt(A._asDouble(t7.call.apply(t7, t6))); + } + t4 = t4.database; + if (!t4._isClosed) + B.JSArray_methods.remove$1(t4.finalizable._statements, t5); + } + } + t1.clear$0(0); + } + }; + A.EnableNativeFunctions_useNativeFunctions_closure.prototype = { + call$1(args) { + return Date.now(); + }, + $signature: 48 + }; + A._unaryNumFunction_closure.prototype = { + call$1(args) { + var value = args.$index(0, 0); + if (typeof value == "number") + return this.calculation.call$1(value); + else + return null; + }, + $signature: 29 + }; + A.LazyDatabase.prototype = { + get$_delegate() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1; + }, + get$dialect() { + if (this._delegateAvailable) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + t1 = B.SqlDialect_0_sqlite !== t1.get$dialect(); + } else + t1 = false; + if (t1) + throw A.wrapException(A.Exception_Exception("LazyDatabase created with " + B.SqlDialect_0_sqlite.toString$0(0) + ", but underlying database is " + this.get$_delegate().get$dialect().toString$0(0) + ".")); + return B.SqlDialect_0_sqlite; + }, + _awaitOpened$0() { + var t1, delegate, _this = this; + if (_this._delegateAvailable) + return A.Future_Future$value(null, type$.void); + else { + t1 = _this._openDelegate; + if (t1 != null) + return t1.future; + else { + t1 = new A._Future($.Zone__current, type$._Future_void); + delegate = _this._openDelegate = new A._AsyncCompleter(t1, type$._AsyncCompleter_void); + A.Future_Future$sync(_this.opener, type$.QueryExecutor).then$1$2$onError(new A.LazyDatabase__awaitOpened_closure(_this, delegate), delegate.get$completeError(), type$.Null); + return t1; + } + } + }, + beginExclusive$0() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.beginExclusive$0(); + }, + beginTransaction$0() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.beginTransaction$0(); + }, + ensureOpen$1(user) { + return this._awaitOpened$0().then$1$1(new A.LazyDatabase_ensureOpen_closure(this, user), type$.bool); + }, + runBatched$1(statements) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runBatched$1(statements); + }, + runCustom$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runSelect$2(statement, args); + }, + close$0() { + if (this._delegateAvailable) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.close$0(); + } else + return A.Future_Future$value(null, type$.void); + } + }; + A.LazyDatabase__awaitOpened_closure.prototype = { + call$1(database) { + var t1; + type$.QueryExecutor._as(database); + t1 = this.$this; + t1.__LazyDatabase__delegate_F !== $ && A.throwLateFieldAI("_delegate"); + t1.__LazyDatabase__delegate_F = database; + t1._delegateAvailable = true; + this.delegate.complete$0(); + }, + $signature: 50 + }; + A.LazyDatabase_ensureOpen_closure.prototype = { + call$1(_) { + var t1 = this.$this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.ensureOpen$1(this.user); + }, + $signature: 51 + }; + A.Lock.prototype = { + synchronized$1$1(block, $T) { + var previous, t1; + $T._eval$1("0/()")._as(block); + previous = this._last; + t1 = new A._Future($.Zone__current, type$._Future_void); + this._last = t1; + t1 = new A.Lock_synchronized_callBlockAndComplete(block, new A._AsyncCompleter(t1, type$._AsyncCompleter_void), $T); + if (previous != null) + return previous.then$1$1(new A.Lock_synchronized_closure(t1, $T), $T); + else + return t1.call$0(); + } + }; + A.Lock_synchronized_callBlockAndComplete.prototype = { + call$0() { + return A.Future_Future$sync(this.block, this.T).whenComplete$1(type$.void_Function_$opt_void._as(this.blockCompleted.get$complete())); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A.Lock_synchronized_closure.prototype = { + call$1(_) { + return this.callBlockAndComplete.call$0(); + }, + $signature() { + return this.T._eval$1("Future<0>(~)"); + } + }; + A.WebPortToChannel_channel_closure.prototype = { + call$1($event) { + var message = type$.JSObject._as($event).data, + t1 = this.explicitClose && J.$eq$(message, "_disconnect"), + t2 = this.controller.__StreamChannelController__local_F; + if (t1) { + t2 === $ && A.throwLateFieldNI("_local"); + t1 = t2.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t1.close$0(); + } else { + t2 === $ && A.throwLateFieldNI("_local"); + t1 = t2.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t1.add$1(0, A.dartify(message)); + } + }, + $signature: 9 + }; + A.WebPortToChannel_channel_closure0.prototype = { + call$1(e) { + return A.callMethod(this._this, "postMessage", [A.jsify(e)], type$.void); + }, + $signature: 7 + }; + A.WebPortToChannel_channel_closure1.prototype = { + call$0() { + if (this.explicitClose) + this._this.postMessage("_disconnect"); + this._this.close(); + }, + $signature: 0 + }; + A.DedicatedDriftWorker.prototype = { + start$0() { + A._EventStreamSubscription$(this.self, "message", type$.nullable_void_Function_JSObject._as(new A.DedicatedDriftWorker_start_closure(this)), false, type$.JSObject); + }, + _dedicated_worker$_handleMessage$1(message) { + return this._handleMessage$body$DedicatedDriftWorker(message); + }, + _handleMessage$body$DedicatedDriftWorker(message) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$self = this, storage, $name, e, t1, dbName, existingServer, existingDatabases, opfsExists, t2, indexedDbExists, t3, t4, options, worker, _0_7_isSet, _0_7, exception, _box_0, $async$exception, $async$temp1; + var $async$_dedicated_worker$_handleMessage$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + _box_0 = {}; + t1 = message instanceof A.RequestCompatibilityCheck; + dbName = t1 ? message.databaseName : null; + $async$goto = t1 ? 3 : 4; + break; + case 3: + // then + _box_0.supportsIndexedDb = _box_0.supportsOpfs = false; + $async$goto = 5; + return A._asyncAwait($async$self._checkCompatibility.synchronized$1$1(new A.DedicatedDriftWorker__handleMessage_closure(_box_0, $async$self), type$.Null), $async$_dedicated_worker$_handleMessage$1); + case 5: + // returning from await. + existingServer = $async$self._dedicated_worker$_servers.servers.$index(0, dbName); + existingDatabases = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String); + $async$goto = _box_0.supportsOpfs ? 6 : 8; + break; + case 6: + // then + $async$temp1 = J; + $async$goto = 9; + return A._asyncAwait(A.opfsDatabases(), $async$_dedicated_worker$_handleMessage$1); + case 9: + // returning from await. + t1 = $async$temp1.get$iterator$ax($async$result), opfsExists = false; + case 10: + // for condition + if (!t1.moveNext$0()) { + // goto after for + $async$goto = 11; + break; + } + t2 = t1.get$current(); + B.JSArray_methods.add$1(existingDatabases, new A._Record_2(B.WebStorageApi_0, t2)); + if (t2 === dbName) + opfsExists = true; + // goto for condition + $async$goto = 10; + break; + case 11: + // after for + // goto join + $async$goto = 7; + break; + case 8: + // else + opfsExists = false; + case 7: + // join + $async$goto = existingServer != null ? 12 : 14; + break; + case 12: + // then + t1 = existingServer.storage; + indexedDbExists = t1 === B.WasmStorageImplementation_2 || t1 === B.WasmStorageImplementation_3; + opfsExists = t1 === B.WasmStorageImplementation_0 || t1 === B.WasmStorageImplementation_1; + // goto join + $async$goto = 13; + break; + case 14: + // else + $async$temp1 = _box_0.supportsIndexedDb; + if ($async$temp1) { + // goto then + $async$goto = 15; + break; + } else + $async$result = $async$temp1; + // goto join + $async$goto = 16; + break; + case 15: + // then + $async$goto = 17; + return A._asyncAwait(A.checkIndexedDbExists(dbName), $async$_dedicated_worker$_handleMessage$1); + case 17: + // returning from await. + case 16: + // join + indexedDbExists = $async$result; + case 13: + // join + t1 = type$.JSObject._as(self); + t2 = "Worker" in t1; + t3 = _box_0.supportsOpfs; + t4 = _box_0.supportsIndexedDb; + new A.DedicatedWorkerCompatibilityResult(t2, t3, "SharedArrayBuffer" in t1, t4, existingDatabases, B.ProtocolVersion_2_2_v2, indexedDbExists, opfsExists).sendToClient$1($async$self.self); + // goto break $label0$0 + $async$goto = 2; + break; + case 4: + // join + if (message instanceof A.ServeDriftDatabase) { + $async$self._dedicated_worker$_servers.serve$1(message); + // goto break $label0$0 + $async$goto = 2; + break; + } + t1 = message instanceof A.StartFileSystemServer; + options = t1 ? message.sqlite3Options : null; + $async$goto = t1 ? 18 : 19; + break; + case 18: + // then + $async$goto = 20; + return A._asyncAwait(A.VfsWorker_create(options), $async$_dedicated_worker$_handleMessage$1); + case 20: + // returning from await. + worker = $async$result; + $async$self.self.postMessage(true); + $async$goto = 21; + return A._asyncAwait(worker.start$0(), $async$_dedicated_worker$_handleMessage$1); + case 21: + // returning from await. + // goto break $label0$0 + $async$goto = 2; + break; + case 19: + // join + storage = null; + $name = null; + _0_7_isSet = message instanceof A.DeleteDatabase; + if (_0_7_isSet) { + _0_7 = message.database; + storage = _0_7._0; + $name = _0_7._1; + } + $async$goto = _0_7_isSet ? 22 : 23; + break; + case 22: + // then + $async$handler = 25; + case 28: + // switch + switch (storage) { + case B.WebStorageApi_1: + // goto case + $async$goto = 30; + break; + case B.WebStorageApi_0: + // goto case + $async$goto = 31; + break; + default: + // goto after switch + $async$goto = 29; + break; + } + break; + case 30: + // case + $async$goto = 32; + return A._asyncAwait(A.deleteDatabaseInIndexedDb($name), $async$_dedicated_worker$_handleMessage$1); + case 32: + // returning from await. + // goto after switch + $async$goto = 29; + break; + case 31: + // case + $async$goto = 33; + return A._asyncAwait(A.deleteDatabaseInOpfs($name), $async$_dedicated_worker$_handleMessage$1); + case 33: + // returning from await. + // goto after switch + $async$goto = 29; + break; + case 29: + // after switch + message.sendToClient$1($async$self.self); + $async$handler = 1; + // goto after finally + $async$goto = 27; + break; + case 25: + // catch + $async$handler = 24; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + new A.WorkerError(J.toString$0$(e)).sendToClient$1($async$self.self); + // goto after finally + $async$goto = 27; + break; + case 24: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 27: + // after finally + // goto break $label0$0 + $async$goto = 2; + break; + case 23: + // join + // goto break $label0$0 + $async$goto = 2; + break; + case 2: + // break $label0$0 + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_dedicated_worker$_handleMessage$1, $async$completer); + } + }; + A.DedicatedDriftWorker_start_closure.prototype = { + call$1($event) { + this.$this._dedicated_worker$_handleMessage$1(A.WasmInitializationMessage_WasmInitializationMessage$fromJs(type$.JSObject._as($event.data))); + }, + $signature: 1 + }; + A.DedicatedDriftWorker__handleMessage_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$self = this, supportsIndexedDb, t1, knownResults, t2, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + knownResults = t1._compatibility; + t2 = $async$self._box_0; + $async$goto = knownResults != null ? 2 : 4; + break; + case 2: + // then + t2.supportsOpfs = knownResults.supportsOpfs; + t2.supportsIndexedDb = knownResults.supportsIndexedDb; + // goto join + $async$goto = 3; + break; + case 4: + // else + $async$temp1 = t2; + $async$goto = 5; + return A._asyncAwait(A.checkOpfsSupport(), $async$call$0); + case 5: + // returning from await. + $async$temp1.supportsOpfs = $async$result; + $async$goto = 6; + return A._asyncAwait(A.checkIndexedDbSupport(), $async$call$0); + case 6: + // returning from await. + supportsIndexedDb = $async$result; + t2.supportsIndexedDb = supportsIndexedDb; + t1._compatibility = new A.WasmCompatibility(supportsIndexedDb, t2.supportsOpfs); + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 14 + }; + A.ProtocolVersion.prototype = { + _enumToString$0() { + return "ProtocolVersion." + this._core$_name; + } + }; + A.WasmInitializationMessage.prototype = { + sendToWorker$1(worker) { + this.sendTo$1(new A.WasmInitializationMessage_sendToWorker_closure(worker)); + }, + sendToPort$1(port) { + this.sendTo$1(new A.WasmInitializationMessage_sendToPort_closure(port)); + }, + sendToClient$1(worker) { + this.sendTo$1(new A.WasmInitializationMessage_sendToClient_closure(worker)); + } + }; + A.WasmInitializationMessage_sendToWorker_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty1 : transfer; + this.worker.postMessage(msg, t1); + }, + $signature: 17 + }; + A.WasmInitializationMessage_sendToPort_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty1 : transfer; + this.port.postMessage(msg, t1); + }, + $signature: 17 + }; + A.WasmInitializationMessage_sendToClient_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty1 : transfer; + this.worker.postMessage(msg, t1); + }, + $signature: 17 + }; + A.CompatibilityResult.prototype = {}; + A.SharedWorkerCompatibilityResult.prototype = { + sendTo$1(sender) { + var _this = this; + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "SharedWorkerCompatibilityResult", A._setArrayType([_this.canSpawnDedicatedWorkers, _this.dedicatedWorkersCanUseOpfs, _this.canUseIndexedDb, _this.indexedDbExists, _this.opfsExists, A.EncodeLocations_encodeToJs(_this.existingDatabases), _this.version.versionCode], type$.JSArray_Object), null); + } + }; + A.WorkerError.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "Error", this.error, null); + }, + toString$0(_) { + return "Error in worker: " + this.error; + }, + $isException: 1 + }; + A.ServeDriftDatabase.prototype = { + sendTo$1(sender) { + var _this0, t1, t2, _this = this; + type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender); + _this0 = {}; + _this0.sqlite = _this.sqlite3WasmUri.toString$0(0); + t1 = _this.port; + _this0.port = t1; + _this0.storage = _this.storage._core$_name; + _this0.database = _this.databaseName; + t2 = _this.initializationPort; + _this0.initPort = t2; + _this0.migrations = _this.enableMigrations; + _this0.v = _this.protocolVersion.versionCode; + t1 = A._setArrayType([t1], type$.JSArray_JSObject); + if (t2 != null) + t1.push(t2); + A._extension_1_sendTyped(sender, "ServeDriftDatabase", _this0, t1); + } + }; + A.RequestCompatibilityCheck.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "RequestCompatibilityCheck", this.databaseName, null); + } + }; + A.DedicatedWorkerCompatibilityResult.prototype = { + sendTo$1(sender) { + var _this0, _this = this; + type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender); + _this0 = {}; + _this0.supportsNestedWorkers = _this.supportsNestedWorkers; + _this0.canAccessOpfs = _this.canAccessOpfs; + _this0.supportsIndexedDb = _this.supportsIndexedDb; + _this0.supportsSharedArrayBuffers = _this.supportsSharedArrayBuffers; + _this0.indexedDbExists = _this.indexedDbExists; + _this0.opfsExists = _this.opfsExists; + _this0.existing = A.EncodeLocations_encodeToJs(_this.existingDatabases); + _this0.v = _this.version.versionCode; + A._extension_1_sendTyped(sender, "DedicatedWorkerCompatibilityResult", _this0, null); + } + }; + A.StartFileSystemServer.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "StartFileSystemServer", this.sqlite3Options, null); + } + }; + A.DeleteDatabase.prototype = { + sendTo$1(sender) { + var t1 = this.database; + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "DeleteDatabase", A._setArrayType([t1._0._core$_name, t1._1], type$.JSArray_String), null); + } + }; + A.checkIndexedDbExists_closure.prototype = { + call$1($event) { + type$.JSObject._as($event); + type$.nullable_JSObject._as(this.openRequest.transaction).abort(); + this._box_0.indexedDbExists = false; + }, + $signature: 9 + }; + A.opfsDatabases_closure.prototype = { + call$1(data) { + type$.JSArray_nullable_Object._as(data); + if (1 < 0 || 1 >= data.length) + return A.ioore(data, 1); + return type$.JSObject._as(data[1]); + }, + $signature: 55 + }; + A.DriftServerController.prototype = { + serve$1(message) { + type$.ServeDriftDatabase._as(message); + this.servers.putIfAbsent$2(message.databaseName, new A.DriftServerController_serve_closure(this, message)).serve$1(A.WebPortToChannel_channel(message.port, message.protocolVersion.versionCode >= 1)); + }, + openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage(databaseName, enableMigrations, initializer, sqlite3WasmUri, storage) { + return this.openConnection$body$DriftServerController(databaseName, enableMigrations, type$.nullable_FutureOr_nullable_Uint8List_Function._as(initializer), sqlite3WasmUri, storage); + }, + openConnection$body$DriftServerController(databaseName, enableMigrations, initializer, sqlite3WasmUri, storage) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this, vfs, $close, t1, t2, response, file, $name, id, ptr, db, sqlite3; + var $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.WasmSqlite3_loadFromUrl(sqlite3WasmUri), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 3: + // returning from await. + sqlite3 = $async$result; + case 4: + // switch + switch (storage.index) { + case 0: + // goto case + $async$goto = 6; + break; + case 1: + // goto case + $async$goto = 7; + break; + case 3: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + case 4: + // goto case + $async$goto = 10; + break; + default: + // goto default + $async$goto = 11; + break; + } + break; + case 6: + // case + $async$goto = 12; + return A._asyncAwait(A.SimpleOpfsFileSystem_loadFromStorage("drift_db/" + databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 12: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 7: + // case + $async$goto = 13; + return A._asyncAwait($async$self._loadLockedWasmVfs$1(databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 13: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 8: + // case + case 9: + // case + $async$goto = 14; + return A._asyncAwait(A.IndexedDbFileSystem_open(databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 14: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 10: + // case + vfs = A.InMemoryFileSystem$(null); + $close = null; + // goto after switch + $async$goto = 5; + break; + case 11: + // default + vfs = null; + $close = null; + case 5: + // after switch + $async$goto = initializer != null && vfs.xAccess$2("/database", 0) === 0 ? 15 : 16; + break; + case 15: + // then + t1 = initializer.call$0(); + t2 = type$.nullable_Uint8List; + $async$goto = 17; + return A._asyncAwait(type$.Future_nullable_Uint8List._is(t1) ? t1 : A._Future$value(t2._as(t1), t2), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 17: + // returning from await. + response = $async$result; + if (response != null) { + file = vfs.xOpen$2(new A.Sqlite3Filename("/database"), 4)._0; + file.xWrite$2(response, 0); + file.xClose$0(); + } + case 16: + // join + type$.VirtualFileSystem._as(vfs); + t1 = sqlite3.bindings; + t1 = t1.bindings; + $name = t1.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(vfs.name), 1); + t2 = t1.callbacks.registeredVfs; + id = t2.__js_helper$_length; + t2.$indexSet(0, id, vfs); + ptr = A._asInt(A._asDouble(A.callMethod(t1._register_vfs, "call", [null, $name, id, 1], type$.nullable_Object))); + t1 = $.$get$DartCallbacks_sqliteVfsPointer(); + t1.$ti._eval$1("1?")._as(ptr); + t1._jsWeakMap.set(vfs, ptr); + t1 = A.LinkedHashMap_LinkedHashMap(type$.String, type$.CommonPreparedStatement); + db = new A.WasmDatabase(new A._WasmDelegate(sqlite3, "/database", null, $async$self._setup, true, enableMigrations, new A.PreparedStatementsCache(t1)), false, true, new A.Lock(), new A.Lock()); + if ($close != null) { + $async$returnValue = A.ApplyInterceptor_interceptWith(db, new A._CloseVfsOnClose($close, db)); + // goto return + $async$goto = 1; + break; + } else { + $async$returnValue = db; + // goto return + $async$goto = 1; + break; + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage, $async$completer); + }, + _loadLockedWasmVfs$1(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmVfs), + $async$returnValue, t4, t5, t6, t1, t2, t3, worker; + var $async$_loadLockedWasmVfs$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = self; + t2 = type$.JSObject; + t3 = {clientVersion: 1, root: "drift_db/" + databaseName, synchronizationBuffer: t2._as(new t1.SharedArrayBuffer(8)), communicationBuffer: t2._as(new t1.SharedArrayBuffer(67584))}; + worker = t2._as(new t1.Worker(A.Uri_base().toString$0(0))); + new A.StartFileSystemServer(t3).sendToWorker$1(worker); + $async$goto = 3; + return A._asyncAwait(new A._EventStream(worker, "message", false, type$._EventStream_JSObject).get$first(0), $async$_loadLockedWasmVfs$1); + case 3: + // returning from await. + t4 = A.RequestResponseSynchronizer_RequestResponseSynchronizer(t2._as(t3.synchronizationBuffer)); + t3 = t2._as(t3.communicationBuffer); + t5 = A.SharedArrayBuffer_asByteData(t3, 65536, 2048); + t1 = type$.JavaScriptFunction._as(t1.Uint8Array); + t1 = type$.NativeUint8List._as(A.callConstructor(t1, [t3], t2)); + t2 = A.Context_Context("/", $.$get$Style_url()); + t6 = $.$get$Random__secureRandom(); + $async$returnValue = new A.WasmVfs(t4, new A.MessageSerializer(t3, t5, t1), t2, t6, "dart-sqlite3-vfs"); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_loadLockedWasmVfs$1, $async$completer); + } + }; + A.DriftServerController_serve_closure.prototype = { + call$0() { + var t1 = this.message, + initPort = t1.initializationPort, + initializer = initPort != null ? new A.DriftServerController_serve__closure(initPort) : null, + t2 = this.$this, + server = A.ServerImplementation$(new A.LazyDatabase(new A.DriftServerController_serve__closure0(t2, t1, initializer)), false, true), + t3 = new A._Future($.Zone__current, type$._Future_void), + wasmServer = new A.RunningWasmServer(t1.storage, server, new A._SyncCompleter(t3, type$._SyncCompleter_void)); + t3.whenComplete$1(new A.DriftServerController_serve__closure1(t2, t1, wasmServer)); + return wasmServer; + }, + $signature: 56 + }; + A.DriftServerController_serve__closure.prototype = { + call$0() { + var t3, + t1 = new A._Future($.Zone__current, type$._Future_nullable_Uint8List), + t2 = this.initPort; + t2.postMessage(true); + t3 = type$.JavaScriptFunction._as(A.allowInterop(new A.DriftServerController_serve___closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_nullable_Uint8List)), type$.Function)); + if (A.assertTest(typeof t3 == "function")) + A.assertThrow(string$.Dart_f); + t2.onmessage = t3; + return t1; + }, + $signature: 57 + }; + A.DriftServerController_serve___closure.prototype = { + call$1(e) { + var data = type$.nullable_NativeUint8List._as(type$.JSObject._as(e).data), + t1 = data == null ? null : data; + this.completer.complete$1(t1); + }, + $signature: 9 + }; + A.DriftServerController_serve__closure0.prototype = { + call$0() { + var t1 = this.message; + return this.$this.openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage(t1.databaseName, t1.enableMigrations, this.initializer, t1.sqlite3WasmUri, t1.storage); + }, + $signature: 117 + }; + A.DriftServerController_serve__closure1.prototype = { + call$0() { + this.$this.servers.remove$1(0, this.message.databaseName); + this.wasmServer.server.shutdown$0(); + }, + $signature: 8 + }; + A._CloseVfsOnClose.prototype = { + close$1(inner) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$close$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait(inner.close$0(), $async$close$1); + case 2: + // returning from await. + $async$goto = $async$self._root === inner ? 3 : 4; + break; + case 3: + // then + t1 = $async$self._shared$_close.call$0(); + $async$goto = 5; + return A._asyncAwait(t1 instanceof A._Future ? t1 : A._Future$value(t1, type$.void), $async$close$1); + case 5: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$1, $async$completer); + } + }; + A.RunningWasmServer.prototype = { + serve$1(channel) { + var t1, t2, t3, t4; + ++this._connectedClients; + t1 = type$.nullable_Object; + t2 = channel.$ti; + t1 = t2._eval$1("Stream<1>(Stream<1>)")._as(t2._eval$1("StreamTransformer<1,1>")._as(A._StreamHandlerTransformer$(new A.RunningWasmServer_serve_closure(this), t1, t1)).get$bind()).call$1(channel.get$stream()); + t3 = new A.CloseGuaranteeChannel(t2._eval$1("CloseGuaranteeChannel<1>")); + t4 = t2._eval$1("_CloseGuaranteeSink<1>"); + t3.set$__CloseGuaranteeChannel__sink_F(t4._as(new A._CloseGuaranteeSink(t3, channel.get$sink(), t4))); + t2 = t2._eval$1("_CloseGuaranteeStream<1>"); + t2 = t2._as(new A._CloseGuaranteeStream(t1, t3, t2)); + t3.__CloseGuaranteeChannel__stream_F !== $ && A.throwLateFieldAI("_stream"); + t3.set$__CloseGuaranteeChannel__stream_F(t2); + this.server.serve$1(t3); + } + }; + A.RunningWasmServer_serve_closure.prototype = { + call$1(sink) { + var t1 = this.$this; + if (--t1._connectedClients === 0) + t1._lastClientDisconnected.complete$0(); + t1 = sink._async$_sink; + if ((t1._async$_state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_close(); + }, + $signature: 59 + }; + A.WasmCompatibility.prototype = {}; + A.CompleteIdbRequest_complete_closure1.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure2.prototype = { + call$1($event) { + var t1 = type$.nullable_JSObject._as(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.SharedDriftWorker.prototype = { + start$0() { + A._EventStreamSubscription$(this.self, "connect", type$.nullable_void_Function_JSObject._as(new A.SharedDriftWorker_start_closure(this)), false, type$.JSObject); + }, + _newConnection$1($event) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, clientPort; + var $async$_newConnection$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSArray_nullable_Object._as($event.ports); + clientPort = J.$index$asx(type$.List_JSObject._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,JSObject>")), 0); + clientPort.start(); + A._EventStreamSubscription$(clientPort, "message", type$.nullable_void_Function_JSObject._as(new A.SharedDriftWorker__newConnection_closure($async$self, clientPort)), false, type$.JSObject); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_newConnection$1, $async$completer); + }, + _messageFromClient$2(client, $event) { + return this._messageFromClient$body$SharedDriftWorker(client, $event); + }, + _messageFromClient$body$SharedDriftWorker(client, $event) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$self = this, message, _0_0, dbName, result, e, t1, exception, $async$exception; + var $async$_messageFromClient$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + message = A.WasmInitializationMessage_WasmInitializationMessage$fromJs(type$.JSObject._as($event.data)); + _0_0 = message; + dbName = null; + t1 = _0_0 instanceof A.RequestCompatibilityCheck; + if (t1) + dbName = _0_0.databaseName; + $async$goto = t1 ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait($async$self._startFeatureDetection$1(dbName), $async$_messageFromClient$2); + case 9: + // returning from await. + result = $async$result; + result.sendToPort$1(client); + // goto break $label0$0 + $async$goto = 6; + break; + case 8: + // join + if (_0_0 instanceof A.ServeDriftDatabase && B.WasmStorageImplementation_2 === _0_0.storage) { + $async$self._servers.serve$1(message); + // goto break $label0$0 + $async$goto = 6; + break; + } + if (_0_0 instanceof A.ServeDriftDatabase) { + t1 = $async$self._dedicatedWorker; + t1.toString; + message.sendToWorker$1(t1); + // goto break $label0$0 + $async$goto = 6; + break; + } + t1 = A.ArgumentError$("Unknown message", null); + throw A.wrapException(t1); + case 6: + // break $label0$0 + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + new A.WorkerError(J.toString$0$(e)).sendToPort$1(client); + client.close(); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_messageFromClient$2, $async$completer); + }, + _startFeatureDetection$1(databaseName) { + return this._startFeatureDetection$body$SharedDriftWorker(databaseName); + }, + _startFeatureDetection$body$SharedDriftWorker(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SharedWorkerCompatibilityResult), + $async$returnValue, $async$self = this, indexedDbExists, worker, t4, t5, t1, t2, t3, hasWorker, canUseIndexedDb, $async$temp1, $async$temp2, $async$temp3, $async$temp4; + var $async$_startFeatureDetection$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = {}; + t2 = type$.JSObject; + t3 = t2._as(self); + hasWorker = "Worker" in t3; + $async$goto = 3; + return A._asyncAwait(A.checkIndexedDbSupport(), $async$_startFeatureDetection$1); + case 3: + // returning from await. + canUseIndexedDb = $async$result; + $async$goto = !hasWorker ? 4 : 6; + break; + case 4: + // then + t1 = $async$self._servers.servers.$index(0, databaseName); + if (t1 == null) + indexedDbExists = null; + else { + t1 = t1.storage; + t1 = t1 === B.WasmStorageImplementation_2 || t1 === B.WasmStorageImplementation_3; + indexedDbExists = t1; + } + $async$temp1 = A; + $async$temp2 = canUseIndexedDb; + $async$temp3 = B.List_empty5; + $async$temp4 = B.ProtocolVersion_2_2_v2; + $async$goto = indexedDbExists == null ? 7 : 9; + break; + case 7: + // then + $async$goto = 10; + return A._asyncAwait(A.checkIndexedDbExists(databaseName), $async$_startFeatureDetection$1); + case 10: + // returning from await. + // goto join + $async$goto = 8; + break; + case 9: + // else + $async$result = indexedDbExists; + case 8: + // join + $async$returnValue = new $async$temp1.SharedWorkerCompatibilityResult(false, false, $async$temp2, $async$temp3, $async$temp4, $async$result, false); + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 5; + break; + case 6: + // else + worker = $async$self._dedicatedWorker; + if (worker == null) { + worker = t2._as(new t3.Worker(A.Uri_base().toString$0(0))); + $async$self.set$_dedicatedWorker(worker); + } + new A.RequestCompatibilityCheck(databaseName).sendToWorker$1(worker); + t3 = new A._Future($.Zone__current, type$._Future_SharedWorkerCompatibilityResult); + t1.errorSubscription = t1.messageSubscription = null; + t4 = new A.SharedDriftWorker__startFeatureDetection_result(t1, new A._AsyncCompleter(t3, type$._AsyncCompleter_SharedWorkerCompatibilityResult), canUseIndexedDb); + t5 = type$.nullable_void_Function_JSObject; + t1.messageSubscription = A._EventStreamSubscription$(worker, "message", t5._as(new A.SharedDriftWorker__startFeatureDetection_closure(t4)), false, t2); + t1.errorSubscription = A._EventStreamSubscription$(worker, "error", t5._as(new A.SharedDriftWorker__startFeatureDetection_closure0($async$self, t4, worker)), false, t2); + $async$returnValue = t3; + // goto return + $async$goto = 1; + break; + case 5: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_startFeatureDetection$1, $async$completer); + }, + set$_dedicatedWorker(_dedicatedWorker) { + this._dedicatedWorker = type$.nullable_JSObject._as(_dedicatedWorker); + } + }; + A.SharedDriftWorker_start_closure.prototype = { + call$1(e) { + return this.$this._newConnection$1(e); + }, + $signature: 1 + }; + A.SharedDriftWorker__newConnection_closure.prototype = { + call$1($event) { + return this.$this._messageFromClient$2(this.clientPort, $event); + }, + $signature: 1 + }; + A.SharedDriftWorker__startFeatureDetection_result.prototype = { + call$4(opfsAvailable, opfsExists, indexedDbExists, databases) { + var t1, t2; + type$.List_Record_2_WebStorageApi_and_String._as(databases); + t1 = this.completer; + if ((t1.future._async$_state & 30) === 0) { + t1.complete$1(new A.SharedWorkerCompatibilityResult(true, opfsAvailable, this.canUseIndexedDb, databases, B.ProtocolVersion_2_2_v2, indexedDbExists, opfsExists)); + t1 = this._box_0; + t2 = t1.messageSubscription; + if (t2 != null) + t2.cancel$0(); + t1 = t1.errorSubscription; + if (t1 != null) + t1.cancel$0(); + } + }, + $signature: 60 + }; + A.SharedDriftWorker__startFeatureDetection_closure.prototype = { + call$1($event) { + var compatibilityResult = type$.DedicatedWorkerCompatibilityResult._as(A.WasmInitializationMessage_WasmInitializationMessage$fromJs(type$.JSObject._as($event.data))); + this.result.call$4(compatibilityResult.canAccessOpfs, compatibilityResult.opfsExists, compatibilityResult.indexedDbExists, compatibilityResult.existingDatabases); + }, + $signature: 1 + }; + A.SharedDriftWorker__startFeatureDetection_closure0.prototype = { + call$1($event) { + this.result.call$4(false, false, false, B.List_empty5); + this.worker.terminate(); + this.$this._dedicatedWorker = null; + }, + $signature: 1 + }; + A.WasmStorageImplementation.prototype = { + _enumToString$0() { + return "WasmStorageImplementation." + this._core$_name; + } + }; + A.WebStorageApi.prototype = { + _enumToString$0() { + return "WebStorageApi." + this._core$_name; + } + }; + A.WasmDatabase.prototype = {}; + A._WasmDelegate.prototype = { + openDatabase$0() { + var t1 = this._sqlite3.open$1(this._path); + return t1; + }, + _flush$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + t1; + var $async$_flush$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = A._Future$value(null, type$.void); + $async$goto = 2; + return A._asyncAwait(t1, $async$_flush$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_flush$0, $async$completer); + }, + _runWithArgs$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$self = this; + var $async$_runWithArgs$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$self.runWithArgsSync$2(statement, args); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$_runWithArgs$2); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runWithArgs$2, $async$completer); + }, + runCustom$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runCustom$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runCustom$2); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runCustom$2, $async$completer); + }, + runInsert$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1, _this; + var $async$runInsert$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runInsert$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + _this = type$.JavaScriptBigInt._as(A.callMethod(t1.bindings._sqlite3_last_insert_rowid, "call", [null, t1.db], type$.nullable_Object)); + $async$returnValue = A._asInt(A._asDouble(self.Number(_this))); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runInsert$2, $async$completer); + }, + runUpdate$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1; + var $async$runUpdate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runUpdate$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + $async$returnValue = A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_changes, "call", [null, t1.db], type$.nullable_Object))); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runUpdate$2, $async$completer); + }, + runBatched$1(statements) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runBatched$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$self.runBatchSync$1(statements); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$runBatched$1); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runBatched$1, $async$completer); + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self.super$Sqlite3Delegate$close(), $async$close$0); + case 2: + // returning from await. + $async$self._database.dispose$0(); + $async$goto = 3; + return A._asyncAwait($async$self._flush$0(), $async$close$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.Context.prototype = { + absolute$15(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) { + var t1; + A._validateArgList("absolute", A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15], type$.JSArray_nullable_String)); + t1 = this.style; + t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1); + if (t1) + return part1; + t1 = this._context$_current; + return this.join$16(0, t1 == null ? A.current() : t1, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15); + }, + absolute$1(part1) { + var _null = null; + return this.absolute$15(part1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); + }, + join$16(_, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16) { + var parts = A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16], type$.JSArray_nullable_String); + A._validateArgList("join", parts); + return this.joinAll$1(new A.WhereTypeIterable(parts, type$.WhereTypeIterable_String)); + }, + join$2(_, part1, part2) { + var _null = null; + return this.join$16(0, part1, part2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); + }, + joinAll$1(parts) { + var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path, t6; + type$.Iterable_String._as(parts); + for (t1 = parts.$ti, t2 = t1._eval$1("bool(Iterable.E)")._as(new A.Context_joinAll_closure()), t3 = parts.get$iterator(0), t1 = new A.WhereIterator(t3, t2, t1._eval$1("WhereIterator")), t2 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) { + t5 = t3.get$current(); + if (t2.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) { + parsed = A.ParsedPath_ParsedPath$parse(t5, t2); + path = t4.charCodeAt(0) == 0 ? t4 : t4; + t4 = B.JSString_methods.substring$2(path, 0, t2.rootLength$2$withDrive(path, true)); + parsed.root = t4; + if (t2.needsSeparator$1(t4)) + B.JSArray_methods.$indexSet(parsed.separators, 0, t2.get$separator()); + t4 = "" + parsed.toString$0(0); + } else if (t2.rootLength$1(t5) > 0) { + isAbsoluteAndNotRootRelative = !t2.isRootRelative$1(t5); + t4 = "" + t5; + } else { + t6 = t5.length; + if (t6 !== 0) { + if (0 >= t6) + return A.ioore(t5, 0); + t6 = t2.containsSeparator$1(t5[0]); + } else + t6 = false; + if (!t6) + if (needsSeparator) + t4 += t2.get$separator(); + t4 += t5; + } + needsSeparator = t2.needsSeparator$1(t5); + } + return t4.charCodeAt(0) == 0 ? t4 : t4; + }, + split$1(_, path) { + var parsed = A.ParsedPath_ParsedPath$parse(path, this.style), + t1 = parsed.parts, + t2 = A._arrayInstanceType(t1), + t3 = t2._eval$1("WhereIterable<1>"); + parsed.set$parts(A.List_List$of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Context_split_closure()), t3), true, t3._eval$1("Iterable.E"))); + t1 = parsed.root; + if (t1 != null) + B.JSArray_methods.insert$2(parsed.parts, 0, t1); + return parsed.parts; + }, + normalize$1(path) { + var parsed; + if (!this._needsNormalization$1(path)) + return path; + parsed = A.ParsedPath_ParsedPath$parse(path, this.style); + parsed.normalize$0(); + return parsed.toString$0(0); + }, + _needsNormalization$1(path) { + var t2, i, start, previous, t3, previousPrevious, codeUnit, t4, + t1 = this.style, + root = t1.rootLength$1(path); + if (root !== 0) { + if (t1 === $.$get$Style_windows()) + for (t2 = path.length, i = 0; i < root; ++i) { + if (!(i < t2)) + return A.ioore(path, i); + if (path.charCodeAt(i) === 47) + return true; + } + start = root; + previous = 47; + } else { + start = 0; + previous = null; + } + for (t2 = new A.CodeUnits(path).__internal$_string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) { + if (!(i >= 0)) + return A.ioore(t2, i); + codeUnit = t2.charCodeAt(i); + if (t1.isSeparator$1(codeUnit)) { + if (t1 === $.$get$Style_windows() && codeUnit === 47) + return true; + if (previous != null && t1.isSeparator$1(previous)) + return true; + if (previous === 46) + t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious); + else + t4 = false; + if (t4) + return true; + } + } + if (previous == null) + return true; + if (t1.isSeparator$1(previous)) + return true; + if (previous === 46) + t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46; + else + t1 = false; + if (t1) + return true; + return false; + }, + relative$2$from(path, from) { + var fromParsed, pathParsed, t2, t3, t4, t5, _this = this, + _s26_ = 'Unable to find a path to "', + t1 = from == null; + if (t1 && _this.style.rootLength$1(path) <= 0) + return _this.normalize$1(path); + if (t1) { + t1 = _this._context$_current; + from = t1 == null ? A.current() : t1; + } else + from = _this.absolute$1(from); + t1 = _this.style; + if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) + return _this.normalize$1(path); + if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path)) + path = _this.absolute$1(path); + if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0) + throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".')); + fromParsed = A.ParsedPath_ParsedPath$parse(from, t1); + fromParsed.normalize$0(); + pathParsed = A.ParsedPath_ParsedPath$parse(path, t1); + pathParsed.normalize$0(); + t2 = fromParsed.parts; + t3 = t2.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = J.$eq$(t2[0], "."); + } else + t2 = false; + if (t2) + return pathParsed.toString$0(0); + t2 = fromParsed.root; + t3 = pathParsed.root; + if (t2 != t3) + t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3); + else + t2 = false; + if (t2) + return pathParsed.toString$0(0); + while (true) { + t2 = fromParsed.parts; + t3 = t2.length; + if (t3 !== 0) { + t4 = pathParsed.parts; + t5 = t4.length; + if (t5 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = t2[0]; + if (0 >= t5) + return A.ioore(t4, 0); + t4 = t1.pathsEqual$2(t2, t4[0]); + t2 = t4; + } else + t2 = false; + } else + t2 = false; + if (!t2) + break; + B.JSArray_methods.removeAt$1(fromParsed.parts, 0); + B.JSArray_methods.removeAt$1(fromParsed.separators, 1); + B.JSArray_methods.removeAt$1(pathParsed.parts, 0); + B.JSArray_methods.removeAt$1(pathParsed.separators, 1); + } + t2 = fromParsed.parts; + t3 = t2.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = J.$eq$(t2[0], ".."); + } else + t2 = false; + if (t2) + throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".')); + t2 = type$.String; + B.JSArray_methods.insertAll$2(pathParsed.parts, 0, A.List_List$filled(fromParsed.parts.length, "..", false, t2)); + B.JSArray_methods.$indexSet(pathParsed.separators, 0, ""); + B.JSArray_methods.insertAll$2(pathParsed.separators, 1, A.List_List$filled(fromParsed.parts.length, t1.get$separator(), false, t2)); + t1 = pathParsed.parts; + t2 = t1.length; + if (t2 === 0) + return "."; + if (t2 > 1 && J.$eq$(B.JSArray_methods.get$last(t1), ".")) { + B.JSArray_methods.removeLast$0(pathParsed.parts); + t1 = pathParsed.separators; + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + B.JSArray_methods.add$1(t1, ""); + } + pathParsed.root = ""; + pathParsed.removeTrailingSeparators$0(); + return pathParsed.toString$0(0); + }, + relative$1(path) { + return this.relative$2$from(path, null); + }, + _isWithinOrEquals$2($parent, child) { + var relative, t1, parentIsAbsolute, childIsAbsolute, childIsRootRelative, parentIsRootRelative, result, exception, _this = this; + $parent = A._asString($parent); + child = A._asString(child); + t1 = _this.style; + parentIsAbsolute = t1.rootLength$1(A._asString($parent)) > 0; + childIsAbsolute = t1.rootLength$1(A._asString(child)) > 0; + if (parentIsAbsolute && !childIsAbsolute) { + child = _this.absolute$1(child); + if (t1.isRootRelative$1($parent)) + $parent = _this.absolute$1($parent); + } else if (childIsAbsolute && !parentIsAbsolute) { + $parent = _this.absolute$1($parent); + if (t1.isRootRelative$1(child)) + child = _this.absolute$1(child); + } else if (childIsAbsolute && parentIsAbsolute) { + childIsRootRelative = t1.isRootRelative$1(child); + parentIsRootRelative = t1.isRootRelative$1($parent); + if (childIsRootRelative && !parentIsRootRelative) + child = _this.absolute$1(child); + else if (parentIsRootRelative && !childIsRootRelative) + $parent = _this.absolute$1($parent); + } + result = _this._isWithinOrEqualsFast$2($parent, child); + if (result !== B._PathRelation_inconclusive) + return result; + relative = null; + try { + relative = _this.relative$2$from(child, $parent); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.PathException) + return B._PathRelation_different; + else + throw exception; + } + if (t1.rootLength$1(A._asString(relative)) > 0) + return B._PathRelation_different; + if (J.$eq$(relative, ".")) + return B._PathRelation_equal; + if (J.$eq$(relative, "..")) + return B._PathRelation_different; + return J.get$length$asx(relative) >= 3 && J.startsWith$1$s(relative, "..") && t1.isSeparator$1(J.codeUnitAt$1$s(relative, 2)) ? B._PathRelation_different : B._PathRelation_within; + }, + _isWithinOrEqualsFast$2($parent, child) { + var t1, parentRootLength, childRootLength, t2, t3, i, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, t4, direction, _this = this; + if ($parent === ".") + $parent = ""; + t1 = _this.style; + parentRootLength = t1.rootLength$1($parent); + childRootLength = t1.rootLength$1(child); + if (parentRootLength !== childRootLength) + return B._PathRelation_different; + for (t2 = $parent.length, t3 = child.length, i = 0; i < parentRootLength; ++i) { + if (!(i < t2)) + return A.ioore($parent, i); + if (!(i < t3)) + return A.ioore(child, i); + if (!t1.codeUnitsEqual$2($parent.charCodeAt(i), child.charCodeAt(i))) + return B._PathRelation_different; + } + childIndex = childRootLength; + parentIndex = parentRootLength; + lastCodeUnit = 47; + lastParentSeparator = null; + while (true) { + if (!(parentIndex < t2 && childIndex < t3)) + break; + c$0: { + if (!(parentIndex >= 0 && parentIndex < t2)) + return A.ioore($parent, parentIndex); + parentCodeUnit = $parent.charCodeAt(parentIndex); + if (!(childIndex >= 0 && childIndex < t3)) + return A.ioore(child, childIndex); + childCodeUnit = child.charCodeAt(childIndex); + if (t1.codeUnitsEqual$2(parentCodeUnit, childCodeUnit)) { + if (t1.isSeparator$1(parentCodeUnit)) + lastParentSeparator = parentIndex; + ++parentIndex; + ++childIndex; + lastCodeUnit = parentCodeUnit; + break c$0; + } + if (t1.isSeparator$1(parentCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { + parentIndex0 = parentIndex + 1; + lastParentSeparator = parentIndex; + parentIndex = parentIndex0; + break c$0; + } else if (t1.isSeparator$1(childCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { + ++childIndex; + break c$0; + } + if (parentCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { + ++parentIndex; + if (parentIndex === t2) + break; + if (!(parentIndex < t2)) + return A.ioore($parent, parentIndex); + parentCodeUnit = $parent.charCodeAt(parentIndex); + if (t1.isSeparator$1(parentCodeUnit)) { + parentIndex0 = parentIndex + 1; + lastParentSeparator = parentIndex; + parentIndex = parentIndex0; + break c$0; + } + if (parentCodeUnit === 46) { + ++parentIndex; + if (parentIndex !== t2) { + if (!(parentIndex < t2)) + return A.ioore($parent, parentIndex); + t4 = t1.isSeparator$1($parent.charCodeAt(parentIndex)); + } else + t4 = true; + if (t4) + return B._PathRelation_inconclusive; + } + } + if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { + ++childIndex; + if (childIndex === t3) + break; + if (!(childIndex < t3)) + return A.ioore(child, childIndex); + childCodeUnit = child.charCodeAt(childIndex); + if (t1.isSeparator$1(childCodeUnit)) { + ++childIndex; + break c$0; + } + if (childCodeUnit === 46) { + ++childIndex; + if (childIndex !== t3) { + if (!(childIndex < t3)) + return A.ioore(child, childIndex); + t2 = t1.isSeparator$1(child.charCodeAt(childIndex)); + t1 = t2; + } else + t1 = true; + if (t1) + return B._PathRelation_inconclusive; + } + } + if (_this._pathDirection$2(child, childIndex) !== B._PathDirection_yLX) + return B._PathRelation_inconclusive; + if (_this._pathDirection$2($parent, parentIndex) !== B._PathDirection_yLX) + return B._PathRelation_inconclusive; + return B._PathRelation_different; + } + } + if (childIndex === t3) { + if (parentIndex !== t2) { + if (!(parentIndex >= 0 && parentIndex < t2)) + return A.ioore($parent, parentIndex); + t1 = t1.isSeparator$1($parent.charCodeAt(parentIndex)); + } else + t1 = true; + if (t1) + lastParentSeparator = parentIndex; + else if (lastParentSeparator == null) + lastParentSeparator = Math.max(0, parentRootLength - 1); + direction = _this._pathDirection$2($parent, lastParentSeparator); + if (direction === B._PathDirection_8OV) + return B._PathRelation_equal; + return direction === B._PathDirection_3KU ? B._PathRelation_inconclusive : B._PathRelation_different; + } + direction = _this._pathDirection$2(child, childIndex); + if (direction === B._PathDirection_8OV) + return B._PathRelation_equal; + if (direction === B._PathDirection_3KU) + return B._PathRelation_inconclusive; + if (!(childIndex >= 0 && childIndex < t3)) + return A.ioore(child, childIndex); + return t1.isSeparator$1(child.charCodeAt(childIndex)) || t1.isSeparator$1(lastCodeUnit) ? B._PathRelation_within : B._PathRelation_different; + }, + _pathDirection$2(path, index) { + var t1, t2, i, depth, reachedRoot, t3, i0, t4; + for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) { + while (true) { + if (i < t1) { + if (!(i >= 0)) + return A.ioore(path, i); + t3 = t2.isSeparator$1(path.charCodeAt(i)); + } else + t3 = false; + if (!t3) + break; + ++i; + } + if (i === t1) + break; + i0 = i; + while (true) { + if (i0 < t1) { + if (!(i0 >= 0)) + return A.ioore(path, i0); + t3 = !t2.isSeparator$1(path.charCodeAt(i0)); + } else + t3 = false; + if (!t3) + break; + ++i0; + } + t3 = i0 - i; + if (t3 === 1) { + if (!(i >= 0 && i < t1)) + return A.ioore(path, i); + t4 = path.charCodeAt(i) === 46; + } else + t4 = false; + if (!t4) { + if (t3 === 2) { + if (!(i >= 0 && i < t1)) + return A.ioore(path, i); + if (path.charCodeAt(i) === 46) { + t3 = i + 1; + if (!(t3 < t1)) + return A.ioore(path, t3); + t3 = path.charCodeAt(t3) === 46; + } else + t3 = false; + } else + t3 = false; + if (t3) { + --depth; + if (depth < 0) + break; + if (depth === 0) + reachedRoot = true; + } else + ++depth; + } + if (i0 === t1) + break; + i = i0 + 1; + } + if (depth < 0) + return B._PathDirection_3KU; + if (depth === 0) + return B._PathDirection_8OV; + if (reachedRoot) + return B._PathDirection_e7w; + return B._PathDirection_yLX; + }, + toUri$1(path) { + var t2, + t1 = this.style; + if (t1.rootLength$1(path) <= 0) + return t1.relativePathToUri$1(path); + else { + t2 = this._context$_current; + return t1.absolutePathToUri$1(this.join$2(0, t2 == null ? A.current() : t2, path)); + } + }, + prettyUri$1(uri) { + var path, rel, _this = this, + typedUri = A._parseUri(uri); + if (typedUri.get$scheme() === "file" && _this.style === $.$get$Style_url()) + return typedUri.toString$0(0); + else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style !== $.$get$Style_url()) + return typedUri.toString$0(0); + path = _this.normalize$1(_this.style.pathFromUri$1(A._parseUri(typedUri))); + rel = _this.relative$1(path); + return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel; + } + }; + A.Context_joinAll_closure.prototype = { + call$1(part) { + return A._asString(part) !== ""; + }, + $signature: 3 + }; + A.Context_split_closure.prototype = { + call$1(part) { + return A._asString(part).length !== 0; + }, + $signature: 3 + }; + A._validateArgList_closure.prototype = { + call$1(arg) { + A._asStringQ(arg); + return arg == null ? "null" : '"' + arg + '"'; + }, + $signature: 62 + }; + A._PathDirection.prototype = { + toString$0(_) { + return this.name; + } + }; + A._PathRelation.prototype = { + toString$0(_) { + return this.name; + } + }; + A.InternalStyle.prototype = { + getRoot$1(path) { + var t1, + $length = this.rootLength$1(path); + if ($length > 0) + return B.JSString_methods.substring$2(path, 0, $length); + if (this.isRootRelative$1(path)) { + if (0 >= path.length) + return A.ioore(path, 0); + t1 = path[0]; + } else + t1 = null; + return t1; + }, + relativePathToUri$1(path) { + var segments, t2, _null = null, + t1 = path.length; + if (t1 === 0) + return A._Uri__Uri(_null, _null, _null, _null); + segments = A.Context_Context(_null, this).split$1(0, path); + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + if (this.isSeparator$1(path.charCodeAt(t2))) + B.JSArray_methods.add$1(segments, ""); + return A._Uri__Uri(_null, _null, segments, _null); + }, + codeUnitsEqual$2(codeUnit1, codeUnit2) { + return codeUnit1 === codeUnit2; + }, + pathsEqual$2(path1, path2) { + return path1 === path2; + } + }; + A.ParsedPath.prototype = { + get$hasTrailingSeparator() { + var t1 = this.parts; + if (t1.length !== 0) + t1 = J.$eq$(B.JSArray_methods.get$last(t1), "") || !J.$eq$(B.JSArray_methods.get$last(this.separators), ""); + else + t1 = false; + return t1; + }, + removeTrailingSeparators$0() { + var t1, t2, _this = this; + while (true) { + t1 = _this.parts; + if (!(t1.length !== 0 && J.$eq$(B.JSArray_methods.get$last(t1), ""))) + break; + B.JSArray_methods.removeLast$0(_this.parts); + t1 = _this.separators; + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + } + t1 = _this.separators; + t2 = t1.length; + if (t2 !== 0) + B.JSArray_methods.$indexSet(t1, t2 - 1, ""); + }, + normalize$0() { + var t1, t2, leadingDoubles, _i, part, t3, _this = this, + newParts = A._setArrayType([], type$.JSArray_String); + for (t1 = _this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + part = t1[_i]; + t3 = J.getInterceptor$(part); + if (!(t3.$eq(part, ".") || t3.$eq(part, ""))) + if (t3.$eq(part, "..")) { + t3 = newParts.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(newParts, -1); + newParts.pop(); + } else + ++leadingDoubles; + } else + B.JSArray_methods.add$1(newParts, part); + } + if (_this.root == null) + B.JSArray_methods.insertAll$2(newParts, 0, A.List_List$filled(leadingDoubles, "..", false, type$.String)); + if (newParts.length === 0 && _this.root == null) + B.JSArray_methods.add$1(newParts, "."); + _this.set$parts(newParts); + t1 = _this.style; + _this.set$separators(A.List_List$filled(newParts.length + 1, t1.get$separator(), true, type$.String)); + t2 = _this.root; + if (t2 == null || newParts.length === 0 || !t1.needsSeparator$1(t2)) + B.JSArray_methods.$indexSet(_this.separators, 0, ""); + t2 = _this.root; + if (t2 != null && t1 === $.$get$Style_windows()) { + t2.toString; + _this.root = A.stringReplaceAllUnchecked(t2, "/", "\\"); + } + _this.removeTrailingSeparators$0(); + }, + toString$0(_) { + var i, t2, t3, _this = this, + t1 = _this.root; + t1 = t1 != null ? "" + t1 : ""; + for (i = 0; i < _this.parts.length; ++i, t1 = t3) { + t2 = _this.separators; + if (!(i < t2.length)) + return A.ioore(t2, i); + t2 = A.S(t2[i]); + t3 = _this.parts; + if (!(i < t3.length)) + return A.ioore(t3, i); + t3 = t1 + t2 + A.S(t3[i]); + } + t1 += A.S(B.JSArray_methods.get$last(_this.separators)); + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + set$parts(parts) { + this.parts = type$.List_String._as(parts); + }, + set$separators(separators) { + this.separators = type$.List_String._as(separators); + } + }; + A.PathException.prototype = { + toString$0(_) { + return "PathException: " + this.message; + }, + $isException: 1 + }; + A.Style.prototype = { + toString$0(_) { + return this.get$name(); + } + }; + A.PosixStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 !== 0) { + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + t2 = path.charCodeAt(t2) !== 47; + t1 = t2; + } else + t1 = false; + return t1; + }, + rootLength$2$withDrive(path, withDrive) { + var t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t1 = path.charCodeAt(0) === 47; + } else + t1 = false; + if (t1) + return 1; + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return false; + }, + pathFromUri$1(uri) { + var t1; + if (uri.get$scheme() === "" || uri.get$scheme() === "file") { + t1 = uri.get$path(); + return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false); + } + throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null)); + }, + absolutePathToUri$1(path) { + var parsed = A.ParsedPath_ParsedPath$parse(path, this), + t1 = parsed.parts; + if (t1.length === 0) + B.JSArray_methods.addAll$1(t1, A._setArrayType(["", ""], type$.JSArray_String)); + else if (parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + return A._Uri__Uri(null, null, parsed.parts, "file"); + }, + get$name() { + return "posix"; + }, + get$separator() { + return "/"; + } + }; + A.UrlStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 === 0) + return false; + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 47) + return true; + return B.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1; + }, + rootLength$2$withDrive(path, withDrive) { + var i, codeUnit, index, + t1 = path.length; + if (t1 === 0) + return 0; + if (0 >= t1) + return A.ioore(path, 0); + if (path.charCodeAt(0) === 47) + return 1; + for (i = 0; i < t1; ++i) { + codeUnit = path.charCodeAt(i); + if (codeUnit === 47) + return 0; + if (codeUnit === 58) { + if (i === 0) + return 0; + index = B.JSString_methods.indexOf$2(path, "/", B.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i); + if (index <= 0) + return t1; + if (!withDrive || t1 < index + 3) + return index; + if (!B.JSString_methods.startsWith$1(path, "file://")) + return index; + t1 = A.driveLetterEnd(path, index + 1); + return t1 == null ? index : t1; + } + } + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + var t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t1 = path.charCodeAt(0) === 47; + } else + t1 = false; + return t1; + }, + pathFromUri$1(uri) { + return uri.toString$0(0); + }, + relativePathToUri$1(path) { + return A.Uri_parse(path); + }, + absolutePathToUri$1(path) { + return A.Uri_parse(path); + }, + get$name() { + return "url"; + }, + get$separator() { + return "/"; + } + }; + A.WindowsStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47 || codeUnit === 92; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 === 0) + return false; + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + t2 = path.charCodeAt(t2); + return !(t2 === 47 || t2 === 92); + }, + rootLength$2$withDrive(path, withDrive) { + var t2, index, + t1 = path.length; + if (t1 === 0) + return 0; + if (0 >= t1) + return A.ioore(path, 0); + if (path.charCodeAt(0) === 47) + return 1; + if (path.charCodeAt(0) === 92) { + if (t1 >= 2) { + if (1 >= t1) + return A.ioore(path, 1); + t2 = path.charCodeAt(1) !== 92; + } else + t2 = true; + if (t2) + return 1; + index = B.JSString_methods.indexOf$2(path, "\\", 2); + if (index > 0) { + index = B.JSString_methods.indexOf$2(path, "\\", index + 1); + if (index > 0) + return index; + } + return t1; + } + if (t1 < 3) + return 0; + if (!A.isAlphabetic(path.charCodeAt(0))) + return 0; + if (path.charCodeAt(1) !== 58) + return 0; + t1 = path.charCodeAt(2); + if (!(t1 === 47 || t1 === 92)) + return 0; + return 3; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return this.rootLength$1(path) === 1; + }, + pathFromUri$1(uri) { + var path, t1; + if (uri.get$scheme() !== "" && uri.get$scheme() !== "file") + throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null)); + path = uri.get$path(); + if (uri.get$host() === "") { + if (path.length >= 3 && B.JSString_methods.startsWith$1(path, "/") && A.driveLetterEnd(path, 1) != null) + path = B.JSString_methods.replaceFirst$2(path, "/", ""); + } else + path = "\\\\" + uri.get$host() + path; + t1 = A.stringReplaceAllUnchecked(path, "/", "\\"); + return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false); + }, + absolutePathToUri$1(path) { + var rootParts, t2, + parsed = A.ParsedPath_ParsedPath$parse(path, this), + t1 = parsed.root; + t1.toString; + if (B.JSString_methods.startsWith$1(t1, "\\\\")) { + rootParts = new A.WhereIterable(A._setArrayType(t1.split("\\"), type$.JSArray_String), type$.bool_Function_String._as(new A.WindowsStyle_absolutePathToUri_closure()), type$.WhereIterable_String); + B.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(0)); + if (parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + return A._Uri__Uri(rootParts.get$first(0), null, parsed.parts, "file"); + } else { + if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + t1 = parsed.parts; + t2 = parsed.root; + t2.toString; + t2 = A.stringReplaceAllUnchecked(t2, "/", ""); + B.JSArray_methods.insert$2(t1, 0, A.stringReplaceAllUnchecked(t2, "\\", "")); + return A._Uri__Uri(null, null, parsed.parts, "file"); + } + }, + codeUnitsEqual$2(codeUnit1, codeUnit2) { + var upperCase1; + if (codeUnit1 === codeUnit2) + return true; + if (codeUnit1 === 47) + return codeUnit2 === 92; + if (codeUnit1 === 92) + return codeUnit2 === 47; + if ((codeUnit1 ^ codeUnit2) !== 32) + return false; + upperCase1 = codeUnit1 | 32; + return upperCase1 >= 97 && upperCase1 <= 122; + }, + pathsEqual$2(path1, path2) { + var t1, t2, i; + if (path1 === path2) + return true; + t1 = path1.length; + t2 = path2.length; + if (t1 !== t2) + return false; + for (i = 0; i < t1; ++i) { + if (!(i < t2)) + return A.ioore(path2, i); + if (!this.codeUnitsEqual$2(path1.charCodeAt(i), path2.charCodeAt(i))) + return false; + } + return true; + }, + get$name() { + return "windows"; + }, + get$separator() { + return "\\"; + } + }; + A.WindowsStyle_absolutePathToUri_closure.prototype = { + call$1(part) { + return A._asString(part) !== ""; + }, + $signature: 3 + }; + A.SqliteException.prototype = { + toString$0(_) { + var t2, t3, _this = this, + t1 = _this.operation; + t1 = t1 == null ? "" : "while " + t1 + ", "; + t1 = "SqliteException(" + _this.extendedResultCode + "): " + t1 + _this.message + ", " + _this.explanation; + t2 = _this.causingStatement; + if (t2 != null) { + t1 = t1 + "\n Causing statement: " + t2; + t2 = _this.parametersToStatement; + if (t2 != null) { + t3 = A._arrayInstanceType(t2); + t3 = t1 + (", parameters: " + new A.MappedListIterable(t2, t3._eval$1("String(1)")._as(new A.SqliteException_toString_closure()), t3._eval$1("MappedListIterable<1,String>")).join$1(0, ", ")); + t1 = t3; + } + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + $isException: 1 + }; + A.SqliteException_toString_closure.prototype = { + call$1(e) { + if (type$.Uint8List._is(e)) + return "blob (" + e.length + " bytes)"; + else + return J.toString$0$(e); + }, + $signature: 63 + }; + A.AllowedArgumentCount.prototype = {}; + A.RawSqliteBindings.prototype = {}; + A.SqliteResult.prototype = {}; + A.RawSqliteDatabase.prototype = {}; + A.RawStatementCompiler.prototype = {}; + A.RawSqliteStatement.prototype = {}; + A.RawSqliteContext.prototype = {}; + A.RawSqliteValue.prototype = {}; + A.FinalizableDatabase.prototype = { + dispose$0() { + var t1, t2, _i, stmt, t3, t4, code, exception; + for (t1 = this._statements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + if (!stmt._closed) { + stmt._closed = true; + if (!stmt._inResetState) { + t3 = stmt.statement; + t4 = t3.bindings._sqlite3_reset; + t3 = [null, t3.stmt]; + A.assertInteropArgs(t3); + A._asInt(A._asDouble(t4.call.apply(t4, t3))); + stmt._inResetState = true; + } + t3 = stmt.statement; + t3.deallocateArguments$0(); + t4 = t3.bindings._sqlite3_finalize; + t3 = [null, t3.stmt]; + A.assertInteropArgs(t3); + A._asInt(A._asDouble(t4.call.apply(t4, t3))); + } + } + t1 = this.database; + code = A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_close_v2, "call", [null, t1.db], type$.nullable_Object))); + exception = code !== 0 ? A.createExceptionRaw(this.bindings, t1, code, "closing database", null, null) : null; + if (exception != null) + throw A.wrapException(exception); + } + }; + A.DatabaseImplementation.prototype = { + get$userVersion() { + var result, version, t1, + stmt = this.prepare$1("PRAGMA user_version;"); + try { + result = stmt.selectWith$1(new A.IndexedParameters(B.List_empty4)); + t1 = J.get$first$ax(result)._data; + if (0 >= t1.length) + return A.ioore(t1, 0); + version = A._asInt(t1[0]); + return version; + } finally { + stmt.dispose$0(); + } + }, + createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, directOnly, $function, functionName) { + var t1, functionNameBytes, t2, flags, t3, t4, ptr, result, _null = null; + type$.nullable_Object_Function_List_nullable_Object._as($function); + t1 = this.database; + functionNameBytes = B.C_Utf8Encoder.convert$1(functionName); + if (functionNameBytes.length > 255) + A.throwExpression(A.ArgumentError$value(functionName, "functionName", "Must not exceed 255 bytes when utf-8 encoded")); + t2 = new Uint8Array(A._ensureNativeList(functionNameBytes)); + flags = deterministic ? 2049 : 1; + if (directOnly) + flags |= 524288; + t3 = type$.nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue._as(new A.DatabaseImplementation_createFunction_closure($function)); + t4 = t1.bindings; + ptr = t4.allocateBytes$2$additionalLength(t2, 1); + t1 = A.callMethod(t4._create_scalar, "call", [null, t1.db, ptr, argumentCount.allowedArgs, flags, t4.callbacks.register$1(new A.RegisteredFunctionSet(t3, _null, _null))], type$.double); + result = A._asInt(t1); + A.callMethod(t4._free, "call", [null, ptr], type$.nullable_Object); + if (result !== 0) + A.throwException(this, result, _null, _null, _null); + }, + createFunction$3$directOnly$function$functionName(directOnly, $function, functionName) { + return this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(B.AllowedArgumentCount_m1, false, directOnly, $function, functionName); + }, + createFunction$4$argumentCount$deterministic$function$functionName(argumentCount, deterministic, $function, functionName) { + return this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, true, $function, functionName); + }, + dispose$0() { + var t1, _i, t2, _this = this; + if (_this._isClosed) + return; + $.$get$disposeFinalizer().detach$1(_this); + _this._isClosed = true; + for (t1 = _this._updateListeners, _i = 0; false; ++_i) + t1[_i].close$0(); + t1 = _this.database; + t2 = t1.bindings; + t2.callbacks.set$installedUpdateHook(null); + A.callMethod(t2._update_hooks, "call", [null, t1.db, -1], type$.nullable_Object); + _this.finalizable.dispose$0(); + }, + execute$1(sql) { + var stmt, t1, t2, result, _this = this, + parameters = B.List_empty; + if (J.get$length$asx(parameters) === 0) { + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + t1 = _this.database; + t2 = t1.bindings; + stmt = t2.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(sql), 1); + result = A._asInt(A.callMethod(t2._sqlite3_exec, "call", [null, t1.db, stmt, 0, 0, 0], type$.double)); + A.callMethod(t2._free, "call", [null, stmt], type$.nullable_Object); + if (result !== 0) + A.throwException(_this, result, "executing", sql, parameters); + } else { + stmt = _this.prepare$2$checkNoTail(sql, true); + try { + stmt.executeWith$1(new A.IndexedParameters(type$.List_nullable_Object._as(parameters))); + } finally { + stmt.dispose$0(); + } + } + }, + _prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, maxStatements, persistent, vtab) { + var bytes, t1, t2, ptr, t3, t4, t5, compiler, createdStatements, freeIntermediateResults, offset, result, t6, $length, t7, endOffset, stmt, _i, _this = this, + _s24_ = "Null pointer dereference"; + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + bytes = B.C_Utf8Encoder.convert$1(sql); + t1 = _this.database; + type$.List_int._as(bytes); + t2 = t1.bindings; + ptr = t2.allocateBytes$1(bytes); + t3 = t2._malloc; + t4 = type$.nullable_Object; + t5 = A._asInt(A._asDouble(A.callMethod(t3, "call", [null, 4], t4))); + t4 = A._asInt(A._asDouble(A.callMethod(t3, "call", [null, 4], t4))); + compiler = new A.WasmStatementCompiler(t1, ptr, t5, t4); + createdStatements = A._setArrayType([], type$.JSArray_StatementImplementation); + freeIntermediateResults = new A.DatabaseImplementation__prepareInternal_freeIntermediateResults(compiler, createdStatements); + for (t1 = bytes.length, t3 = type$.NativeByteBuffer, t2 = t2.memory, t5 = t4 !== 0, offset = 0; offset < t1; offset = endOffset) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + t6 = result.resultCode; + if (t6 !== 0) { + freeIntermediateResults.call$0(); + A.throwException(_this, t6, "preparing statement", sql, null); + } + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t3._as(t2.buffer); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength - 0, 4); + t6 = new Int32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t4, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + endOffset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), new A._Utf8Decoder(false)._convertGeneral$4(bytes, offset, endOffset, true))); + if (createdStatements.length === maxStatements) { + offset = endOffset; + break; + } + } + if (checkNoTail) + for (; offset < t1;) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t3._as(t2.buffer); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength - 0, 4); + t6 = new Int32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t4, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + offset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) { + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), "")); + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Had an unexpected trailing statement.")); + } else if (result.resultCode !== 0) { + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Has trailing data after the first sql statement:")); + } + } + compiler.close$0(); + for (t1 = createdStatements.length, t2 = _this.finalizable._statements, _i = 0; _i < createdStatements.length; createdStatements.length === t1 || (0, A.throwConcurrentModificationError)(createdStatements), ++_i) + B.JSArray_methods.add$1(t2, createdStatements[_i].finalizable); + return createdStatements; + }, + prepare$2$checkNoTail(sql, checkNoTail) { + var stmts = this._prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, 1, false, true); + if (stmts.length === 0) + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Must contain an SQL statement.")); + return B.JSArray_methods.get$first(stmts); + }, + prepare$1(sql) { + return this.prepare$2$checkNoTail(sql, false); + }, + $isCommonDatabase: 1 + }; + A.DatabaseImplementation_createFunction_closure.prototype = { + call$2(context, args) { + A._extension_0_runWithArgsAndSetResult(context, this.$function, type$.List_RawSqliteValue._as(args)); + }, + $signature: 64 + }; + A.DatabaseImplementation__prepareInternal_freeIntermediateResults.prototype = { + call$0() { + var t1, t2, _i, stmt, t3, t4, t5; + this.compiler.close$0(); + for (t1 = this.createdStatements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + t3 = stmt.finalizable; + if (!t3._closed) { + t4 = $.$get$disposeFinalizer()._registry; + if (t4 != null) + t4.unregister(stmt); + if (!t3._closed) { + t3._closed = true; + if (!t3._inResetState) { + t4 = t3.statement; + t5 = t4.bindings._sqlite3_reset; + t4 = [null, t4.stmt]; + A.assertInteropArgs(t4); + A._asInt(A._asDouble(t5.call.apply(t5, t4))); + t3._inResetState = true; + } + t4 = t3.statement; + t4.deallocateArguments$0(); + t5 = t4.bindings._sqlite3_finalize; + t4 = [null, t4.stmt]; + A.assertInteropArgs(t4); + A._asInt(A._asDouble(t5.call.apply(t5, t4))); + } + t4 = stmt.database; + if (!t4._isClosed) + B.JSArray_methods.remove$1(t4.finalizable._statements, t3); + } + } + }, + $signature: 0 + }; + A.ValueList.prototype = { + get$length(_) { + return this.rawValues.length; + }, + $index(_, index) { + var t1, $length, t2, cached, result, t3, _this = this, _s4_ = "call"; + if (A.assertTest(_this.isValid)) + A.assertThrow("Invalid arguments. This commonly happens when an application-defined sql function leaks its arguments after it finishes running. Please use List.of(arguments) in the function to create a copy of the argument instead."); + t1 = _this.rawValues; + $length = t1.length; + if (0 > index || index >= $length) + A.throwExpression(A.IndexError$withLength(index, $length, _this, null, "index")); + t2 = _this._cachedCopies; + if (!(index >= 0 && index < t2.length)) + return A.ioore(t2, index); + cached = t2[index]; + result = t1.$index(0, index); + t1 = result.bindings; + t2 = result.value; + t3 = type$.nullable_Object; + switch (A._asInt(A._asDouble(A.callMethod(t1._sqlite3_value_type, _s4_, [null, t2], t3)))) { + case 1: + _this = type$.JavaScriptBigInt._as(t1._sqlite3_value_int64.call(null, t2)); + return A._asInt(A._asDouble(self.Number(_this))); + case 2: + return A._asDouble(t1._sqlite3_value_double.call(null, t2)); + case 3: + $length = A._asInt(A._asDouble(A.callMethod(t1._sqlite3_value_bytes, _s4_, [null, t2], t3))); + return A.WrappedMemory_readString(t1.memory, A._asInt(A._asDouble(A.callMethod(t1._sqlite3_value_text, _s4_, [null, t2], t3))), $length); + case 4: + $length = A._asInt(A._asDouble(A.callMethod(t1._sqlite3_value_bytes, _s4_, [null, t2], t3))); + return A.WrappedMemory_copyRange(t1.memory, A._asInt(A._asDouble(A.callMethod(t1._sqlite3_value_blob, _s4_, [null, t2], t3))), $length); + case 5: + default: + return null; + } + }, + $indexSet(_, index, value) { + throw A.wrapException(A.ArgumentError$("The argument list is unmodifiable", null)); + } + }; + A.FinalizablePart.prototype = {}; + A.disposeFinalizer_closure.prototype = { + call$1(element) { + type$.FinalizablePart._as(element).dispose$0(); + }, + $signature: 65 + }; + A.Sqlite3Implementation.prototype = { + open$1(filename) { + var t1, t2, namePtr, t3, outDb, result, dbPtr, t4, exception, _s4_ = "call"; + switch (2) { + case 2: + break; + } + t1 = this.bindings; + t2 = t1.bindings; + namePtr = t2.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(filename), 1); + t3 = type$.nullable_Object; + outDb = A._asInt(A._asDouble(A.callMethod(t2._malloc, _s4_, [null, 4], t3))); + result = A._asInt(A._asDouble(A.callMethod(t2._sqlite3_open_v2, _s4_, [null, namePtr, outDb, 6, 0], t3))); + dbPtr = A.WrappedMemory_int32ValueOfPointer(t2.memory, outDb); + t4 = t2._free; + A.callMethod(t4, _s4_, [null, namePtr], t3); + A.callMethod(t4, _s4_, [null, 0], t3); + t4 = new A.WasmDatabase0(t2, dbPtr); + if (result !== 0) { + exception = A.createExceptionRaw(t1, t4, result, "opening the database", null, null); + A._asInt(A._asDouble(A.callMethod(t2._sqlite3_close_v2, _s4_, [null, dbPtr], t3))); + throw A.wrapException(exception); + } + A._asInt(A._asDouble(A.callMethod(t2._sqlite3_extended_result_codes, _s4_, [null, dbPtr, 1], t3))); + t2 = A._setArrayType([], type$.JSArray_MultiStreamController_SqliteUpdate); + t3 = new A.FinalizableDatabase(t1, t4, A._setArrayType([], type$.JSArray_FinalizableStatement)); + t2 = new A.DatabaseImplementation(t1, t4, t3, t2); + t4 = $.$get$disposeFinalizer(); + t4.$ti._precomputed1._as(t3); + t1 = t4._registry; + if (t1 != null) + t1.register(t2, t3, t2); + return t2; + }, + $isCommonSqlite3: 1 + }; + A.FinalizableStatement.prototype = { + dispose$0() { + var t1, _this = this; + if (!_this._closed) { + _this._closed = true; + _this._reset$0(); + t1 = _this.statement; + t1.deallocateArguments$0(); + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_finalize, "call", [null, t1.stmt], type$.nullable_Object))); + } + }, + _reset$0() { + if (!this._inResetState) { + var t1 = this.statement; + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_reset, "call", [null, t1.stmt], type$.nullable_Object))); + this._inResetState = true; + } + } + }; + A.StatementImplementation.prototype = { + get$_columnNames() { + var columnCount, t3, t4, t5, t6, i, t7, namePtr, t8, + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + columnCount = A._asInt(A._asDouble(A.callMethod(t2._sqlite3_column_count, "call", [null, t1], type$.nullable_Object))); + t3 = A._setArrayType([], type$.JSArray_String); + for (t4 = type$.List_int, t5 = type$.NativeByteBuffer, t6 = t2._sqlite3_column_name, t2 = t2.memory, i = 0; i < columnCount; ++i) { + t7 = [null, t1, i]; + A.assertInteropArgs(t7); + namePtr = A._asInt(A._asDouble(t6.call.apply(t6, t7))); + if (A.assertTest(namePtr !== 0)) + A.assertThrow("Null pointer dereference"); + t7 = t5._as(t2.buffer); + t8 = A.WrappedMemory_strlen(t2, namePtr); + t7 = t4._as(new Uint8Array(t7, namePtr, t8)); + t3.push(new A._Utf8Decoder(false)._convertGeneral$4(t7, 0, null, true)); + } + return t3; + }, + get$_tableNames() { + return null; + }, + _reset$0() { + var t1 = this.finalizable; + t1._reset$0(); + t1.statement.deallocateArguments$0(); + }, + _execute$0() { + var t4, result, _this = this, + t1 = _this.finalizable._inResetState = false, + t2 = _this.statement, + t3 = t2.stmt; + t2 = t2.bindings._sqlite3_step; + t4 = type$.nullable_Object; + do + result = A._asInt(A._asDouble(A.callMethod(t2, "call", [null, t3], t4))); + while (result === 100); + if (result !== 0 ? result !== 101 : t1) + A.throwException(_this.database, result, "executing statement", _this.sql, _this._latestArguments); + }, + _selectResults$0() { + var t2, t3, t4, columnCount, t5, resultCode, i, names, _this = this, + rows = A._setArrayType([], type$.JSArray_List_nullable_Object), + t1 = _this.finalizable._inResetState = false; + for (t2 = _this.statement, t3 = t2.bindings, t2 = t2.stmt, t4 = t3._sqlite3_step, t3 = t3._sqlite3_column_count, columnCount = -1; t5 = [null, t2], A.assertInteropArgs(t5), resultCode = A._asInt(A._asDouble(t4.call.apply(t4, t5))), resultCode === 100;) { + if (columnCount === -1) { + t5 = [null, t2]; + A.assertInteropArgs(t5); + columnCount = A._asInt(A._asDouble(t3.call.apply(t3, t5))); + } + A.assertHelper(columnCount >= 0); + t5 = []; + for (i = 0; i < columnCount; ++i) + t5.push(_this._readValue$1(i)); + B.JSArray_methods.add$1(rows, t5); + } + if (resultCode !== 0 ? resultCode !== 101 : t1) + A.throwException(_this.database, resultCode, "selecting from statement", _this.sql, _this._latestArguments); + names = _this.get$_columnNames(); + _this.get$_tableNames(); + t1 = new A.ResultSet(rows, names, B.Map_empty0); + t1._calculateIndexes$0(); + return t1; + }, + _readValue$1(index) { + var t3, _this, $length, _s4_ = "call", + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + t3 = type$.nullable_Object; + switch (A._asInt(A._asDouble(A.callMethod(t2._sqlite3_column_type, _s4_, [null, t1, index], t3)))) { + case 1: + _this = type$.JavaScriptBigInt._as(t2._sqlite3_column_int64.call(null, t1, index)); + return -9007199254740992 <= _this && _this <= 9007199254740992 ? A._asInt(A._asDouble(self.Number(_this))) : A._BigIntImpl_parse(A._asString(type$.JSObject._as(new self.Object(_this)).toString()), null); + case 2: + return A._asDouble(t2._sqlite3_column_double.call(null, t1, index)); + case 3: + return A.WrappedMemory_readString(t2.memory, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_column_text, _s4_, [null, t1, index], t3))), null); + case 4: + $length = A._asInt(A._asDouble(A.callMethod(t2._sqlite3_column_bytes, _s4_, [null, t1, index], t3))); + return A.WrappedMemory_copyRange(t2.memory, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_column_blob, _s4_, [null, t1, index], t3))), $length); + case 5: + default: + return null; + } + }, + _bindIndexedParams$1(params) { + var i, + $length = params.length, + t1 = this.statement, + count = A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_parameter_count, "call", [null, t1.stmt], type$.nullable_Object))); + if ($length !== count) + A.throwExpression(A.ArgumentError$value(params, "parameters", "Expected " + count + " parameters, got " + $length)); + t1 = params.length; + if (t1 === 0) + return; + for (i = 1; i <= params.length; ++i) + this._bindParam$2(params[i - 1], i); + this._latestArguments = params; + }, + _bindParam$2(param, i) { + var t1, t2, encoded, ptr, t3, _this = this, _null = null, _s4_ = "call"; + $label0$0: { + if (param == null) { + t1 = _this.statement; + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_null, _s4_, [null, t1.stmt, i], type$.nullable_Object))); + t1 = _null; + break $label0$0; + } + if (A._isInt(param)) { + t1 = _this.statement; + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_int64, _s4_, [null, t1.stmt, i, type$.JavaScriptBigInt._as(self.BigInt(param))], type$.nullable_Object))); + t1 = _null; + break $label0$0; + } + if (param instanceof A._BigIntImpl) { + t1 = _this.statement; + t2 = A.BigIntRangeCheck_get_checkRange(param).toString$0(0); + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_int64, _s4_, [null, t1.stmt, i, type$.JavaScriptBigInt._as(self.BigInt(t2))], type$.nullable_Object))); + t1 = _null; + break $label0$0; + } + if (A._isBool(param)) { + t1 = _this.statement; + t2 = param ? 1 : 0; + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_int64, _s4_, [null, t1.stmt, i, type$.JavaScriptBigInt._as(self.BigInt(t2))], type$.nullable_Object))); + t1 = _null; + break $label0$0; + } + if (typeof param == "number") { + t1 = _this.statement; + A._asInt(A._asDouble(A.callMethod(t1.bindings._sqlite3_bind_double, _s4_, [null, t1.stmt, i, param], type$.nullable_Object))); + t1 = _null; + break $label0$0; + } + if (typeof param == "string") { + t1 = _this.statement; + encoded = B.C_Utf8Encoder.convert$1(param); + t2 = t1.bindings; + ptr = t2.allocateBytes$1(encoded); + B.JSArray_methods.add$1(t1._allocatedArguments, ptr); + A._asInt(A.callMethod(t2._sqlite3_bind_text, _s4_, [null, t1.stmt, i, ptr, encoded.length, 0], type$.double)); + t1 = _null; + break $label0$0; + } + t1 = type$.List_int; + if (t1._is(param)) { + t2 = _this.statement; + t1._as(param); + t1 = t2.bindings; + ptr = t1.allocateBytes$1(param); + B.JSArray_methods.add$1(t2._allocatedArguments, ptr); + t3 = J.get$length$asx(param); + A._asInt(A.callMethod(t1._sqlite3_bind_blob64, _s4_, [null, t2.stmt, i, ptr, type$.JavaScriptBigInt._as(self.BigInt(t3)), 0], type$.double)); + t1 = _null; + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$value(param, "params[" + i + "]", "Allowed parameters must either be null or bool, int, num, String or List.")); + } + return t1; + }, + _bindParams$1(parameters) { + $label0$0: { + this._bindIndexedParams$1(parameters.parameters); + break $label0$0; + } + }, + dispose$0() { + var t2, + t1 = this.finalizable; + if (!t1._closed) { + $.$get$disposeFinalizer().detach$1(this); + t1.dispose$0(); + t2 = this.database; + if (!t2._isClosed) + B.JSArray_methods.remove$1(t2.finalizable._statements, t1); + } + }, + selectWith$1(parameters) { + var _this = this; + if (_this.finalizable._closed) + A.throwExpression(A.StateError$(string$.Tried_)); + _this._reset$0(); + _this._bindParams$1(parameters); + return _this._selectResults$0(); + }, + executeWith$1(parameters) { + var _this = this; + if (_this.finalizable._closed) + A.throwExpression(A.StateError$(string$.Tried_)); + _this._reset$0(); + _this._bindParams$1(parameters); + _this._execute$0(); + } + }; + A.Cursor.prototype = { + _calculateIndexes$0() { + var t2, t3, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = this._result_set$_columnNames, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + column = t2[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(t2, column)); + } + this.set$_calculatedIndexes(t1); + }, + set$_calculatedIndexes(_calculatedIndexes) { + this._calculatedIndexes = type$.Map_String_int._as(_calculatedIndexes); + } + }; + A.ResultSet.prototype = { + get$iterator(_) { + return new A._ResultIterator(this); + }, + $index(_, index) { + var t1 = this.rows; + if (!(index >= 0 && index < t1.length)) + return A.ioore(t1, index); + return new A.Row(this, A.List_List$unmodifiable(t1[index], type$.nullable_Object)); + }, + $indexSet(_, index, value) { + type$.Row._as(value); + throw A.wrapException(A.UnsupportedError$("Can't change rows from a result set")); + }, + get$length(_) { + return this.rows.length; + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.Row.prototype = { + $index(_, key) { + var t1, index; + if (typeof key != "string") { + if (A._isInt(key)) { + t1 = this._data; + if (key >>> 0 !== key || key >= t1.length) + return A.ioore(t1, key); + return t1[key]; + } + return null; + } + index = this._result._calculatedIndexes.$index(0, key); + if (index == null) + return null; + t1 = this._data; + if (index >>> 0 !== index || index >= t1.length) + return A.ioore(t1, index); + return t1[index]; + }, + get$keys() { + return this._result._result_set$_columnNames; + }, + get$values() { + return this._data; + }, + $isMap: 1 + }; + A._ResultIterator.prototype = { + get$current() { + var t1 = this.result, + t2 = t1.rows, + t3 = this.index; + if (!(t3 >= 0 && t3 < t2.length)) + return A.ioore(t2, t3); + return new A.Row(t1, A.List_List$unmodifiable(t2[t3], type$.nullable_Object)); + }, + moveNext$0() { + return ++this.index < this.result.rows.length; + }, + $isIterator: 1 + }; + A._ResultSet_Cursor_ListMixin.prototype = {}; + A._ResultSet_Cursor_ListMixin_NonGrowableListMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin_MapMixin.prototype = {}; + A.OpenMode.prototype = { + _enumToString$0() { + return "OpenMode." + this._core$_name; + } + }; + A.CommonPreparedStatement.prototype = {}; + A.IndexedParameters.prototype = {$isStatementParameters: 1}; + A.VfsException.prototype = { + toString$0(_) { + return "VfsException(" + this.returnCode + ")"; + }, + $isException: 1 + }; + A.Sqlite3Filename.prototype = {}; + A.VirtualFileSystem.prototype = {}; + A.BaseVirtualFileSystem.prototype = { + xRandomness$1(target) { + var t1, t2, i; + for (t1 = target.length, t2 = this.random, i = 0; i < t1; ++i) + target[i] = t2.nextInt$1(256); + } + }; + A.BaseVfsFile.prototype = { + get$xDeviceCharacteristics() { + return 0; + }, + xRead$2(target, fileOffset) { + var bytesRead = this.readInto$2(target, fileOffset), + t1 = target.length; + if (bytesRead < t1) { + B.NativeUint8List_methods.fillRange$3(target, bytesRead, t1, 0); + throw A.wrapException(B.VfsException_522); + } + }, + $isVirtualFileSystemFile: 1 + }; + A.WasmSqliteBindings.prototype = {}; + A.WasmDatabase0.prototype = {}; + A.WasmStatementCompiler.prototype = { + close$0() { + var _this = this, _s4_ = "call", + t1 = _this.database.bindings._free, + t2 = type$.nullable_Object; + A.callMethod(t1, _s4_, [null, _this.sql], t2); + A.callMethod(t1, _s4_, [null, _this.stmtOut], t2); + A.callMethod(t1, _s4_, [null, _this.pzTail], t2); + }, + sqlite3_prepare$3(byteOffset, $length, prepFlag) { + var _this = this, + t1 = _this.database, + t2 = t1.bindings, + t3 = _this.stmtOut, + result = A._asInt(A.callMethod(t2._sqlite3_prepare_v3, "call", [null, t1.db, _this.sql + byteOffset, $length, prepFlag, t3, _this.pzTail], type$.double)), + stmt = A.WrappedMemory_int32ValueOfPointer(t2.memory, t3), + libraryStatement = stmt === 0 ? null : new A.WasmStatement(stmt, t2, A._setArrayType([], type$.JSArray_int)); + return new A.SqliteResult(result, libraryStatement, type$.SqliteResult_nullable_RawSqliteStatement); + } + }; + A.WasmStatement.prototype = { + deallocateArguments$0() { + var t1, t2, t3, _i, t4; + for (t1 = this._allocatedArguments, t2 = t1.length, t3 = this.bindings._free, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + t4 = [null, t1[_i]]; + A.assertInteropArgs(t4); + t3.call.apply(t3, t4); + } + B.JSArray_methods.clear$0(t1); + } + }; + A.WasmContext.prototype = {}; + A.WasmValue.prototype = {}; + A.WasmValueList.prototype = { + $index(_, index) { + var t1 = this.bindings; + return new A.WasmValue(t1, A.WrappedMemory_int32ValueOfPointer(t1.memory, this.value + index * 4)); + }, + $indexSet(_, index, value) { + type$.WasmValue._as(value); + throw A.wrapException(A.UnsupportedError$("Setting element in WasmValueList")); + }, + get$length(receiver) { + return this.length; + } + }; + A.AsyncJavaScriptIteratable.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var iterator, controller, _null = null, t1 = {}, + t2 = this.$ti; + t2._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + iterator = type$.JSObject._as(A.JSObjectUnsafeUtilExtension__callMethod(this._jsObject, type$.JavaScriptSymbol._as(self.Symbol.asyncIterator), _null, _null, _null, _null)); + controller = A.StreamController_StreamController(_null, _null, true, t2._precomputed1); + t1.currentlyPendingPromise = null; + t2 = new A.AsyncJavaScriptIteratable_listen_fetchNext(t1, this, iterator, controller); + controller.set$onListen(t2); + controller.set$onResume(new A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary(t1, controller, t2)); + return new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A.AsyncJavaScriptIteratable_listen_fetchNext.prototype = { + call$0() { + var t2, currentlyPendingPromise, t3, _this = this, + t1 = _this._box_0; + A.assertHelper(t1.currentlyPendingPromise == null); + t2 = type$.JSObject; + currentlyPendingPromise = t2._as(_this.iterator.next()); + t1.currentlyPendingPromise = currentlyPendingPromise; + t3 = _this.controller; + A.promiseToFuture(currentlyPendingPromise, t2).then$1$2$onError(new A.AsyncJavaScriptIteratable_listen_fetchNext_closure(t1, _this.$this, t3, _this), t3.get$addError(), type$.Null); + }, + $signature: 0 + }; + A.AsyncJavaScriptIteratable_listen_fetchNext_closure.prototype = { + call$1(result) { + var t1, t2, value, t3, _this = this; + type$.JSObject._as(result); + t1 = A._asBoolQ(result.done); + if (t1 == null) + t1 = null; + t2 = _this.$this.$ti; + value = t2._eval$1("1?")._as(result.value); + t3 = _this.controller; + if (t1 === true) { + t3.close$0(); + _this._box_0.currentlyPendingPromise = null; + } else { + t3.add$1(0, value == null ? t2._precomputed1._as(value) : value); + _this._box_0.currentlyPendingPromise = null; + t1 = t3._async$_state; + if (!((t1 & 1) !== 0 ? (t3.get$_subscription()._async$_state & 4) !== 0 : (t1 & 2) === 0)) + _this.fetchNext.call$0(); + } + }, + $signature: 9 + }; + A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary.prototype = { + call$0() { + var t1, t2; + if (this._box_0.currentlyPendingPromise == null) { + t1 = this.controller; + t2 = t1._async$_state; + t1 = !((t2 & 1) !== 0 ? (t1.get$_subscription()._async$_state & 4) !== 0 : (t2 & 2) === 0); + } else + t1 = false; + if (t1) + this.fetchNext.call$0(); + }, + $signature: 0 + }; + A._CursorReader.prototype = { + cancel$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$cancel$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._onSuccess; + if (t1 != null) + t1.cancel$0(); + t1 = $async$self._indexed_db0$_onError; + if (t1 != null) + t1.cancel$0(); + $async$self._indexed_db0$_onError = $async$self._onSuccess = null; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$cancel$0, $async$completer); + }, + get$current() { + var t1 = this._cursor; + return t1 == null ? A.throwExpression(A.StateError$("Await moveNext() first")) : t1; + }, + moveNext$0() { + var t1, completer, t2, t3, t4, _this = this; + if (A.assertTest(_this._onSuccess == null && _this._indexed_db0$_onError == null)) + A.assertThrow("moveNext() called twice"); + t1 = _this._cursor; + if (t1 != null) + t1.continue(); + t1 = new A._Future($.Zone__current, type$._Future_bool); + completer = new A._SyncCompleter(t1, type$._SyncCompleter_bool); + t2 = _this._cursorRequest; + t3 = type$.nullable_void_Function_JSObject; + t4 = type$.JSObject; + _this._onSuccess = A._EventStreamSubscription$(t2, "success", t3._as(new A._CursorReader_moveNext_closure(_this, completer)), false, t4); + _this._indexed_db0$_onError = A._EventStreamSubscription$(t2, "error", t3._as(new A._CursorReader_moveNext_closure0(_this, completer)), false, t4); + return t1; + }, + set$_cursor(_cursor) { + this._cursor = this.$ti._eval$1("1?")._as(_cursor); + } + }; + A._CursorReader_moveNext_closure.prototype = { + call$1($event) { + var t1 = this.$this; + t1.cancel$0(); + t1.set$_cursor(t1.$ti._eval$1("1?")._as(t1._cursorRequest.result)); + this.completer.complete$1(t1._cursor != null); + }, + $signature: 1 + }; + A._CursorReader_moveNext_closure0.prototype = { + call$1($event) { + var t1 = this.$this; + t1.cancel$0(); + t1 = type$.nullable_JSObject._as(t1._cursorRequest.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure0.prototype = { + call$1($event) { + var t1 = type$.nullable_JSObject._as(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure0.prototype = { + call$1($event) { + var t1 = type$.nullable_JSObject._as(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure1.prototype = { + call$1($event) { + var t1 = type$.nullable_JSObject._as(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.WasmInstance.prototype = { + WasmInstance$_$1(nativeInstance) { + var t4, t5, t6, key, value, + t1 = self, + t2 = type$.JSObject, + t3 = type$.JSArray_nullable_Object._as(t1.Object.keys(t2._as(nativeInstance.exports))); + t3 = B.JSArray_methods.get$iterator(t3); + t4 = type$.JavaScriptFunction; + t5 = this.globals; + t6 = this.functions; + for (; t3.moveNext$0();) { + key = A._asString(t3.get$current()); + value = t2._as(nativeInstance.exports)[key]; + if (typeof value === "function") + t6.$indexSet(0, key, t4._as(value)); + else if (value instanceof t4._as(t1.WebAssembly.Global)) + t5.$indexSet(0, key, t2._as(value)); + } + } + }; + A.WasmInstance_load_closure.prototype = { + call$2(module, moduleImports) { + var _this; + A._asString(module); + type$.Map_of_String_and_nullable_Object._as(moduleImports); + _this = {}; + this.importsJs[module] = _this; + moduleImports.forEach$1(0, new A.WasmInstance_load__closure(_this)); + }, + $signature: 66 + }; + A.WasmInstance_load__closure.prototype = { + call$2($name, value) { + this.moduleJs[A._asString($name)] = value; + }, + $signature: 67 + }; + A.WasmSqlite3.prototype = {}; + A.WasmVfs.prototype = { + _runInWorker$2$2(operation, requestData, Req, Res) { + var t2, t3, rc, + _s12_ = "_runInWorker", + t1 = type$.Message; + A.checkTypeBound(Req, t1, "Req", _s12_); + A.checkTypeBound(Res, t1, "Res", _s12_); + Req._eval$1("@<0>")._bind$1(Res)._eval$1("WorkerOperation<1,2>")._as(operation); + t1 = this.serializer; + t1.write$1(Req._as(requestData)); + t2 = this.synchronizer.int32View; + t3 = self; + A._asInt(t3.Atomics.store(t2, 1, -1)); + A._asInt(t3.Atomics.store(t2, 0, operation.index)); + A.Atomics_notify(t2, 0); + A._asString(t3.Atomics.wait(t2, 1, -1)); + rc = A._asInt(t3.Atomics.load(t2, 1)); + if (rc !== 0) + throw A.wrapException(A.VfsException$(rc)); + return operation.readResponse.call$1(t1); + }, + xAccess$2(path, flags) { + return this._runInWorker$2$2(B.WorkerOperation_Gkh, new A.NameAndInt32Flags(path, flags, 0, 0), type$.NameAndInt32Flags, type$.Flags).flag0; + }, + xDelete$2(path, syncDir) { + this._runInWorker$2$2(B.WorkerOperation_AxI, new A.NameAndInt32Flags(path, syncDir, 0, 0), type$.NameAndInt32Flags, type$.EmptyMessage); + }, + xFullPathName$1(path) { + var resolved = this.pathContext.absolute$1(path); + if ($.$get$context()._isWithinOrEquals$2("/", resolved) !== B._PathRelation_within) + throw A.wrapException(B.VfsException_14); + return resolved; + }, + xOpen$2(path, flags) { + var filePath = path.path, + result = this._runInWorker$2$2(B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen, new A.NameAndInt32Flags(filePath == null ? A.GenerateFilename_randomFileName(this.random, "/") : filePath, flags, 0, 0), type$.NameAndInt32Flags, type$.Flags); + return new A._Record_2_file_outFlags(new A.WasmFile(this, result.flag1), result.flag0); + }, + xSleep$1(duration) { + this._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_5_xSleep, new A.Flags(B.JSInt_methods._tdivFast$1(duration._duration, 1000), 0, 0), type$.Flags, type$.EmptyMessage); + }, + close$0() { + var t1 = type$.EmptyMessage; + this._runInWorker$2$2(B.WorkerOperation_readEmpty_readEmpty_12_stopServer, B.C_EmptyMessage, t1, t1); + } + }; + A.WasmFile.prototype = { + get$xDeviceCharacteristics() { + return 2048; + }, + readInto$2(buffer, offset) { + var t1, t2, t3, t4, t5, t6, t7, totalBytesRead, bytesToRead, bytesRead, t8, t9, + remainingBytes = buffer.length; + for (t1 = type$.JSObject, t2 = this.vfs, t3 = this.fd, t4 = type$.Flags, t5 = t2.serializer.buffer, t6 = type$.JavaScriptFunction, t7 = type$.NativeUint8List, totalBytesRead = 0; remainingBytes > 0;) { + bytesToRead = Math.min(65536, remainingBytes); + remainingBytes -= bytesToRead; + bytesRead = t2._runInWorker$2$2(B.WorkerOperation_readFlags_readFlags_3_xRead, new A.Flags(t3, offset + totalBytesRead, bytesToRead), t4, t4).flag0; + t8 = t6._as(self.Uint8Array); + t9 = [t5]; + t9.push(0); + t9.push(bytesRead); + A.JSObjectUnsafeUtilExtension__callMethod(buffer, "set", t7._as(A.callConstructor(t8, t9, t1)), totalBytesRead, null, null); + totalBytesRead += bytesRead; + if (bytesRead < bytesToRead) + break; + } + return totalBytesRead; + }, + xCheckReservedLock$0() { + return this.lockStatus !== 0 ? 1 : 0; + }, + xClose$0() { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_6_xClose, new A.Flags(this.fd, 0, 0), type$.Flags, type$.EmptyMessage); + }, + xFileSize$0() { + var t1 = type$.Flags; + return this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readFlags_7_xFileSize, new A.Flags(this.fd, 0, 0), t1, t1).flag0; + }, + xLock$1(mode) { + var _this = this; + if (_this.lockStatus === 0) + _this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_10_xLock, new A.Flags(_this.fd, mode, 0), type$.Flags, type$.EmptyMessage); + _this.lockStatus = mode; + }, + xSync$1(flags) { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_8_xSync, new A.Flags(this.fd, 0, 0), type$.Flags, type$.EmptyMessage); + }, + xTruncate$1(size) { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_9_xTruncate, new A.Flags(this.fd, size, 0), type$.Flags, type$.EmptyMessage); + }, + xUnlock$1(mode) { + if (this.lockStatus !== 0 && mode === 0) + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_11_xUnlock, new A.Flags(this.fd, mode, 0), type$.Flags, type$.EmptyMessage); + }, + xWrite$2(buffer, fileOffset) { + var t1, t2, t3, t4, t5, totalBytesWritten, bytesToWrite, subBuffer, t6, t7, + remainingBytes = buffer.length; + for (t1 = this.vfs, t2 = t1.serializer.byteView, t3 = this.fd, t4 = type$.Flags, t5 = type$.EmptyMessage, totalBytesWritten = 0; remainingBytes > 0;) { + bytesToWrite = Math.min(65536, remainingBytes); + if (bytesToWrite === remainingBytes) + subBuffer = buffer; + else { + t6 = buffer.buffer; + t7 = buffer.byteOffset; + subBuffer = new Uint8Array(t6, t7, bytesToWrite); + } + A.JSObjectUnsafeUtilExtension__callMethod(t2, "set", subBuffer, 0, null, null); + t1._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_4_xWrite, new A.Flags(t3, fileOffset + totalBytesWritten, bytesToWrite), t4, t5); + totalBytesWritten += bytesToWrite; + remainingBytes -= bytesToWrite; + } + } + }; + A.RequestResponseSynchronizer.prototype = {}; + A.MessageSerializer.prototype = { + write$1(message) { + var t1, encoded; + if (!(message instanceof A.EmptyMessage)) + if (message instanceof A.Flags) { + t1 = this.dataView; + B.NativeByteData_methods._setInt32$3(t1, 0, message.flag0, false); + B.NativeByteData_methods._setInt32$3(t1, 4, message.flag1, false); + B.NativeByteData_methods._setInt32$3(t1, 8, message.flag2, false); + if (message instanceof A.NameAndInt32Flags) { + encoded = B.C_Utf8Encoder.convert$1(message.name); + B.NativeByteData_methods._setInt32$3(t1, 12, encoded.length, false); + B.NativeUint8List_methods.setAll$2(this.byteView, 16, encoded); + } + } else + throw A.wrapException(A.UnsupportedError$("Message " + message.toString$0(0))); + } + }; + A.WorkerOperation.prototype = { + _enumToString$0() { + return "WorkerOperation." + this._core$_name; + }, + readRequest$1(arg0) { + return this.readRequest.call$1(arg0); + } + }; + A.Message0.prototype = {}; + A.EmptyMessage.prototype = {}; + A.Flags.prototype = {}; + A.NameAndInt32Flags.prototype = {}; + A._ResolvedPath.prototype = {}; + A.VfsWorker.prototype = { + _resolvePath$2$createDirectories(absolutePath, createDirectories) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$._ResolvedPath), + $async$returnValue, $async$self = this, t2, $directories, file, dirHandle, _i, t1, fullPath, _0_0, _0_1; + var $async$_resolvePath$2$createDirectories = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $.$get$url(); + fullPath = t1.relative$2$from(absolutePath, "/"); + _0_0 = t1.split$1(0, fullPath); + _0_1 = _0_0.length; + t1 = _0_1 >= 1; + if (t1) { + t2 = _0_1 - 1; + $directories = B.JSArray_methods.sublist$2(_0_0, 0, t2); + if (!(t2 >= 0 && t2 < _0_0.length)) { + $async$returnValue = A.ioore(_0_0, t2); + // goto return + $async$goto = 1; + break; + } + file = _0_0[t2]; + } else { + $directories = null; + file = null; + } + if (!t1) + throw A.wrapException(A.StateError$("Pattern matching error")); + dirHandle = $async$self.root; + t1 = $directories.length, t2 = type$.JSObject, _i = 0; + case 3: + // for condition + if (!(_i < $directories.length)) { + // goto after for + $async$goto = 5; + break; + } + $async$goto = 6; + return A._asyncAwait(A.promiseToFuture(t2._as(dirHandle.getDirectoryHandle($directories[_i], {create: createDirectories})), t2), $async$_resolvePath$2$createDirectories); + case 6: + // returning from await. + dirHandle = $async$result; + case 4: + // for update + $directories.length === t1 || (0, A.throwConcurrentModificationError)($directories), ++_i; + // goto for condition + $async$goto = 3; + break; + case 5: + // after for + $async$returnValue = new A._ResolvedPath(fullPath, dirHandle, file); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_resolvePath$2$createDirectories, $async$completer); + }, + _resolvePath$1(absolutePath) { + return this._resolvePath$2$createDirectories(absolutePath, false); + }, + _xAccess$1(flags) { + return this._xAccess$body$VfsWorker(flags); + }, + _xAccess$body$VfsWorker(flags) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, resolved, t1, t2, exception, $async$exception; + var $async$_xAccess$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait($async$self._resolvePath$1(flags.name), $async$_xAccess$1); + case 7: + // returning from await. + resolved = $async$result; + t1 = resolved; + t2 = type$.JSObject; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(t2._as(t1.directory.getFileHandle(t1.filename, {create: false})), t2), $async$_xAccess$1); + case 8: + // returning from await. + $async$returnValue = new A.Flags(1, 0, 0); + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + $async$returnValue = new A.Flags(0, 0, 0); + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xAccess$1, $async$completer); + }, + _xDelete$1(options) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$self = this, e, exception, resolved, $async$exception; + var $async$_xDelete$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self._resolvePath$1(options.name), $async$_xDelete$1); + case 2: + // returning from await. + resolved = $async$result; + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait(A.FileSystemDirectoryHandleApi_remove(resolved.directory, resolved.filename), $async$_xDelete$1); + case 7: + // returning from await. + $async$handler = 1; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + e = A.unwrapException($async$exception); + A.S(e); + throw A.wrapException(B.VfsException_2570); + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 6: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xDelete$1, $async$completer); + }, + _xOpen$1(req) { + return this._xOpen$body$VfsWorker(req); + }, + _xOpen$body$VfsWorker(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, exception, t1, t2, t3, fileHandle, readonly, flags, create, resolved, $async$exception; + var $async$_xOpen$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + flags = req.flag0; + create = (flags & 4) !== 0; + resolved = null; + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait($async$self._resolvePath$2$createDirectories(req.name, create), $async$_xOpen$1); + case 7: + // returning from await. + resolved = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$currentError; + t1 = A.VfsException$(12); + throw A.wrapException(t1); + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = resolved; + t2 = A._asBool(create); + t3 = type$.JSObject; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(t3._as(t1.directory.getFileHandle(t1.filename, {create: t2})), t3), $async$_xOpen$1); + case 8: + // returning from await. + fileHandle = $async$result; + readonly = !A.boolConversionCheck(create) && (flags & 1) !== 0; + t1 = $async$self._fdCounter++; + t2 = resolved.directory; + $async$self._openFiles.$indexSet(0, t1, new A._OpenedFileHandle(t1, readonly, (flags & 8) !== 0, resolved.fullPath, t2, resolved.filename, fileHandle)); + $async$returnValue = new A.Flags(readonly ? 1 : 0, t1, 0); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xOpen$1, $async$completer); + }, + _xRead$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$self = this, bufferLength, t1, $async$temp1, $async$temp2; + var $async$_xRead$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + bufferLength = req.flag2; + A.assertHelper(bufferLength <= 65536); + $async$temp1 = A; + $async$temp2 = A; + $async$goto = 3; + return A._asyncAwait($async$self._openForSynchronousAccess$1(t1), $async$_xRead$1); + case 3: + // returning from await. + $async$returnValue = new $async$temp1.Flags($async$temp2.FileSystemSyncAccessHandleApi_readDart($async$result, A.SharedArrayBuffer_asUint8ListSlice($async$self.messages.buffer, 0, bufferLength), {at: req.flag1}), 0, 0); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xRead$1, $async$completer); + }, + _xWrite$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, bufferLength, t1, $async$temp1; + var $async$_xWrite$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + bufferLength = req.flag2; + A.assertHelper(bufferLength <= 65536); + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait($async$self._openForSynchronousAccess$1(t1), $async$_xWrite$1); + case 3: + // returning from await. + if ($async$temp1.FileSystemSyncAccessHandleApi_writeDart($async$result, A.SharedArrayBuffer_asUint8ListSlice($async$self.messages.buffer, 0, bufferLength), {at: req.flag1}) !== bufferLength) + throw A.wrapException(B.VfsException_778); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xWrite$1, $async$completer); + }, + _xClose$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, file; + var $async$_xClose$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.remove$1(0, req.flag0); + $async$self._implicitlyHeldLocks.remove$1(0, file); + if (file == null) + throw A.wrapException(B.VfsException_12); + $async$self._closeSyncHandle$1(file); + $async$goto = file.deleteOnClose ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait(A.FileSystemDirectoryHandleApi_remove(file.directory, file.filename), $async$_xClose$1); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_xClose$1, $async$completer); + }, + _xFileSize$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, file, syncHandle, size, t1; + var $async$_xFileSize$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xFileSize$1); + case 6: + // returning from await. + syncHandle = $async$result; + size = A._asInt(syncHandle.getSize()); + $async$returnValue = new A.Flags(size, 0, 0); + $async$next = [1]; + // goto finally + $async$goto = 4; + break; + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + t1 = type$._OpenedFileHandle._as(file); + if ($async$self._implicitlyHeldLocks.remove$1(0, t1)) + $async$self._closeSyncHandleNoThrow$1(t1); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xFileSize$1, $async$completer); + }, + _xTruncate$1(req) { + return this._xTruncate$body$VfsWorker(req); + }, + _xTruncate$body$VfsWorker(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, file, syncHandle, t1; + var $async$_xTruncate$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + if (file.readonly) + A.throwExpression(B.VfsException_8); + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xTruncate$1); + case 6: + // returning from await. + syncHandle = $async$result; + syncHandle.truncate(req.flag1); + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + t1 = type$._OpenedFileHandle._as(file); + if ($async$self._implicitlyHeldLocks.remove$1(0, t1)) + $async$self._closeSyncHandleNoThrow$1(t1); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xTruncate$1, $async$completer); + }, + _xSync$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, file, syncHandle; + var $async$_xSync$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.$index(0, req.flag0); + syncHandle = file.syncHandle; + if (!file.readonly && syncHandle != null) + syncHandle.flush(); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xSync$1, $async$completer); + }, + _xLock$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, file, exception, t1, $async$exception; + var $async$_xLock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + $async$goto = file.syncHandle == null ? 3 : 5; + break; + case 3: + // then + $async$handler = 7; + $async$goto = 10; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xLock$1); + case 10: + // returning from await. + file.explicitlyLocked = true; + $async$handler = 2; + // goto after finally + $async$goto = 9; + break; + case 7: + // catch + $async$handler = 6; + $async$exception = $async$currentError; + throw A.wrapException(B.VfsException_3850); + // goto after finally + $async$goto = 9; + break; + case 6: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 9: + // after finally + // goto join + $async$goto = 4; + break; + case 5: + // else + file.explicitlyLocked = true; + case 4: + // join + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_xLock$1, $async$completer); + }, + _xUnlock$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, file; + var $async$_xUnlock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.$index(0, req.flag0); + if (file.syncHandle != null && req.flag1 === 0) + $async$self._closeSyncHandle$1(file); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xUnlock$1, $async$completer); + }, + start$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, opcode, request, rc, response, e, e0, t1, t2, t3, t4, t5, t6, t7, t8, t9, opcode0, exception, t10, $async$exception; + var $async$start$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.synchronizer.int32View, t2 = $async$self.messages, t3 = $async$self._implicitlyHeldLocks, t4 = t3.$ti._precomputed1, t5 = $async$self.get$_releaseImplicitLock(), t6 = type$.Flags, t7 = type$.NameAndInt32Flags, t8 = type$.void; + case 3: + // for condition + if (!!$async$self._stopped) { + // goto after for + $async$goto = 4; + break; + } + t9 = self; + if (A._asString(t9.Atomics.wait(t1, 0, 0, 150)) === "timed-out") { + B.JSArray_methods.forEach$1(A.List_List$of(t3, true, t4), t5); + // goto for condition + $async$goto = 3; + break; + } + opcode0 = A._asInt(t9.Atomics.load(t1, 0)); + A._asInt(t9.Atomics.store(t1, 0, 0)); + if (!(opcode0 >= 0 && opcode0 < 13)) { + $async$returnValue = A.ioore(B.List_ckn, opcode0); + // goto return + $async$goto = 1; + break; + } + opcode = B.List_ckn[opcode0]; + request = null; + rc = null; + $async$handler = 6; + response = null; + request = opcode.readRequest$1(t2); + case 9: + // switch + switch (opcode) { + case B.WorkerOperation_readFlags_readEmpty_5_xSleep: + // goto case + $async$goto = 11; + break; + case B.WorkerOperation_Gkh: + // goto case + $async$goto = 12; + break; + case B.WorkerOperation_AxI: + // goto case + $async$goto = 13; + break; + case B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen: + // goto case + $async$goto = 14; + break; + case B.WorkerOperation_readFlags_readFlags_3_xRead: + // goto case + $async$goto = 15; + break; + case B.WorkerOperation_readFlags_readEmpty_4_xWrite: + // goto case + $async$goto = 16; + break; + case B.WorkerOperation_readFlags_readEmpty_6_xClose: + // goto case + $async$goto = 17; + break; + case B.WorkerOperation_readFlags_readFlags_7_xFileSize: + // goto case + $async$goto = 18; + break; + case B.WorkerOperation_readFlags_readEmpty_9_xTruncate: + // goto case + $async$goto = 19; + break; + case B.WorkerOperation_readFlags_readEmpty_8_xSync: + // goto case + $async$goto = 20; + break; + case B.WorkerOperation_readFlags_readEmpty_10_xLock: + // goto case + $async$goto = 21; + break; + case B.WorkerOperation_readFlags_readEmpty_11_xUnlock: + // goto case + $async$goto = 22; + break; + case B.WorkerOperation_readEmpty_readEmpty_12_stopServer: + // goto case + $async$goto = 23; + break; + default: + // goto after switch + $async$goto = 10; + break; + } + break; + case 11: + // case + B.JSArray_methods.forEach$1(A.List_List$of(t3, true, t4), t5); + $async$goto = 24; + return A._asyncAwait(A.Future_Future$delayed(A.Duration$(0, t6._as(request).flag0), t8), $async$start$0); + case 24: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 12: + // case + $async$goto = 25; + return A._asyncAwait($async$self._xAccess$1(t7._as(request)), $async$start$0); + case 25: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 13: + // case + $async$goto = 26; + return A._asyncAwait($async$self._xDelete$1(t7._as(request)), $async$start$0); + case 26: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 14: + // case + $async$goto = 27; + return A._asyncAwait($async$self._xOpen$1(t7._as(request)), $async$start$0); + case 27: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 15: + // case + $async$goto = 28; + return A._asyncAwait($async$self._xRead$1(t6._as(request)), $async$start$0); + case 28: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 16: + // case + $async$goto = 29; + return A._asyncAwait($async$self._xWrite$1(t6._as(request)), $async$start$0); + case 29: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 17: + // case + $async$goto = 30; + return A._asyncAwait($async$self._xClose$1(t6._as(request)), $async$start$0); + case 30: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 18: + // case + $async$goto = 31; + return A._asyncAwait($async$self._xFileSize$1(t6._as(request)), $async$start$0); + case 31: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 19: + // case + $async$goto = 32; + return A._asyncAwait($async$self._xTruncate$1(t6._as(request)), $async$start$0); + case 32: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 20: + // case + $async$goto = 33; + return A._asyncAwait($async$self._xSync$1(t6._as(request)), $async$start$0); + case 33: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 21: + // case + $async$goto = 34; + return A._asyncAwait($async$self._xLock$1(t6._as(request)), $async$start$0); + case 34: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 22: + // case + $async$goto = 35; + return A._asyncAwait($async$self._xUnlock$1(t6._as(request)), $async$start$0); + case 35: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 23: + // case + response = B.C_EmptyMessage; + $async$self._stopped = true; + B.JSArray_methods.forEach$1(A.List_List$of(t3, true, t4), t5); + // goto after switch + $async$goto = 10; + break; + case 10: + // after switch + t2.write$1(response); + rc = 0; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$currentError; + t10 = A.unwrapException($async$exception); + if (t10 instanceof A.VfsException) { + e = t10; + A.S(e); + A.S(opcode); + A.S(request); + rc = e.returnCode; + } else { + e0 = t10; + A.S(e0); + A.S(opcode); + A.S(request); + rc = 1; + } + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + t10 = A._asInt(rc); + A._asInt(t9.Atomics.store(t1, 1, t10)); + t9.Atomics.notify(t1, 1, 1 / 0); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$start$0, $async$completer); + }, + _releaseImplicitLock$1(handle) { + type$._OpenedFileHandle._as(handle); + if (this._implicitlyHeldLocks.remove$1(0, handle)) + this._closeSyncHandleNoThrow$1(handle); + }, + _openForSynchronousAccess$1(file) { + return this._openForSynchronousAccess$body$VfsWorker(file); + }, + _openForSynchronousAccess$body$VfsWorker(file) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, attempt, handle, t1, t2, t3, handle0, t4, exception, existing, $async$exception; + var $async$_openForSynchronousAccess$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + existing = file.syncHandle; + if (existing != null) { + $async$returnValue = existing; + // goto return + $async$goto = 1; + break; + } + attempt = 1; + t1 = file.file, t2 = type$.JSObject, t3 = $async$self._implicitlyHeldLocks; + case 3: + // for condition + // trivial condition + $async$handler = 6; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(t2._as(t1.createSyncAccessHandle()), t2), $async$_openForSynchronousAccess$1); + case 9: + // returning from await. + handle0 = $async$result; + file.set$syncHandle(handle0); + handle = handle0; + if (!file.explicitlyLocked) + t3.add$1(0, file); + t4 = handle; + $async$returnValue = t4; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$currentError; + if (J.$eq$(attempt, 6)) + throw A.wrapException(B.VfsException_10); + A.S(attempt); + t4 = attempt; + if (typeof t4 !== "number") { + $async$returnValue = t4.$add(); + // goto return + $async$goto = 1; + break; + } + attempt = t4 + 1; + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$_openForSynchronousAccess$1, $async$completer); + }, + _closeSyncHandleNoThrow$1(handle) { + var exception; + try { + this._closeSyncHandle$1(handle); + } catch (exception) { + } + }, + _closeSyncHandle$1(handle) { + var syncHandle = handle.syncHandle; + if (syncHandle != null) { + handle.syncHandle = null; + this._implicitlyHeldLocks.remove$1(0, handle); + handle.explicitlyLocked = false; + syncHandle.close(); + } + } + }; + A._OpenedFileHandle.prototype = { + set$syncHandle(syncHandle) { + this.syncHandle = type$.nullable_JSObject._as(syncHandle); + } + }; + A.AsynchronousIndexedDbFileSystem.prototype = { + _rangeOverFile$3$endOffsetInclusive$startOffset(fileId, endOffsetInclusive, startOffset) { + var t1 = type$.JSArray_double; + return type$.JSObject._as(self.IDBKeyRange.bound(A._setArrayType([fileId, startOffset], t1), A._setArrayType([fileId, endOffsetInclusive], t1))); + }, + _rangeOverFile$1(fileId) { + return this._rangeOverFile$3$endOffsetInclusive$startOffset(fileId, 9007199254740992, 0); + }, + _rangeOverFile$2$startOffset(fileId, startOffset) { + return this._rangeOverFile$3$endOffsetInclusive$startOffset(fileId, 9007199254740992, startOffset); + }, + open$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, openRequest, t3; + var $async$open$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = new A._Future($.Zone__current, type$._Future_JSObject); + t2 = type$.JSObject; + openRequest = t2._as(type$.nullable_JSObject._as(self.indexedDB).open($async$self._dbName, 1)); + t3 = type$.JavaScriptFunction._as(A.allowInterop(new A.AsynchronousIndexedDbFileSystem_open_closure(openRequest), type$.Function)); + if (A.assertTest(typeof t3 == "function")) + A.assertThrow(string$.Dart_f); + openRequest.onupgradeneeded = t3; + new A._SyncCompleter(t1, type$._SyncCompleter_JSObject).complete$1(A.CompleteOpenIdbRequest_completeOrBlocked(openRequest, t2)); + $async$goto = 2; + return A._asyncAwait(t1, $async$open$0); + case 2: + // returning from await. + $async$self.set$_indexed_db$_database($async$result); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$open$0, $async$completer); + }, + close$0() { + var t1 = this._indexed_db$_database; + if (t1 != null) + t1.close(); + }, + listFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_int), + $async$returnValue, $async$self = this, row, t2, t1, result, iterator, $async$temp1; + var $async$listFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + iterator = new A._CursorReader(t1._as(t1._as(t1._as(t1._as($async$self._indexed_db$_database.transaction("files", "readonly")).objectStore("files")).index("fileName")).openKeyCursor()), type$._CursorReader_JSObject); + case 3: + // for condition + $async$temp1 = A; + $async$goto = 5; + return A._asyncAwait(iterator.moveNext$0(), $async$listFiles$0); + case 5: + // returning from await. + if (!$async$temp1.boolConversionCheck($async$result)) { + // goto after for + $async$goto = 4; + break; + } + row = iterator._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + t1 = row.key; + t1.toString; + A._asString(t1); + t2 = row.primaryKey; + t2.toString; + result.$indexSet(0, t1, A._asInt(A._asDouble(t2))); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$listFiles$0, $async$completer); + }, + fileIdForPath$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_int), + $async$returnValue, $async$self = this, t1, $async$temp1; + var $async$fileIdForPath$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.CompleteIdbRequest_complete(t1._as(t1._as(t1._as(t1._as($async$self._indexed_db$_database.transaction("files", "readonly")).objectStore("files")).index("fileName")).getKey(path)), type$.double), $async$fileIdForPath$1); + case 3: + // returning from await. + $async$returnValue = $async$temp1._asInt($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$fileIdForPath$1, $async$completer); + }, + createFile$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1, $async$temp1; + var $async$createFile$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.CompleteIdbRequest_complete(t1._as(t1._as(t1._as($async$self._indexed_db$_database.transaction("files", "readwrite")).objectStore("files")).put({name: path, length: 0})), type$.double), $async$createFile$1); + case 3: + // returning from await. + $async$returnValue = $async$temp1._asInt($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$createFile$1, $async$completer); + }, + _readFile$2(transaction, fileId) { + var t1 = type$.JSObject; + return A.CompleteIdbRequest_complete(t1._as(t1._as(transaction.objectStore("files")).get(fileId)), type$.nullable_JSObject).then$1$1(new A.AsynchronousIndexedDbFileSystem__readFile_closure(fileId), t1); + }, + readFully$1(fileId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), + $async$returnValue, $async$self = this, t2, transaction, blocks, file, result, readOperations, reader, row, t, rowOffset, t1, $async$temp1; + var $async$readFully$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + t2 = type$.JSObject; + transaction = t2._as(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readonly")); + blocks = t2._as(transaction.objectStore("blocks")); + $async$goto = 3; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$readFully$1); + case 3: + // returning from await. + file = $async$result; + t1 = A._asInt(file.length); + result = new Uint8Array(t1); + readOperations = A._setArrayType([], type$.JSArray_Future_void); + reader = new A._CursorReader(t2._as(blocks.openCursor($async$self._rangeOverFile$1(fileId))), type$._CursorReader_JSObject); + t1 = type$.void, t2 = type$.JSArray_nullable_Object; + case 4: + // for condition + $async$temp1 = A; + $async$goto = 6; + return A._asyncAwait(reader.moveNext$0(), $async$readFully$1); + case 6: + // returning from await. + if (!$async$temp1.boolConversionCheck($async$result)) { + // goto after for + $async$goto = 5; + break; + } + row = reader._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + t = t2._as(row.key); + if (1 < 0 || 1 >= t.length) { + $async$returnValue = A.ioore(t, 1); + // goto return + $async$goto = 1; + break; + } + rowOffset = A._asInt(A._asDouble(t[1])); + B.JSArray_methods.add$1(readOperations, A.Future_Future$sync(new A.AsynchronousIndexedDbFileSystem_readFully_closure(row, result, rowOffset, Math.min(4096, A._asInt(file.length) - rowOffset)), t1)); + // goto for condition + $async$goto = 4; + break; + case 5: + // after for + $async$goto = 7; + return A._asyncAwait(A.Future_wait(readOperations, t1), $async$readFully$1); + case 7: + // returning from await. + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$readFully$1, $async$completer); + }, + _write$2(fileId, writes) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, transaction, blocks, file, t3, changedOffsets, fileCursor, t1; + var $async$_write$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + t2 = type$.JSObject; + transaction = t2._as(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readwrite")); + blocks = t2._as(transaction.objectStore("blocks")); + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$_write$2); + case 2: + // returning from await. + file = $async$result; + t1 = writes.replacedBlocks; + t3 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"); + changedOffsets = A.List_List$of(new A.LinkedHashMapKeyIterable(t1, t3), true, t3._eval$1("Iterable.E")); + B.JSArray_methods.sort$0(changedOffsets); + t3 = A._arrayInstanceType(changedOffsets); + $async$goto = 3; + return A._asyncAwait(A.Future_wait(new A.MappedListIterable(changedOffsets, t3._eval$1("Future<~>(1)")._as(new A.AsynchronousIndexedDbFileSystem__write_closure(new A.AsynchronousIndexedDbFileSystem__write_writeBlock(blocks, fileId), writes)), t3._eval$1("MappedListIterable<1,Future<~>>")), type$.void), $async$_write$2); + case 3: + // returning from await. + $async$goto = writes.newFileLength !== A._asInt(file.length) ? 4 : 5; + break; + case 4: + // then + fileCursor = new A._CursorReader(t2._as(t2._as(transaction.objectStore("files")).openCursor(fileId)), type$._CursorReader_JSObject); + $async$goto = 6; + return A._asyncAwait(fileCursor.moveNext$0(), $async$_write$2); + case 6: + // returning from await. + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(t2._as(fileCursor.get$current().update({name: A._asString(file.name), length: writes.newFileLength})), type$.nullable_Object), $async$_write$2); + case 7: + // returning from await. + case 5: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_write$2, $async$completer); + }, + truncate$2(_, fileId, $length) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, transaction, files, blocks, file, fileCursor, t1; + var $async$truncate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + t2 = type$.JSObject; + transaction = t2._as(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readwrite")); + files = t2._as(transaction.objectStore("files")); + blocks = t2._as(transaction.objectStore("blocks")); + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$truncate$2); + case 2: + // returning from await. + file = $async$result; + $async$goto = A._asInt(file.length) > $length ? 3 : 4; + break; + case 3: + // then + $async$goto = 5; + return A._asyncAwait(A.CompleteIdbRequest_complete(t2._as(blocks.delete($async$self._rangeOverFile$2$startOffset(fileId, B.JSInt_methods._tdivFast$1($length, 4096) * 4096 + 1))), type$.nullable_Object), $async$truncate$2); + case 5: + // returning from await. + case 4: + // join + fileCursor = new A._CursorReader(t2._as(files.openCursor(fileId)), type$._CursorReader_JSObject); + $async$goto = 6; + return A._asyncAwait(fileCursor.moveNext$0(), $async$truncate$2); + case 6: + // returning from await. + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(t2._as(fileCursor.get$current().update({name: A._asString(file.name), length: $length})), type$.nullable_Object), $async$truncate$2); + case 7: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$truncate$2, $async$completer); + }, + deleteFile$1(id) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, transaction, blocksRange, t1; + var $async$deleteFile$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + t2 = type$.JSObject; + transaction = t2._as(t1.transaction(A._setArrayType(["files", "blocks"], type$.JSArray_String), "readwrite")); + blocksRange = $async$self._rangeOverFile$3$endOffsetInclusive$startOffset(id, 9007199254740992, 0); + t1 = type$.nullable_Object; + $async$goto = 2; + return A._asyncAwait(A.Future_wait(A._setArrayType([A.CompleteIdbRequest_complete(t2._as(t2._as(transaction.objectStore("blocks")).delete(blocksRange)), t1), A.CompleteIdbRequest_complete(t2._as(t2._as(transaction.objectStore("files")).delete(id)), t1)], type$.JSArray_Future_void), type$.void), $async$deleteFile$1); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$deleteFile$1, $async$completer); + }, + set$_indexed_db$_database(_database) { + this._indexed_db$_database = type$.nullable_JSObject._as(_database); + } + }; + A.AsynchronousIndexedDbFileSystem_open_closure.prototype = { + call$1(change) { + var database, + t1 = type$.JSObject; + t1._as(change); + database = t1._as(this.openRequest.result); + if (A._asInt(change.oldVersion) === 0) { + t1._as(t1._as(database.createObjectStore("files", {autoIncrement: true})).createIndex("fileName", "name", {unique: true})); + t1._as(database.createObjectStore("blocks")); + } + }, + $signature: 9 + }; + A.AsynchronousIndexedDbFileSystem__readFile_closure.prototype = { + call$1(value) { + type$.nullable_JSObject._as(value); + if (value == null) + throw A.wrapException(A.ArgumentError$value(this.fileId, "fileId", "File not found in database")); + else + return value; + }, + $signature: 69 + }; + A.AsynchronousIndexedDbFileSystem_readFully_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, $async$temp1, $async$temp2, $async$temp3, $async$temp4; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = B.NativeUint8List_methods; + $async$temp2 = $async$self.result; + $async$temp3 = $async$self.rowOffset; + $async$temp4 = A; + $async$goto = 2; + return A._asyncAwait(A.ReadBlob_byteBuffer(type$.JSObject._as($async$self.row.value)), $async$call$0); + case 2: + // returning from await. + $async$temp1.setAll$2($async$temp2, $async$temp3, $async$temp4.NativeUint8List_NativeUint8List$view($async$result, 0, $async$self.length)); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A.AsynchronousIndexedDbFileSystem__write_writeBlock.prototype = { + call$2(blockStart, block) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, t3, t4, t5, cursor, blob; + var $async$call$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (A.assertTest(block.length === 4096)) + A.assertThrow("Invalid block size"); + t1 = $async$self.blocks; + t2 = self; + t3 = $async$self.fileId; + t4 = type$.JSArray_double; + t5 = type$.JSObject; + $async$goto = 2; + return A._asyncAwait(A.CompleteIdbRequest_complete(t5._as(t1.openCursor(t5._as(t2.IDBKeyRange.only(A._setArrayType([t3, blockStart], t4))))), type$.nullable_JSObject), $async$call$2); + case 2: + // returning from await. + cursor = $async$result; + blob = t5._as(new t2.Blob(A._setArrayType([block], type$.JSArray_NativeUint8List))); + t2 = type$.nullable_Object; + $async$goto = cursor == null ? 3 : 5; + break; + case 3: + // then + $async$goto = 6; + return A._asyncAwait(A.CompleteIdbRequest_complete(t5._as(t1.put(blob, A._setArrayType([t3, blockStart], t4))), t2), $async$call$2); + case 6: + // returning from await. + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(t5._as(cursor.update(blob)), t2), $async$call$2); + case 7: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$2, $async$completer); + }, + $signature: 70 + }; + A.AsynchronousIndexedDbFileSystem__write_closure.prototype = { + call$1(offset) { + var t1; + A._asInt(offset); + t1 = this.writes.replacedBlocks.$index(0, offset); + t1.toString; + return this.writeBlock.call$2(offset, t1); + }, + $signature: 71 + }; + A._FileWriteRequest.prototype = { + _updateBlock$3(blockOffset, offsetInBlock, data) { + B.NativeUint8List_methods.setAll$2(this.replacedBlocks.putIfAbsent$2(blockOffset, new A._FileWriteRequest__updateBlock_closure(this, blockOffset)), offsetInBlock, data); + }, + addWrite$2(offset, data) { + var t1, offsetInData, offsetInFile, t2, offsetInBlock, t3, bytesToWrite, t4, chunk; + for (t1 = data.length, offsetInData = 0; offsetInData < t1;) { + offsetInFile = offset + offsetInData; + t2 = B.JSInt_methods._tdivFast$1(offsetInFile, 4096); + offsetInBlock = B.JSInt_methods.$mod(offsetInFile, 4096); + t3 = t1 - offsetInData; + if (offsetInBlock !== 0) + bytesToWrite = Math.min(4096 - offsetInBlock, t3); + else { + bytesToWrite = Math.min(4096, t3); + offsetInBlock = 0; + } + t3 = data.buffer; + t4 = data.byteOffset; + chunk = new Uint8Array(t3, t4 + offsetInData, bytesToWrite); + offsetInData += bytesToWrite; + this._updateBlock$3(t2 * 4096, offsetInBlock, chunk); + } + this.set$newFileLength(Math.max(this.newFileLength, offset + t1)); + }, + set$newFileLength(newFileLength) { + this.newFileLength = A._asInt(newFileLength); + } + }; + A._FileWriteRequest__updateBlock_closure.prototype = { + call$0() { + var block = new Uint8Array(4096), + t1 = this.$this.originalContent, + t2 = t1.length, + t3 = this.blockOffset; + if (t2 > t3) + B.NativeUint8List_methods.setAll$2(block, 0, A.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + t3, A._asIntQ(Math.min(4096, t2 - t3)))); + return block; + }, + $signature: 72 + }; + A._OffsetAndBuffer.prototype = {}; + A.IndexedDbFileSystem.prototype = { + _submitWork$1(work) { + var _this = this; + if (_this._isClosing || _this._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + if (work.insertInto$1(_this._pendingWork)) { + _this._startWorkingIfNeeded$0(); + return work.completer.future; + } else + return A.Future_Future$value(null, type$.void); + }, + _startWorkingIfNeeded$0() { + var t1, item, _this = this; + if (_this._currentWorkItem == null && !_this._pendingWork.get$isEmpty(0)) { + t1 = _this._pendingWork; + item = _this._currentWorkItem = t1.get$first(0); + t1.remove$1(0, item); + item.completer.complete$1(A.Future_Future(item.get$run(), type$.void).whenComplete$1(new A.IndexedDbFileSystem__startWorkingIfNeeded_closure(_this))); + } + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, result, t1; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._isClosing) { + result = $async$self._submitWork$1(new A._FunctionWorkItem(type$.void_Function._as($async$self._asynchronous.get$close()), new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + $async$self._isClosing = true; + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + } else { + t1 = $async$self._pendingWork; + if (!t1.get$isEmpty(0)) { + $async$returnValue = t1.get$last(0).completer.future; + // goto return + $async$goto = 1; + break; + } + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + _fileId$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t2, t1; + var $async$_fileId$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._knownFileIds; + $async$goto = t1.containsKey$1(path) ? 3 : 5; + break; + case 3: + // then + t1 = t1.$index(0, path); + t1.toString; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 6; + return A._asyncAwait($async$self._asynchronous.fileIdForPath$1(path), $async$_fileId$1); + case 6: + // returning from await. + t2 = $async$result; + t2.toString; + t1.$indexSet(0, path, t2); + $async$returnValue = t2; + // goto return + $async$goto = 1; + break; + case 4: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_fileId$1, $async$completer); + }, + _readFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, t3, t4, t1, rawFiles, $async$temp1, $async$temp2; + var $async$_readFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._asynchronous; + $async$goto = 2; + return A._asyncAwait(t1.listFiles$0(), $async$_readFiles$0); + case 2: + // returning from await. + rawFiles = $async$result; + $async$self._knownFileIds.addAll$1(0, rawFiles); + t2 = rawFiles.get$entries(), t2 = t2.get$iterator(t2), t3 = $async$self._memory.fileData; + case 3: + // for condition + if (!t2.moveNext$0()) { + // goto after for + $async$goto = 4; + break; + } + t4 = t2.get$current(); + $async$temp1 = t3; + $async$temp2 = t4.key; + $async$goto = 5; + return A._asyncAwait(t1.readFully$1(t4.value), $async$_readFiles$0); + case 5: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_readFiles$0, $async$completer); + }, + xAccess$2(path, flags) { + return this._memory.fileData.containsKey$1(path) ? 1 : 0; + }, + xDelete$2(path, syncDir) { + var _this = this; + _this._memory.fileData.remove$1(0, path); + if (!_this._inMemoryOnlyFiles.remove$1(0, path)) + _this._submitWork$1(new A._DeleteFileWorkItem(_this, path, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var t1, t2, inMemoryFile, _this = this, + pathStr = path.path; + if (pathStr == null) + pathStr = A.GenerateFilename_randomFileName(_this.random, "/"); + t1 = _this._memory; + t2 = t1.fileData.containsKey$1(pathStr) ? 1 : 0; + inMemoryFile = t1.xOpen$2(new A.Sqlite3Filename(pathStr), flags); + if (t2 === 0) + if ((flags & 8) !== 0) + _this._inMemoryOnlyFiles.add$1(0, pathStr); + else + _this._submitWork$1(new A._CreateFileWorkItem(_this, pathStr, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + return new A._Record_2_file_outFlags(new A._IndexedDbFile(_this, inMemoryFile._0, pathStr), 0); + }, + xSleep$1(duration) { + } + }; + A.IndexedDbFileSystem__startWorkingIfNeeded_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._currentWorkItem = null; + t1._startWorkingIfNeeded$0(); + }, + $signature: 8 + }; + A._IndexedDbFile.prototype = { + xRead$2(target, fileOffset) { + this.memoryFile.xRead$2(target, fileOffset); + }, + get$xDeviceCharacteristics() { + return 0; + }, + xCheckReservedLock$0() { + return this.memoryFile._lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + }, + xFileSize$0() { + return this.memoryFile.xFileSize$0(); + }, + xLock$1(mode) { + this.memoryFile._lockMode = mode; + return null; + }, + xSync$1(flags) { + }, + xTruncate$1(size) { + var _this = this, + t1 = _this.vfs; + if (t1._isClosing || t1._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + _this.memoryFile.xTruncate$1(size); + if (!t1._inMemoryOnlyFiles.contains$1(0, _this.path)) + t1._submitWork$1(new A._FunctionWorkItem(type$.void_Function._as(new A._IndexedDbFile_xTruncate_closure(_this, size)), new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + xUnlock$1(mode) { + this.memoryFile._lockMode = mode; + return null; + }, + xWrite$2(buffer, fileOffset) { + var t2, previousContent, copy, t3, t4, + t1 = this.vfs; + if (t1._isClosing || t1._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + t2 = this.path; + previousContent = t1._memory.fileData.$index(0, t2); + if (previousContent == null) + previousContent = new Uint8Array(0); + this.memoryFile.xWrite$2(buffer, fileOffset); + if (!t1._inMemoryOnlyFiles.contains$1(0, t2)) { + copy = new Uint8Array(buffer.length); + B.NativeUint8List_methods.setAll$2(copy, 0, buffer); + t3 = A._setArrayType([], type$.JSArray__OffsetAndBuffer); + t4 = $.Zone__current; + B.JSArray_methods.add$1(t3, new A._OffsetAndBuffer(fileOffset, copy)); + t1._submitWork$1(new A._WriteFileWorkItem(t1, t2, previousContent, t3, new A._SyncCompleter(new A._Future(t4, type$._Future_void), type$._SyncCompleter_void))); + } + }, + $isVirtualFileSystemFile: 1 + }; + A._IndexedDbFile_xTruncate_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, t2, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + t2 = t1.vfs; + $async$temp1 = t2._asynchronous; + $async$goto = 3; + return A._asyncAwait(t2._fileId$1(t1.path), $async$call$0); + case 3: + // returning from await. + $async$returnValue = $async$temp1.truncate$2(0, $async$result, $async$self.size); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A._IndexedDbWorkItem.prototype = { + insertInto$1(pending) { + type$.LinkedList__IndexedDbWorkItem._as(pending); + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + } + }; + A._FunctionWorkItem.prototype = { + run$0() { + return this.work.call$0(); + } + }; + A._DeleteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1, previous, t2; + type$.LinkedList__IndexedDbWorkItem._as(pending); + if (!pending.get$isEmpty(0)) { + current = pending.get$last(0); + for (t1 = this.path; current != null;) + if (current instanceof A._DeleteFileWorkItem) + if (current.path === t1) + return false; + else + current = current.get$previous(); + else if (current instanceof A._WriteFileWorkItem) { + previous = current.get$previous(); + if (current.path === t1) { + t2 = current._list; + t2.toString; + t2._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + } + current = previous; + } else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) { + t1 = current._list; + t1.toString; + t1._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + return false; + } + current = current.get$previous(); + } else + break; + } + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, id; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + $async$goto = 2; + return A._asyncAwait(t1._fileId$1(t2), $async$run$0); + case 2: + // returning from await. + id = $async$result; + t1._knownFileIds.remove$1(0, t2); + $async$goto = 3; + return A._asyncAwait(t1._asynchronous.deleteFile$1(id), $async$run$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._CreateFileWorkItem.prototype = { + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, $async$temp1, $async$temp2; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + $async$temp1 = t1._knownFileIds; + $async$temp2 = t2; + $async$goto = 2; + return A._asyncAwait(t1._asynchronous.createFile$1(t2), $async$run$0); + case 2: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._WriteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1; + type$.LinkedList__IndexedDbWorkItem._as(pending); + current = pending._collection$_length === 0 ? null : pending.get$last(0); + for (t1 = this.path; current != null;) + if (current instanceof A._WriteFileWorkItem) + if (current.path === t1) { + B.JSArray_methods.addAll$1(current.writes, this.writes); + return false; + } else + current = current.get$previous(); + else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) + break; + current = current.get$previous(); + } else + break; + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._collection$_first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, _i, write, t1, request, $async$temp1; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.originalContent; + request = new A._FileWriteRequest(t1, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.Uint8List), t1.length); + for (t1 = $async$self.writes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + write = t1[_i]; + request.addWrite$2(write.offset, write.buffer); + } + t1 = $async$self.fileSystem; + $async$temp1 = t1._asynchronous; + $async$goto = 3; + return A._asyncAwait(t1._fileId$1($async$self.path), $async$run$0); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$temp1._write$2($async$result, request), $async$run$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A.InMemoryFileSystem.prototype = { + xAccess$2(path, flags) { + return this.fileData.containsKey$1(path) ? 1 : 0; + }, + xDelete$2(path, syncDir) { + this.fileData.remove$1(0, path); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var t1, + pathStr = path.path; + if (pathStr == null) + pathStr = A.GenerateFilename_randomFileName(this.random, "/"); + t1 = this.fileData; + if (!t1.containsKey$1(pathStr)) + if ((flags & 4) !== 0) + t1.$indexSet(0, pathStr, new Uint8Array(0)); + else + throw A.wrapException(A.VfsException$(14)); + return new A._Record_2_file_outFlags(new A._InMemoryFile(this, pathStr, (flags & 8) !== 0), 0); + }, + xSleep$1(duration) { + } + }; + A._InMemoryFile.prototype = { + readInto$2(buffer, offset) { + var available, + file = this.vfs.fileData.$index(0, this.path); + if (file == null || file.length <= offset) + return 0; + available = Math.min(buffer.length, file.length - offset); + B.NativeUint8List_methods.setRange$4(buffer, 0, available, file, offset); + return available; + }, + xCheckReservedLock$0() { + return this._lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + if (this.deleteOnClose) + this.vfs.fileData.remove$1(0, this.path); + }, + xFileSize$0() { + return this.vfs.fileData.$index(0, this.path).length; + }, + xLock$1(mode) { + this._lockMode = mode; + }, + xSync$1(flags) { + }, + xTruncate$1(size) { + var t1 = this.vfs.fileData, + t2 = this.path, + file = t1.$index(0, t2), + result = new Uint8Array(size); + if (file != null) + B.NativeUint8List_methods.setRange$3(result, 0, Math.min(size, file.length), file); + t1.$indexSet(0, t2, result); + }, + xUnlock$1(mode) { + this._lockMode = mode; + }, + xWrite$2(buffer, fileOffset) { + var t3, t4, increasedSize, newFile, + t1 = this.vfs.fileData, + t2 = this.path, + file = t1.$index(0, t2); + if (file == null) + file = new Uint8Array(0); + t3 = fileOffset + buffer.length; + t4 = file.length; + increasedSize = t3 - t4; + if (increasedSize <= 0) + B.NativeUint8List_methods.setRange$3(file, fileOffset, t3, buffer); + else { + newFile = new Uint8Array(t4 + increasedSize); + B.NativeUint8List_methods.setAll$2(newFile, 0, file); + B.NativeUint8List_methods.setAll$2(newFile, fileOffset, buffer); + t1.$indexSet(0, t2, newFile); + } + } + }; + A.FileType.prototype = { + _enumToString$0() { + return "FileType." + this._core$_name; + } + }; + A.SimpleOpfsFileSystem.prototype = { + _markExists$2(type, exists) { + var t1 = this._existsList, + t2 = type.index, + t3 = exists ? 1 : 0; + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t1[t2] = t3; + A.FileSystemSyncAccessHandleApi_writeDart(this._metaHandle, t1, {at: 0}); + }, + xAccess$2(path, flags) { + var t1, t2, + type = $.$get$FileType_byName().$index(0, path); + if (type == null) + return this._simple_opfs$_memory.fileData.containsKey$1(path) ? 1 : 0; + else { + t1 = this._existsList; + A.FileSystemSyncAccessHandleApi_readDart(this._metaHandle, t1, {at: 0}); + t2 = type.index; + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + } + }, + xDelete$2(path, syncDir) { + var type = $.$get$FileType_byName().$index(0, path); + if (type == null) { + this._simple_opfs$_memory.fileData.remove$1(0, path); + return null; + } else + this._markExists$2(type, false); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var recognized, t1, t2, _this = this, + pathStr = path.path; + if (pathStr == null) + return _this._simple_opfs$_memory.xOpen$2(path, flags); + recognized = $.$get$FileType_byName().$index(0, pathStr); + if (recognized == null) + return _this._simple_opfs$_memory.xOpen$2(path, flags); + t1 = _this._existsList; + A.FileSystemSyncAccessHandleApi_readDart(_this._metaHandle, t1, {at: 0}); + t2 = recognized.index; + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t2 = t1[t2]; + t1 = _this._files.$index(0, recognized); + t1.toString; + if (t2 === 0) + if ((flags & 4) !== 0) { + t1.truncate(0); + _this._markExists$2(recognized, true); + } else + throw A.wrapException(B.VfsException_14); + return new A._Record_2_file_outFlags(new A._SimpleOpfsFile(_this, recognized, t1, (flags & 8) !== 0), 0); + }, + xSleep$1(duration) { + }, + close$0() { + var t1, t2, t3; + this._metaHandle.close(); + for (t1 = this._files.get$values(), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + t3.close(); + } + } + }; + A.SimpleOpfsFileSystem_inDirectory_open.prototype = { + call$1($name) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2; + var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$temp1 = A; + $async$temp2 = t1; + $async$goto = 4; + return A._asyncAwait(A.promiseToFuture(t1._as($async$self.root.getFileHandle($name, {create: true})), t1), $async$call$1); + case 4: + // returning from await. + $async$goto = 3; + return A._asyncAwait($async$temp1.promiseToFuture($async$temp2._as($async$result.createSyncAccessHandle()), t1), $async$call$1); + case 3: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$1, $async$completer); + }, + $signature: 73 + }; + A._SimpleOpfsFile.prototype = { + readInto$2(buffer, offset) { + return A.FileSystemSyncAccessHandleApi_readDart(this.syncHandle, buffer, {at: offset}); + }, + xCheckReservedLock$0() { + return this._simple_opfs$_lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + var _this = this; + _this.syncHandle.flush(); + if (_this.deleteOnClose) + _this.vfs._markExists$2(_this.type, false); + }, + xFileSize$0() { + return A._asInt(this.syncHandle.getSize()); + }, + xLock$1(mode) { + this._simple_opfs$_lockMode = mode; + }, + xSync$1(flags) { + this.syncHandle.flush(); + }, + xTruncate$1(size) { + this.syncHandle.truncate(size); + }, + xUnlock$1(mode) { + this._simple_opfs$_lockMode = mode; + }, + xWrite$2(buffer, fileOffset) { + if (A.FileSystemSyncAccessHandleApi_writeDart(this.syncHandle, buffer, {at: fileOffset}) < buffer.length) + throw A.wrapException(B.VfsException_778); + } + }; + A.WasmBindings.prototype = { + allocateBytes$2$additionalLength(bytes, additionalLength) { + var t1, ptr, t2; + type$.List_int._as(bytes); + t1 = J.getInterceptor$asx(bytes); + ptr = A._asInt(A._asDouble(A.callMethod(this._malloc, "call", [null, t1.get$length(bytes) + additionalLength], type$.nullable_Object))); + t2 = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(this.memory.buffer), 0, null); + B.NativeUint8List_methods.setRange$3(t2, ptr, ptr + t1.get$length(bytes), bytes); + B.NativeUint8List_methods.fillRange$3(t2, ptr + t1.get$length(bytes), ptr + t1.get$length(bytes) + additionalLength, 0); + return ptr; + }, + allocateBytes$1(bytes) { + return this.allocateBytes$2$additionalLength(bytes, 0); + } + }; + A._InjectedValues.prototype = { + _InjectedValues$0() { + var t2, t3, t4, _this = this, + t1 = type$.JSObject, + memory = t1._as(new self.WebAssembly.Memory({initial: 16})); + _this.___InjectedValues_memory_A = memory; + t2 = type$.String; + t3 = type$.Function; + t4 = type$.JavaScriptFunction; + _this.set$___InjectedValues_injectedValues_A(type$.Map_of_String_and_Map_String_JSObject._as(A.LinkedHashMap_LinkedHashMap$_literal(["env", A.LinkedHashMap_LinkedHashMap$_literal(["memory", memory], t2, t1), "dart", A.LinkedHashMap_LinkedHashMap$_literal(["error_log", t4._as(A.allowInterop(new A._InjectedValues_closure(memory), t3)), "xOpen", t4._as(A.allowInterop(new A._InjectedValues_closure0(_this, memory), t3)), "xDelete", t4._as(A.allowInterop(new A._InjectedValues_closure1(_this, memory), t3)), "xAccess", t4._as(A.allowInterop(new A._InjectedValues_closure2(_this, memory), t3)), "xFullPathname", t4._as(A.allowInterop(new A._InjectedValues_closure3(_this, memory), t3)), "xRandomness", t4._as(A.allowInterop(new A._InjectedValues_closure4(_this, memory), t3)), "xSleep", t4._as(A.allowInterop(new A._InjectedValues_closure5(_this), t3)), "xCurrentTimeInt64", t4._as(A.allowInterop(new A._InjectedValues_closure6(_this, memory), t3)), "xDeviceCharacteristics", t4._as(A.allowInterop(new A._InjectedValues_closure7(_this), t3)), "xClose", t4._as(A.allowInterop(new A._InjectedValues_closure8(_this), t3)), "xRead", t4._as(A.allowInterop(new A._InjectedValues_closure9(_this, memory), t3)), "xWrite", t4._as(A.allowInterop(new A._InjectedValues_closure10(_this, memory), t3)), "xTruncate", t4._as(A.allowInterop(new A._InjectedValues_closure11(_this), t3)), "xSync", t4._as(A.allowInterop(new A._InjectedValues_closure12(_this), t3)), "xFileSize", t4._as(A.allowInterop(new A._InjectedValues_closure13(_this, memory), t3)), "xLock", t4._as(A.allowInterop(new A._InjectedValues_closure14(_this), t3)), "xUnlock", t4._as(A.allowInterop(new A._InjectedValues_closure15(_this), t3)), "xCheckReservedLock", t4._as(A.allowInterop(new A._InjectedValues_closure16(_this, memory), t3)), "function_xFunc", t4._as(A.allowInterop(new A._InjectedValues_closure17(_this), t3)), "function_xStep", t4._as(A.allowInterop(new A._InjectedValues_closure18(_this), t3)), "function_xInverse", t4._as(A.allowInterop(new A._InjectedValues_closure19(_this), t3)), "function_xFinal", t4._as(A.allowInterop(new A._InjectedValues_closure20(_this), t3)), "function_xValue", t4._as(A.allowInterop(new A._InjectedValues_closure21(_this), t3)), "function_forget", t4._as(A.allowInterop(new A._InjectedValues_closure22(_this), t3)), "function_compare", t4._as(A.allowInterop(new A._InjectedValues_closure23(_this, memory), t3)), "function_hook", t4._as(A.allowInterop(new A._InjectedValues_closure24(_this, memory), t3))], t2, t1)], t2, type$.Map_String_JSObject))); + }, + set$___InjectedValues_injectedValues_A(___InjectedValues_injectedValues_A) { + this.___InjectedValues_injectedValues_A = type$.Map_of_String_and_Map_String_JSObject._as(___InjectedValues_injectedValues_A); + } + }; + A._InjectedValues_closure.prototype = { + call$1(ptr) { + A.print("[sqlite3] " + A.WrappedMemory_readString(this.memory, A._asInt(ptr), null)); + }, + $signature: 15 + }; + A._InjectedValues_closure0.prototype = { + call$5(vfsId, zName, dartFdPtr, flags, pOutFlags) { + var t1, t2, t3; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(dartFdPtr); + A._asInt(flags); + A._asInt(pOutFlags); + t1 = this.$this; + t2 = t1.callbacks.registeredVfs.$index(0, vfsId); + t2.toString; + t3 = this.memory; + return A._runVfs(new A._InjectedValues__closure13(t1, t2, new A.Sqlite3Filename(A.WrappedMemory_readNullableString(t3, zName, null)), flags, t3, dartFdPtr, pOutFlags)); + }, + "call*": "call$5", + $requiredArgCount: 5, + $signature: 31 + }; + A._InjectedValues__closure13.prototype = { + call$0() { + var _this = this, + result = _this.vfs.xOpen$2(_this.path, _this.flags), + t1 = type$.VirtualFileSystemFile._as(result._0), + t2 = _this.$this.callbacks.openedFiles, + id = t2.__js_helper$_length; + t2.$indexSet(0, id, t1); + t1 = _this.memory; + A.WrappedMemory_setInt32Value(t1, _this.dartFdPtr, id); + t2 = _this.pOutFlags; + if (t2 !== 0) + A.WrappedMemory_setInt32Value(t1, t2, result._1); + }, + $signature: 0 + }; + A._InjectedValues_closure1.prototype = { + call$3(vfsId, zName, syncDir) { + var t1; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(syncDir); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + return A._runVfs(new A._InjectedValues__closure12(t1, A.WrappedMemory_readString(this.memory, zName, null), syncDir)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 32 + }; + A._InjectedValues__closure12.prototype = { + call$0() { + return this.vfs.xDelete$2(this.path, this.syncDir); + }, + $signature: 0 + }; + A._InjectedValues_closure2.prototype = { + call$4(vfsId, zName, flags, pResOut) { + var t1, t2; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(flags); + A._asInt(pResOut); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + t2 = this.memory; + return A._runVfs(new A._InjectedValues__closure11(t1, A.WrappedMemory_readString(t2, zName, null), flags, t2, pResOut)); + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 21 + }; + A._InjectedValues__closure11.prototype = { + call$0() { + var _this = this; + A.WrappedMemory_setInt32Value(_this.memory, _this.pResOut, _this.vfs.xAccess$2(_this.path, _this.flags)); + }, + $signature: 0 + }; + A._InjectedValues_closure3.prototype = { + call$4(vfsId, zName, nOut, zOut) { + var t1, t2; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(nOut); + A._asInt(zOut); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + t2 = this.memory; + return A._runVfs(new A._InjectedValues__closure10(t1, A.WrappedMemory_readString(t2, zName, null), nOut, t2, zOut)); + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 21 + }; + A._InjectedValues__closure10.prototype = { + call$0() { + var t2, t3, _this = this, + encoded = B.C_Utf8Encoder.convert$1(_this.vfs.xFullPathName$1(_this.path)), + t1 = encoded.length; + if (t1 > _this.nOut) + throw A.wrapException(A.VfsException$(14)); + t2 = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.memory.buffer), 0, null); + t3 = _this.zOut; + B.NativeUint8List_methods.setAll$2(t2, t3, encoded); + t1 = t3 + t1; + if (!(t1 >= 0 && t1 < t2.length)) + return A.ioore(t2, t1); + t2[t1] = 0; + }, + $signature: 0 + }; + A._InjectedValues_closure4.prototype = { + call$3(vfsId, nByte, zOut) { + var t1; + A._asInt(vfsId); + A._asInt(nByte); + A._asInt(zOut); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + return A._runVfs(new A._InjectedValues__closure9(t1, this.memory, zOut, nByte)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 32 + }; + A._InjectedValues__closure9.prototype = { + call$0() { + var _this = this; + _this.vfs.xRandomness$1(A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.memory.buffer), _this.zOut, _this.nByte)); + }, + $signature: 0 + }; + A._InjectedValues_closure5.prototype = { + call$2(vfsId, micros) { + var t1; + A._asInt(vfsId); + A._asInt(micros); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + return A._runVfs(new A._InjectedValues__closure8(t1, micros)); + }, + $signature: 4 + }; + A._InjectedValues__closure8.prototype = { + call$0() { + this.vfs.xSleep$1(A.Duration$(this.micros, 0)); + }, + $signature: 0 + }; + A._InjectedValues_closure6.prototype = { + call$2(vfsId, target) { + var t1; + A._asInt(vfsId); + A._asInt(target); + this.$this.callbacks.registeredVfs.$index(0, vfsId).toString; + t1 = Date.now(); + t1 = type$.JavaScriptBigInt._as(self.BigInt(t1)); + if (A.assertTest(target !== 0)) + A.assertThrow("Null pointer dereference"); + A.JSObjectUnsafeUtilExtension__callMethod(A.NativeByteData_NativeByteData$view(type$.NativeByteBuffer._as(this.memory.buffer), 0, null), "setBigInt64", target, t1, true, null); + }, + $signature: 78 + }; + A._InjectedValues_closure7.prototype = { + call$1(fd) { + return this.$this.callbacks.openedFiles.$index(0, A._asInt(fd)).get$xDeviceCharacteristics(); + }, + $signature: 13 + }; + A._InjectedValues_closure8.prototype = { + call$1(fd) { + var t1, t2; + A._asInt(fd); + t1 = this.$this; + t2 = t1.callbacks.openedFiles.$index(0, fd); + t2.toString; + return A._runVfs(new A._InjectedValues__closure7(t1, t2, fd)); + }, + $signature: 13 + }; + A._InjectedValues__closure7.prototype = { + call$0() { + this.file.xClose$0(); + this.$this.callbacks.openedFiles.remove$1(0, this.fd); + }, + $signature: 0 + }; + A._InjectedValues_closure9.prototype = { + call$4(fd, target, amount, offset) { + var t1; + A._asInt(fd); + A._asInt(target); + A._asInt(amount); + type$.JavaScriptBigInt._as(offset); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure6(t1, this.memory, target, amount, offset)); + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 34 + }; + A._InjectedValues__closure6.prototype = { + call$0() { + var _this = this; + _this.file.xRead$2(A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.memory.buffer), _this.target, _this.amount), A._asInt(A._asDouble(self.Number(_this.offset)))); + }, + $signature: 0 + }; + A._InjectedValues_closure10.prototype = { + call$4(fd, source, amount, offset) { + var t1; + A._asInt(fd); + A._asInt(source); + A._asInt(amount); + type$.JavaScriptBigInt._as(offset); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure5(t1, this.memory, source, amount, offset)); + }, + "call*": "call$4", + $requiredArgCount: 4, + $signature: 34 + }; + A._InjectedValues__closure5.prototype = { + call$0() { + var _this = this; + _this.file.xWrite$2(A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(_this.memory.buffer), _this.source, _this.amount), A._asInt(A._asDouble(self.Number(_this.offset)))); + }, + $signature: 0 + }; + A._InjectedValues_closure11.prototype = { + call$2(fd, size) { + var t1; + A._asInt(fd); + type$.JavaScriptBigInt._as(size); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure4(t1, size)); + }, + $signature: 80 + }; + A._InjectedValues__closure4.prototype = { + call$0() { + return this.file.xTruncate$1(A._asInt(A._asDouble(self.Number(this.size)))); + }, + $signature: 0 + }; + A._InjectedValues_closure12.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure3(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure3.prototype = { + call$0() { + return this.file.xSync$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure13.prototype = { + call$2(fd, sizePtr) { + var t1; + A._asInt(fd); + A._asInt(sizePtr); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure2(t1, this.memory, sizePtr)); + }, + $signature: 4 + }; + A._InjectedValues__closure2.prototype = { + call$0() { + A.WrappedMemory_setInt32Value(this.memory, this.sizePtr, this.file.xFileSize$0()); + }, + $signature: 0 + }; + A._InjectedValues_closure14.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure1(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure1.prototype = { + call$0() { + return this.file.xLock$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure15.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure0(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure0.prototype = { + call$0() { + return this.file.xUnlock$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure16.prototype = { + call$2(fd, pResOut) { + var t1; + A._asInt(fd); + A._asInt(pResOut); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure(t1, this.memory, pResOut)); + }, + $signature: 4 + }; + A._InjectedValues__closure.prototype = { + call$0() { + A.WrappedMemory_setInt32Value(this.memory, this.pResOut, this.file.xCheckReservedLock$0()); + }, + $signature: 0 + }; + A._InjectedValues_closure17.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_user_data, "call", [null, ctx], type$.nullable_Object)))).xFunc; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 18 + }; + A._InjectedValues_closure18.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_user_data, "call", [null, ctx], type$.nullable_Object)))).xStep; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 18 + }; + A._InjectedValues_closure19.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_user_data, "call", [null, ctx], type$.nullable_Object)))).toString; + t1 = t1.___InjectedValues_bindings_A; + null.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + "call*": "call$3", + $requiredArgCount: 3, + $signature: 18 + }; + A._InjectedValues_closure20.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_user_data, "call", [null, ctx], type$.nullable_Object)))).xFinal.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 15 + }; + A._InjectedValues_closure21.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(A._asDouble(A.callMethod(t2._sqlite3_user_data, "call", [null, ctx], type$.nullable_Object)))).toString; + null.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 15 + }; + A._InjectedValues_closure22.prototype = { + call$1(ctx) { + this.$this.callbacks.functions.remove$1(0, A._asInt(ctx)); + }, + $signature: 15 + }; + A._InjectedValues_closure23.prototype = { + call$5(ctx, lengthA, a, lengthB, b) { + var t1, aStr, bStr; + A._asInt(ctx); + A._asInt(lengthA); + A._asInt(a); + A._asInt(lengthB); + A._asInt(b); + t1 = this.memory; + aStr = A.WrappedMemory_readNullableString(t1, a, lengthA); + bStr = A.WrappedMemory_readNullableString(t1, b, lengthB); + this.$this.callbacks.functions.$index(0, ctx).toString; + return null.call$2(aStr, bStr); + }, + "call*": "call$5", + $requiredArgCount: 5, + $signature: 31 + }; + A._InjectedValues_closure24.prototype = { + call$5(id, kind, _, table, rowId) { + A._asInt(id); + A._asInt(kind); + A._asInt(_); + A._asInt(table); + type$.JavaScriptBigInt._as(rowId); + A.WrappedMemory_readString(this.memory, table, null); + }, + "call*": "call$5", + $requiredArgCount: 5, + $signature: 82 + }; + A.DartCallbacks.prototype = { + register$1(set) { + var t1 = this._id++; + this.functions.$indexSet(0, t1, set); + return t1; + }, + set$installedUpdateHook(installedUpdateHook) { + this.installedUpdateHook = type$.nullable_void_Function_int_String_int._as(installedUpdateHook); + } + }; + A.RegisteredFunctionSet.prototype = {}; + A.Chain.prototype = { + toTrace$0() { + var t1 = this.traces, + t2 = A._arrayInstanceType(t1); + return A.Trace$(new A.ExpandIterable(t1, t2._eval$1("Iterable(1)")._as(new A.Chain_toTrace_closure()), t2._eval$1("ExpandIterable<1,Frame>")), null); + }, + toString$0(_) { + var t1 = this.traces, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.______); + }, + $isStackTrace: 1 + }; + A.Chain_Chain$parse_closure.prototype = { + call$1(line) { + return A._asString(line).length !== 0; + }, + $signature: 3 + }; + A.Chain_toTrace_closure.prototype = { + call$1(trace) { + return type$.Trace._as(trace).get$frames(); + }, + $signature: 83 + }; + A.Chain_toString_closure0.prototype = { + call$1(trace) { + var t1 = type$.Trace._as(trace).get$frames(), + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString__closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int); + }, + $signature: 116 + }; + A.Chain_toString__closure0.prototype = { + call$1(frame) { + return type$.Frame._as(frame).get$location().length; + }, + $signature: 35 + }; + A.Chain_toString_closure.prototype = { + call$1(trace) { + var t1 = type$.Trace._as(trace).get$frames(), + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString__closure(this.longest)), t2._eval$1("MappedListIterable<1,String>")).join$0(0); + }, + $signature: 86 + }; + A.Chain_toString__closure.prototype = { + call$1(frame) { + type$.Frame._as(frame); + return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; + }, + $signature: 36 + }; + A.Frame.prototype = { + get$library() { + var t1 = this.uri; + if (t1.get$scheme() === "data") + return "data:..."; + return $.$get$context().prettyUri$1(t1); + }, + get$location() { + var t2, _this = this, + t1 = _this.line; + if (t1 == null) + return _this.get$library(); + t2 = _this.column; + if (t2 == null) + return _this.get$library() + " " + A.S(t1); + return _this.get$library() + " " + A.S(t1) + ":" + A.S(t2); + }, + toString$0(_) { + return this.get$location() + " in " + A.S(this.member); + }, + get$member() { + return this.member; + } + }; + A.Frame_Frame$parseVM_closure.prototype = { + call$0() { + var match, t2, t3, member, uri, lineAndColumn, line, _null = null, + t1 = this.frame; + if (t1 === "...") + return new A.Frame(A._Uri__Uri(_null, _null, _null, _null), _null, _null, "..."); + match = $.$get$_vmFrame().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + t3 = $.$get$_asyncBody(); + t2 = A.stringReplaceAllUnchecked(t2, t3, ""); + member = A.stringReplaceAllUnchecked(t2, "", ""); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t3 = t2; + t3.toString; + if (B.JSString_methods.startsWith$1(t3, "= t1.length) + return A.ioore(t1, 3); + lineAndColumn = t1[3].split(":"); + t1 = lineAndColumn.length; + line = t1 > 1 ? A.int_parse(lineAndColumn[1], _null) : _null; + return new A.Frame(uri, line, t1 > 2 ? A.int_parse(lineAndColumn[2], _null) : _null, member); + }, + $signature: 10 + }; + A.Frame_Frame$parseV8_closure.prototype = { + call$0() { + var t2, t3, t4, _s4_ = "", + t1 = this.frame, + match = $.$get$_v8Frame().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), t1); + t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1); + t2 = match._match; + t3 = t2.length; + if (2 >= t3) + return A.ioore(t2, 2); + t4 = t2[2]; + if (t4 != null) { + t3 = t4; + t3.toString; + t2 = t2[1]; + t2.toString; + t2 = A.stringReplaceAllUnchecked(t2, "", _s4_); + t2 = A.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_); + return t1.call$2(t3, A.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_)); + } else { + if (3 >= t3) + return A.ioore(t2, 3); + t2 = t2[3]; + t2.toString; + return t1.call$2(t2, _s4_); + } + }, + $signature: 10 + }; + A.Frame_Frame$parseV8_closure_parseLocation.prototype = { + call$2($location, member) { + var t2, urlMatch, uri, line, columnMatch, _null = null, + t1 = $.$get$_v8EvalLocation(), + evalMatch = t1.firstMatch$1($location); + for (; evalMatch != null; $location = t2) { + t2 = evalMatch._match; + if (1 >= t2.length) + return A.ioore(t2, 1); + t2 = t2[1]; + t2.toString; + evalMatch = t1.firstMatch$1(t2); + } + if ($location === "native") + return new A.Frame(A.Uri_parse("native"), _null, _null, member); + urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location); + if (urlMatch == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), this.frame); + t1 = urlMatch._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t2.toString; + line = A.int_parse(t2, _null); + if (3 >= t1.length) + return A.ioore(t1, 3); + columnMatch = t1[3]; + return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member); + }, + $signature: 89 + }; + A.Frame_Frame$_parseFirefoxEval_closure.prototype = { + call$0() { + var t2, member, uri, line, _null = null, + t1 = this.frame, + match = $.$get$_firefoxEvalLocation().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + member = A.stringReplaceAllUnchecked(t2, "/<", ""); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + if (3 >= t1.length) + return A.ioore(t1, 3); + t1 = t1[3]; + t1.toString; + line = A.int_parse(t1, _null); + return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "" : member); + }, + $signature: 10 + }; + A.Frame_Frame$parseFirefox_closure.prototype = { + call$0() { + var t2, t3, t4, uri, member, line, column, _null = null, + t1 = this.frame, + match = $.$get$_firefoxSafariFrame().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + t2 = match._match; + if (3 >= t2.length) + return A.ioore(t2, 3); + t3 = t2[3]; + t4 = t3; + t4.toString; + if (B.JSString_methods.contains$1(t4, " line ")) + return A.Frame_Frame$_parseFirefoxEval(t1); + t1 = t3; + t1.toString; + uri = A.Frame__uriOrPathToUri(t1); + t1 = t2.length; + if (1 >= t1) + return A.ioore(t2, 1); + member = t2[1]; + if (member != null) { + if (2 >= t1) + return A.ioore(t2, 2); + t1 = t2[2]; + t1.toString; + member += B.JSArray_methods.join$0(A.List_List$filled(B.JSString_methods.allMatches$1("/", t1).get$length(0), ".", false, type$.String)); + if (member === "") + member = ""; + member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), ""); + } else + member = ""; + if (4 >= t2.length) + return A.ioore(t2, 4); + t1 = t2[4]; + if (t1 === "") + line = _null; + else { + t1 = t1; + t1.toString; + line = A.int_parse(t1, _null); + } + if (5 >= t2.length) + return A.ioore(t2, 5); + t1 = t2[5]; + if (t1 == null || t1 === "") + column = _null; + else { + t1 = t1; + t1.toString; + column = A.int_parse(t1, _null); + } + return new A.Frame(uri, line, column, member); + }, + $signature: 10 + }; + A.Frame_Frame$parseFriendly_closure.prototype = { + call$0() { + var t2, uri, line, column, _null = null, + t1 = this.frame, + match = $.$get$_friendlyFrame().firstMatch$1(t1); + if (match == null) + throw A.wrapException(A.FormatException$("Couldn't parse package:stack_trace stack trace line '" + t1 + "'.", _null, _null)); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + if (t2 === "data:...") + uri = A.Uri_Uri$dataFromString(""); + else { + t2 = t2; + t2.toString; + uri = A.Uri_parse(t2); + } + if (uri.get$scheme() === "") { + t2 = $.$get$context(); + uri = t2.toUri$1(t2.absolute$15(t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)); + } + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + if (t2 == null) + line = _null; + else { + t2 = t2; + t2.toString; + line = A.int_parse(t2, _null); + } + if (3 >= t1.length) + return A.ioore(t1, 3); + t2 = t1[3]; + if (t2 == null) + column = _null; + else { + t2 = t2; + t2.toString; + column = A.int_parse(t2, _null); + } + if (4 >= t1.length) + return A.ioore(t1, 4); + return new A.Frame(uri, line, column, t1[4]); + }, + $signature: 10 + }; + A.LazyTrace.prototype = { + get$_lazy_trace$_trace() { + var result, _this = this, + value = _this.__LazyTrace__trace_FI; + if (value === $) { + result = _this._thunk.call$0(); + _this.__LazyTrace__trace_FI !== $ && A.throwLateFieldADI("_trace"); + _this.__LazyTrace__trace_FI = result; + value = result; + } + return value; + }, + get$frames() { + return this.get$_lazy_trace$_trace().get$frames(); + }, + toString$0(_) { + return this.get$_lazy_trace$_trace().toString$0(0); + }, + $isStackTrace: 1, + $isTrace: 1 + }; + A.Trace.prototype = { + toString$0(_) { + var t1 = this.frames, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Trace_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Trace_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$0(0); + }, + $isStackTrace: 1, + get$frames() { + return this.frames; + } + }; + A.Trace_Trace$from_closure.prototype = { + call$0() { + return A.Trace_Trace$parse(this.trace.toString$0(0)); + }, + $signature: 90 + }; + A.Trace__parseVM_closure.prototype = { + call$1(line) { + return A._asString(line).length !== 0; + }, + $signature: 3 + }; + A.Trace$parseV8_closure.prototype = { + call$1(line) { + return !B.JSString_methods.startsWith$1(A._asString(line), $.$get$_v8TraceLine()); + }, + $signature: 3 + }; + A.Trace$parseJSCore_closure.prototype = { + call$1(line) { + return A._asString(line) !== "\tat "; + }, + $signature: 3 + }; + A.Trace$parseFirefox_closure.prototype = { + call$1(line) { + A._asString(line); + return line.length !== 0 && line !== "[native code]"; + }, + $signature: 3 + }; + A.Trace$parseFriendly_closure.prototype = { + call$1(line) { + return !B.JSString_methods.startsWith$1(A._asString(line), "====="); + }, + $signature: 3 + }; + A.Trace_toString_closure0.prototype = { + call$1(frame) { + return type$.Frame._as(frame).get$location().length; + }, + $signature: 35 + }; + A.Trace_toString_closure.prototype = { + call$1(frame) { + type$.Frame._as(frame); + if (frame instanceof A.UnparsedFrame) + return frame.toString$0(0) + "\n"; + return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; + }, + $signature: 36 + }; + A.UnparsedFrame.prototype = { + toString$0(_) { + return this.member; + }, + $isFrame: 1, + get$location() { + return "unparsed"; + }, + get$member() { + return this.member; + } + }; + A.CloseGuaranteeChannel.prototype = { + set$__CloseGuaranteeChannel__stream_F(__CloseGuaranteeChannel__stream_F) { + this.__CloseGuaranteeChannel__stream_F = this.$ti._eval$1("_CloseGuaranteeStream<1>")._as(__CloseGuaranteeChannel__stream_F); + }, + set$__CloseGuaranteeChannel__sink_F(__CloseGuaranteeChannel__sink_F) { + this.__CloseGuaranteeChannel__sink_F = this.$ti._eval$1("_CloseGuaranteeSink<1>")._as(__CloseGuaranteeChannel__sink_F); + }, + set$_close_guarantee_channel$_subscription(_subscription) { + this._close_guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._CloseGuaranteeStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1, subscription; + this.$ti._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t1 = this._channel; + if (t1._disconnected) { + onData = null; + onError = null; + } + subscription = this._inner.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); + if (!t1._disconnected) + t1.set$_close_guarantee_channel$_subscription(subscription); + return subscription; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._CloseGuaranteeSink.prototype = { + close$0() { + var subscription, + done = this.super$DelegatingStreamSink$close(), + t1 = this._channel; + t1._disconnected = true; + subscription = t1._close_guarantee_channel$_subscription; + if (subscription != null) { + subscription.onData$1(null); + subscription.onError$1(null); + } + return done; + } + }; + A.GuaranteeChannel.prototype = { + get$stream() { + var t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")); + }, + get$sink() { + var t1 = this.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + return t1; + }, + GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { + var _this = this, + t1 = _this.$ti, + t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), true, $T._eval$1("_GuaranteeSink<0>"))); + _this.__GuaranteeChannel__sink_F !== $ && A.throwLateFieldAI("_sink"); + _this.set$__GuaranteeChannel__sink_F(t2); + t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), true, $T)); + _this.__GuaranteeChannel__streamController_F !== $ && A.throwLateFieldAI("_streamController"); + _this.set$__GuaranteeChannel__streamController_F(t1); + }, + _onSinkDisconnected$0() { + var subscription, t1; + this._guarantee_channel$_disconnected = true; + subscription = this._guarantee_channel$_subscription; + if (subscription != null) + subscription.cancel$0(); + t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(); + }, + set$__GuaranteeChannel__sink_F(__GuaranteeChannel__sink_F) { + this.__GuaranteeChannel__sink_F = this.$ti._eval$1("_GuaranteeSink<1>")._as(__GuaranteeChannel__sink_F); + }, + set$__GuaranteeChannel__streamController_F(__GuaranteeChannel__streamController_F) { + this.__GuaranteeChannel__streamController_F = this.$ti._eval$1("StreamController<1>")._as(__GuaranteeChannel__streamController_F); + }, + set$_guarantee_channel$_subscription(_subscription) { + this._guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A.GuaranteeChannel_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + if (t1._guarantee_channel$_disconnected) + return; + t2 = this._box_0.innerStream; + t3 = t1.__GuaranteeChannel__streamController_F; + t3 === $ && A.throwLateFieldNI("_streamController"); + t1.set$_guarantee_channel$_subscription(t2.listen$3$onDone$onError(this.T._eval$1("~(0)")._as(t3.get$add(t3)), new A.GuaranteeChannel__closure(t1), t3.get$addError())); + }, + $signature: 0 + }; + A.GuaranteeChannel__closure.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1.__GuaranteeChannel__sink_F; + t2 === $ && A.throwLateFieldNI("_sink"); + t2._onStreamDisconnected$0(); + t1 = t1.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(); + }, + $signature: 0 + }; + A._GuaranteeSink.prototype = { + add$1(_, data) { + var t1, _this = this; + _this.$ti._precomputed1._as(data); + if (_this._guarantee_channel$_closed) + throw A.wrapException(A.StateError$("Cannot add event after closing.")); + if (_this._guarantee_channel$_disconnected) + return; + t1 = _this._guarantee_channel$_inner; + t1._async$_target.add$1(0, t1.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + if (this._guarantee_channel$_closed) + throw A.wrapException(A.StateError$("Cannot add event after closing.")); + if (this._guarantee_channel$_disconnected) + return; + this._guarantee_channel$_addError$2(error, stackTrace); + }, + _guarantee_channel$_addError$2(error, stackTrace) { + this._guarantee_channel$_inner._async$_target.addError$2(error, stackTrace); + return; + }, + close$0() { + var _this = this; + if (_this._guarantee_channel$_closed) + return _this._doneCompleter.future; + _this._guarantee_channel$_closed = true; + if (!_this._guarantee_channel$_disconnected) { + _this._guarantee_channel$_channel._onSinkDisconnected$0(); + _this._doneCompleter.complete$1(_this._guarantee_channel$_inner._async$_target.close$0()); + } + return _this._doneCompleter.future; + }, + _onStreamDisconnected$0() { + this._guarantee_channel$_disconnected = true; + var t1 = this._doneCompleter; + if ((t1.future._async$_state & 30) === 0) + t1.complete$0(); + return; + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A.StreamChannelController.prototype = { + set$__StreamChannelController__local_F(__StreamChannelController__local_F) { + this.__StreamChannelController__local_F = this.$ti._eval$1("StreamChannel<1>")._as(__StreamChannelController__local_F); + }, + set$__StreamChannelController__foreign_F(__StreamChannelController__foreign_F) { + this.__StreamChannelController__foreign_F = this.$ti._eval$1("StreamChannel<1>")._as(__StreamChannelController__foreign_F); + } + }; + A.StreamChannelMixin.prototype = {$isStreamChannel: 1}; + A.EventStreamProvider.prototype = {}; + A._EventStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = this.$ti; + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._EventStreamSubscription.prototype = { + cancel$0() { + var _this = this, + emptyFuture = A.Future_Future$value(null, type$.void); + if (_this._target == null) + return emptyFuture; + _this._unlisten$0(); + _this._onData = _this._target = null; + return emptyFuture; + }, + onData$1(handleData) { + var t1, _this = this; + _this.$ti._eval$1("~(1)?")._as(handleData); + if (_this._target == null) + throw A.wrapException(A.StateError$("Subscription has been canceled.")); + _this._unlisten$0(); + if (handleData == null) + t1 = null; + else { + t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JSObject); + t1 = t1 == null ? null : type$.JavaScriptFunction._as(A.allowInterop(t1, type$.Function)); + } + _this._onData = t1; + _this._tryResume$0(); + }, + onError$1(handleError) { + }, + pause$0() { + if (this._target == null) + return; + ++this._pauseCount; + this._unlisten$0(); + }, + resume$0() { + var _this = this; + if (_this._target == null || _this._pauseCount <= 0) + return; + --_this._pauseCount; + _this._tryResume$0(); + }, + _tryResume$0() { + var _this = this, + t1 = _this._onData; + if (t1 != null && _this._pauseCount <= 0) + _this._target.addEventListener(_this._eventType, t1, false); + }, + _unlisten$0() { + var t1 = this._onData; + if (t1 != null) + this._target.removeEventListener(this._eventType, t1, false); + }, + $isStreamSubscription: 1 + }; + A._EventStreamSubscription_closure.prototype = { + call$1(e) { + return this.onData.call$1(type$.JSObject._as(e)); + }, + $signature: 1 + }; + A._EventStreamSubscription_onData_closure.prototype = { + call$1(e) { + return this.handleData.call$1(type$.JSObject._as(e)); + }, + $signature: 1 + }; + (function aliases() { + var _ = J.LegacyJavaScriptObject.prototype; + _.super$LegacyJavaScriptObject$toString = _.toString$0; + _ = A._BroadcastStreamController.prototype; + _.super$_BroadcastStreamController$_addEventError = _._addEventError$0; + _ = A._BufferingStreamSubscription.prototype; + _.super$_BufferingStreamSubscription$_add = _._async$_add$1; + _.super$_BufferingStreamSubscription$_addError = _._addError$2; + _.super$_BufferingStreamSubscription$_close = _._close$0; + _ = A._StreamSinkTransformer.prototype; + _.super$_StreamSinkTransformer$bind = _.bind$1; + _ = A.ListBase.prototype; + _.super$ListBase$setRange = _.setRange$4; + _ = A.Iterable.prototype; + _.super$Iterable$skipWhile = _.skipWhile$1; + _ = A.DelegatingStreamSink.prototype; + _.super$DelegatingStreamSink$close = _.close$0; + _ = A.Sqlite3Delegate.prototype; + _.super$Sqlite3Delegate$close = _.close$0; + })(); + (function installTearOffs() { + var _static_2 = hunkHelpers._static_2, + _static_1 = hunkHelpers._static_1, + _static_0 = hunkHelpers._static_0, + _static = hunkHelpers.installStaticTearOff, + _instance_0_u = hunkHelpers._instance_0u, + _instance = hunkHelpers.installInstanceTearOff, + _instance_2_u = hunkHelpers._instance_2u, + _instance_1_i = hunkHelpers._instance_1i, + _instance_1_u = hunkHelpers._instance_1u; + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 91); + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 19); + _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 19); + _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 19); + _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 12); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 6); + _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 93, 0); + _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { + return A._rootRun($self, $parent, zone, f, type$.dynamic); + }], 94, 1); + _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { + var t1 = type$.dynamic; + return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1); + }], 95, 1); + _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { + var t1 = type$.dynamic; + return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1); + }], 96, 1); + _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { + return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); + }], 97, 0); + _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { + var t1 = type$.dynamic; + return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1); + }], 98, 0); + _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { + var t1 = type$.dynamic; + return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1); + }], 99, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 100, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 101, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 102, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 103, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 104, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 105); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 106, 0); + var _; + _instance_0_u(_ = A._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 30, 0, 0); + _instance(A._AsyncCompleter.prototype, "get$complete", 0, 0, function() { + return [null]; + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 74, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 6); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 7); + _instance(_, "get$addError", 0, 1, function() { + return [null]; + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 30, 0, 0); + _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_0_u(A._DoneStreamSubscription.prototype, "get$_onMicrotask", "_onMicrotask$0", 0); + _instance_1_u(_ = A._StreamIterator.prototype, "get$_async$_onData", "_async$_onData$1", 7); + _instance_2_u(_, "get$_onError", "_onError$2", 6); + _instance_0_u(_, "get$_onDone", "_onDone$0", 0); + _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_1_u(_, "get$_handleData", "_handleData$1", 7); + _instance_2_u(_, "get$_handleError", "_handleError$2", 84); + _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); + _instance_0_u(_ = A._SinkTransformerStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_1_u(_, "get$_handleData", "_handleData$1", 7); + _instance_2_u(_, "get$_handleError", "_handleError$2", 6); + _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); + _instance_1_u(A._StreamHandlerTransformer.prototype, "get$bind", "bind$1", "Stream<2>(Object?)"); + _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 25); + _static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) { + return A.max(a, b, type$.num); + }], 107, 1); + _static_1(A, "math__sqrt$closure", "sqrt", 5); + _static_1(A, "math__sin$closure", "sin", 5); + _static_1(A, "math__cos$closure", "cos", 5); + _static_1(A, "math__tan$closure", "tan", 5); + _static_1(A, "math__acos$closure", "acos", 5); + _static_1(A, "math__asin$closure", "asin", 5); + _static_1(A, "math__atan$closure", "atan", 5); + _static_1(A, "functions__applyDbFunctions$closure", "applyDbFunctions", 109); + _instance_1_u(A.DriftCommunication.prototype, "get$_handleMessage", "_handleMessage$1", 7); + _instance_1_u(A.DriftProtocol.prototype, "get$_decodeDbValue", "_decodeDbValue$1", 16); + _static_1(A, "delegates___defaultSavepoint$closure", "_defaultSavepoint", 20); + _static_1(A, "delegates___defaultRelease$closure", "_defaultRelease", 20); + _static_1(A, "delegates___defaultRollbackToSavepoint$closure", "_defaultRollbackToSavepoint", 20); + _static_1(A, "native_functions___pow$closure", "_pow", 29); + _static_1(A, "native_functions___regexpImpl$closure", "_regexpImpl", 111); + _static_1(A, "native_functions___containsImpl$closure", "_containsImpl", 112); + _instance_0_u(A.WasmVfs.prototype, "get$close", "close$0", 0); + _static_1(A, "sync_channel_MessageSerializer_readEmpty$closure", "MessageSerializer_readEmpty", 113); + _static_1(A, "sync_channel_MessageSerializer_readFlags$closure", "MessageSerializer_readFlags", 114); + _static_1(A, "sync_channel_MessageSerializer_readNameAndFlags$closure", "MessageSerializer_readNameAndFlags", 115); + _instance_1_u(A.VfsWorker.prototype, "get$_releaseImplicitLock", "_releaseImplicitLock$1", 68); + _instance_0_u(A.AsynchronousIndexedDbFileSystem.prototype, "get$close", "close$0", 0); + _instance_0_u(A.IndexedDbFileSystem.prototype, "get$close", "close$0", 2); + _instance_0_u(A._FunctionWorkItem.prototype, "get$run", "run$0", 0); + _instance_0_u(A._DeleteFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A._CreateFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A._WriteFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A.SimpleOpfsFileSystem.prototype, "get$close", "close$0", 0); + _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 11); + _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 11); + _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 11); + _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 11); + _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 33); + _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 33); + })(); + (function inheritance() { + var _mixin = hunkHelpers.mixin, + _inherit = hunkHelpers.inherit, + _inheritMany = hunkHelpers.inheritMany; + _inherit(A.Object, null); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Error, A.ListBase, A.Closure, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A._Record, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._SyncStarIterator, A.AsyncError, A.Stream, A._BufferingStreamSubscription, A._BroadcastStreamController, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.StreamTransformerBase, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._EventSinkWrapper, A._HandlerEventSink, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._LinkedListIterator, A.LinkedListEntry, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A._FinalizationRegistryWrapper, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.NullRejectionException, A._JSRandom, A._JSSecureRandom, A.DelegatingStreamSink, A.DefaultEquality, A.ListEquality, A.NonGrowableListMixin, A.UnmodifiableMapMixin, A.DriftCommunication, A._PendingRequest, A.ConnectionClosedException, A.DriftRemoteException, A.DriftProtocol, A.Message, A.ExecuteQuery, A.RequestCancellation, A.ExecuteBatchedStatement, A.RunNestedExecutorControl, A.EnsureOpen, A.ServerInfo, A.RunBeforeOpen, A.NotifyTablesUpdated, A.SelectResult, A.ServerImplementation, A._ServerDbUser, A.TableUpdate, A.CancellationToken, A.CancellationException, A.QueryExecutor, A.BatchedStatements, A.ArgumentsForBatchedStatement, A.QueryDelegate, A.TransactionDelegate, A.DbVersionDelegate, A.QueryResult, A.QueryInterceptor, A.OpeningDetails, A.PreparedStatementsCache, A.Lock, A.DedicatedDriftWorker, A.WasmInitializationMessage, A.DriftServerController, A.RunningWasmServer, A.WasmCompatibility, A.SharedDriftWorker, A.Context, A._PathDirection, A._PathRelation, A.Style, A.ParsedPath, A.PathException, A.SqliteException, A.AllowedArgumentCount, A.RawSqliteBindings, A.SqliteResult, A.RawSqliteDatabase, A.RawStatementCompiler, A.RawSqliteStatement, A.RawSqliteContext, A.RawSqliteValue, A.FinalizablePart, A.DatabaseImplementation, A.Sqlite3Implementation, A.CommonPreparedStatement, A.Cursor, A._Row_Object_UnmodifiableMapMixin, A._ResultIterator, A.IndexedParameters, A.VfsException, A.Sqlite3Filename, A.VirtualFileSystem, A.BaseVfsFile, A._CursorReader, A.WasmInstance, A.RequestResponseSynchronizer, A.MessageSerializer, A.Message0, A._ResolvedPath, A.VfsWorker, A._OpenedFileHandle, A.AsynchronousIndexedDbFileSystem, A._FileWriteRequest, A._OffsetAndBuffer, A._IndexedDbFile, A.WasmBindings, A._InjectedValues, A.DartCallbacks, A.RegisteredFunctionSet, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.EventStreamProvider, A._EventStreamSubscription]); + _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); + _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); + _inherit(J.JSUnmodifiableArray, J.JSArray); + _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.ExpandIterable, A.TakeIterable, A.SkipIterable, A.SkipWhileIterable, A.WhereTypeIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.LinkedList]); + _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); + _inherit(A._EfficientLengthCastIterable, A.CastIterable); + _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); + _inherit(A.CastList, A._CastListBase); + _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); + _inheritMany(A.ListBase, [A.UnmodifiableListBase, A.ValueList, A.WasmValueList]); + _inherit(A.CodeUnits, A.UnmodifiableListBase); + _inheritMany(A.Closure, [A.Closure0Args, A.Instantiation, A.Closure2Args, A.TearOffClosure, A.assertInteropArgs_closure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._SyncBroadcastStreamController__sendData_closure, A._SyncBroadcastStreamController__sendError_closure, A._SyncBroadcastStreamController__sendDone_closure, A.Future_wait_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_length_closure, A.Stream_first_closure0, A.Stream_firstWhere_closure0, A.Stream_firstWhere__closure0, A._StreamHandlerTransformer_closure, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A._HashMap_values_closure, A.MapBase_entries_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.applyDbFunctions_closure, A.applyDbFunctions_closure0, A.DriftCommunication_setRequestHandler_closure, A.DriftProtocol_decodePayload_readInt, A.DriftProtocol_decodePayload_readNullableInt, A.ServerImplementation_closure, A.ServerImplementation_serve_closure, A.ServerImplementation_serve_closure0, A.ServerImplementation__waitForTurn_closure, A.QueryResult_asMap_closure, A.EnableNativeFunctions_useNativeFunctions_closure, A._unaryNumFunction_closure, A.LazyDatabase__awaitOpened_closure, A.LazyDatabase_ensureOpen_closure, A.Lock_synchronized_closure, A.WebPortToChannel_channel_closure, A.WebPortToChannel_channel_closure0, A.DedicatedDriftWorker_start_closure, A.checkIndexedDbExists_closure, A.opfsDatabases_closure, A.DriftServerController_serve___closure, A.RunningWasmServer_serve_closure, A.CompleteIdbRequest_complete_closure1, A.CompleteIdbRequest_complete_closure2, A.SharedDriftWorker_start_closure, A.SharedDriftWorker__newConnection_closure, A.SharedDriftWorker__startFeatureDetection_result, A.SharedDriftWorker__startFeatureDetection_closure, A.SharedDriftWorker__startFeatureDetection_closure0, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.WindowsStyle_absolutePathToUri_closure, A.SqliteException_toString_closure, A.disposeFinalizer_closure, A.AsyncJavaScriptIteratable_listen_fetchNext_closure, A._CursorReader_moveNext_closure, A._CursorReader_moveNext_closure0, A.CompleteIdbRequest_complete_closure, A.CompleteIdbRequest_complete_closure0, A.CompleteOpenIdbRequest_completeOrBlocked_closure, A.CompleteOpenIdbRequest_completeOrBlocked_closure0, A.CompleteOpenIdbRequest_completeOrBlocked_closure1, A.AsynchronousIndexedDbFileSystem_open_closure, A.AsynchronousIndexedDbFileSystem__readFile_closure, A.AsynchronousIndexedDbFileSystem__write_closure, A.SimpleOpfsFileSystem_inDirectory_open, A._InjectedValues_closure, A._InjectedValues_closure0, A._InjectedValues_closure1, A._InjectedValues_closure2, A._InjectedValues_closure3, A._InjectedValues_closure4, A._InjectedValues_closure7, A._InjectedValues_closure8, A._InjectedValues_closure9, A._InjectedValues_closure10, A._InjectedValues_closure17, A._InjectedValues_closure18, A._InjectedValues_closure19, A._InjectedValues_closure20, A._InjectedValues_closure21, A._InjectedValues_closure22, A._InjectedValues_closure23, A._InjectedValues_closure24, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_toString_closure0, A.Trace_toString_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future_closure, A.Future_Future$delayed_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A.Stream_first_closure, A.Stream_firstWhere_closure, A.Stream_firstWhere__closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndError_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.DriftCommunication_closure, A.ServerImplementation__handleRequest_closure, A.ServerImplementation__handleRequest_closure0, A.ServerImplementation__waitForTurn_idIsActive, A.runCancellable_closure, A._BaseExecutor__synchronized_closure, A._BaseExecutor_runSelect_closure, A._BaseExecutor_runDelete_closure, A._BaseExecutor_runInsert_closure, A._BaseExecutor_runCustom_closure, A._BaseExecutor_runBatched_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure0, A.DelegatedDatabase_ensureOpen_closure, A.DelegatedDatabase_close_closure, A._ExclusiveExecutor_ensureOpen_closure, A.Lock_synchronized_callBlockAndComplete, A.WebPortToChannel_channel_closure1, A.DedicatedDriftWorker__handleMessage_closure, A.DriftServerController_serve_closure, A.DriftServerController_serve__closure, A.DriftServerController_serve__closure0, A.DriftServerController_serve__closure1, A.DatabaseImplementation__prepareInternal_freeIntermediateResults, A.AsyncJavaScriptIteratable_listen_fetchNext, A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary, A.AsynchronousIndexedDbFileSystem_readFully_closure, A._FileWriteRequest__updateBlock_closure, A.IndexedDbFileSystem__startWorkingIfNeeded_closure, A._IndexedDbFile_xTruncate_closure, A._InjectedValues__closure13, A._InjectedValues__closure12, A._InjectedValues__closure11, A._InjectedValues__closure10, A._InjectedValues__closure9, A._InjectedValues__closure8, A._InjectedValues__closure7, A._InjectedValues__closure6, A._InjectedValues__closure5, A._InjectedValues__closure4, A._InjectedValues__closure3, A._InjectedValues__closure2, A._InjectedValues__closure1, A._InjectedValues__closure0, A._InjectedValues__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.Trace_Trace$from_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure]); + _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable, A._MapBaseValueIterable]); + _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable]); + _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); + _inherit(A.EfficientLengthTakeIterable, A.TakeIterable); + _inherit(A.EfficientLengthSkipIterable, A.SkipIterable); + _inherit(A._Record2, A._Record); + _inheritMany(A._Record2, [A._Record_2, A._Record_2_file_outFlags]); + _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); + _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); + _inherit(A.ConstantMapView, A.UnmodifiableMapView); + _inherit(A.ConstantStringMap, A.ConstantMap); + _inherit(A.Instantiation1, A.Instantiation); + _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__chainForeignFuture_closure0, A._cancelAndErrorClosure_closure, A.HashMap_HashMap$from_closure, A.MapBase_mapToString_closure, A._BigIntImpl_hashCode_combine, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.WasmInitializationMessage_sendToWorker_closure, A.WasmInitializationMessage_sendToPort_closure, A.WasmInitializationMessage_sendToClient_closure, A.DatabaseImplementation_createFunction_closure, A.WasmInstance_load_closure, A.WasmInstance_load__closure, A.AsynchronousIndexedDbFileSystem__write_writeBlock, A._InjectedValues_closure5, A._InjectedValues_closure6, A._InjectedValues_closure11, A._InjectedValues_closure12, A._InjectedValues_closure13, A._InjectedValues_closure14, A._InjectedValues_closure15, A._InjectedValues_closure16, A.Frame_Frame$parseV8_closure_parseLocation]); + _inherit(A.NullError, A.TypeError); + _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); + _inherit(A._AssertionError, A.AssertionError); + _inheritMany(A.MapBase, [A.JsLinkedHashMap, A._HashMap]); + _inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]); + _inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); + _inherit(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]); + _inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]); + _inherit(A._TypeError, A._Error); + _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._BoundSinkStream, A.AsyncJavaScriptIteratable, A._CloseGuaranteeStream, A._EventStream]); + _inherit(A._ControllerStream, A._StreamImpl); + _inherit(A._BroadcastStream, A._ControllerStream); + _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription, A._SinkTransformerStreamSubscription]); + _inherit(A._BroadcastSubscription, A._ControllerSubscription); + _inherit(A._SyncBroadcastStreamController, A._BroadcastStreamController); + _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]); + _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]); + _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]); + _inherit(A._MapStream, A._ForwardingStream); + _inherit(A._StreamSinkTransformer, A.StreamTransformerBase); + _inherit(A._StreamHandlerTransformer, A._StreamSinkTransformer); + _inheritMany(A._Zone, [A._CustomZone, A._RootZone]); + _inherit(A._IdentityHashMap, A._HashMap); + _inherit(A._SetBase, A.SetBase); + _inherit(A._LinkedHashSet, A._SetBase); + _inheritMany(A.Codec, [A.Encoding, A.Base64Codec, A._FusedCodec]); + _inheritMany(A.Encoding, [A.AsciiCodec, A.Utf8Codec]); + _inheritMany(A.Converter, [A._UnicodeSubsetEncoder, A.Base64Encoder, A.Utf8Encoder]); + _inherit(A.AsciiEncoder, A._UnicodeSubsetEncoder); + _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); + _inherit(A._DataUri, A._Uri); + _inheritMany(A.Message, [A.Request, A.SuccessResponse, A.ErrorResponse, A.CancelledResponse]); + _inheritMany(A._Enum, [A.NoArgsRequest, A.StatementMethod, A.NestedExecutorControl, A.UpdateKind, A.SqlDialect, A.ProtocolVersion, A.WasmStorageImplementation, A.WebStorageApi, A.OpenMode, A.WorkerOperation, A.FileType]); + _inherit(A.DatabaseDelegate, A.QueryDelegate); + _inherit(A.NoTransactionDelegate, A.TransactionDelegate); + _inheritMany(A.DbVersionDelegate, [A.NoVersionDelegate, A.DynamicVersionDelegate]); + _inheritMany(A.QueryExecutor, [A._BaseExecutor, A._InterceptedExecutor, A.LazyDatabase]); + _inheritMany(A._BaseExecutor, [A._TransactionExecutor, A.DelegatedDatabase, A._BeforeOpeningExecutor, A._ExclusiveExecutor]); + _inherit(A._StatementBasedTransactionExecutor, A._TransactionExecutor); + _inherit(A._InterceptedTransactionExecutor, A._InterceptedExecutor); + _inherit(A.Sqlite3Delegate, A.DatabaseDelegate); + _inherit(A._SqliteVersionDelegate, A.DynamicVersionDelegate); + _inheritMany(A.WasmInitializationMessage, [A.CompatibilityResult, A.WorkerError, A.ServeDriftDatabase, A.RequestCompatibilityCheck, A.StartFileSystemServer, A.DeleteDatabase]); + _inheritMany(A.CompatibilityResult, [A.SharedWorkerCompatibilityResult, A.DedicatedWorkerCompatibilityResult]); + _inherit(A._CloseVfsOnClose, A.QueryInterceptor); + _inherit(A.WasmDatabase, A.DelegatedDatabase); + _inherit(A._WasmDelegate, A.Sqlite3Delegate); + _inherit(A.InternalStyle, A.Style); + _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]); + _inheritMany(A.FinalizablePart, [A.FinalizableDatabase, A.FinalizableStatement]); + _inherit(A.StatementImplementation, A.CommonPreparedStatement); + _inherit(A._ResultSet_Cursor_ListMixin, A.Cursor); + _inherit(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A._ResultSet_Cursor_ListMixin); + _inherit(A.ResultSet, A._ResultSet_Cursor_ListMixin_NonGrowableListMixin); + _inherit(A._Row_Object_UnmodifiableMapMixin_MapMixin, A._Row_Object_UnmodifiableMapMixin); + _inherit(A.Row, A._Row_Object_UnmodifiableMapMixin_MapMixin); + _inherit(A.BaseVirtualFileSystem, A.VirtualFileSystem); + _inherit(A.WasmSqliteBindings, A.RawSqliteBindings); + _inherit(A.WasmDatabase0, A.RawSqliteDatabase); + _inherit(A.WasmStatementCompiler, A.RawStatementCompiler); + _inherit(A.WasmStatement, A.RawSqliteStatement); + _inherit(A.WasmContext, A.RawSqliteContext); + _inherit(A.WasmValue, A.RawSqliteValue); + _inherit(A.WasmSqlite3, A.Sqlite3Implementation); + _inheritMany(A.BaseVirtualFileSystem, [A.WasmVfs, A.IndexedDbFileSystem, A.InMemoryFileSystem, A.SimpleOpfsFileSystem]); + _inheritMany(A.BaseVfsFile, [A.WasmFile, A._InMemoryFile, A._SimpleOpfsFile]); + _inheritMany(A.Message0, [A.EmptyMessage, A.Flags]); + _inherit(A.NameAndInt32Flags, A.Flags); + _inherit(A._IndexedDbWorkItem, A.LinkedListEntry); + _inheritMany(A._IndexedDbWorkItem, [A._FunctionWorkItem, A._DeleteFileWorkItem, A._CreateFileWorkItem, A._WriteFileWorkItem]); + _inheritMany(A.StreamChannelMixin, [A.CloseGuaranteeChannel, A.GuaranteeChannel]); + _inherit(A._CloseGuaranteeSink, A.DelegatingStreamSink); + _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin); + _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _mixin(A._AsyncStreamController, A._AsyncStreamControllerDispatch); + _mixin(A._SyncStreamController, A._SyncStreamControllerDispatch); + _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin); + _mixin(A._ResultSet_Cursor_ListMixin, A.ListBase); + _mixin(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A.NonGrowableListMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin, A.UnmodifiableMapMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin_MapMixin, A.MapBase); + })(); + var init = { + typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, + mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, + mangledNames: {}, + types: ["~()", "~(JSObject)", "Future<~>()", "bool(String)", "int(int,int)", "double(num)", "~(Object,StackTrace)", "~(Object?)", "Null()", "Null(JSObject)", "Frame()", "Frame(String)", "~(@)", "int(int)", "Future()", "Null(int)", "Object?(Object?)", "~(JSObject?,List?)", "Null(int,int,int)", "~(~())", "String(int)", "int(int,int,int,int)", "bool(~)", "@()", "Null(@)", "String(String)", "~(Uint8List,String,int)", "String(List)", "Future()", "num?(List)", "~(Object[StackTrace?])", "int(int,int,int,int,int)", "int(int,int,int)", "Trace(String)", "int(int,int,int,JavaScriptBigInt)", "int(Frame)", "String(Frame)", "bool()", "@(@,String)", "bool(Object?)", "Future<@>()", "CancellationToken<@>?()", "Future()", "~(String,int)", "@(@)", "int()", "Future()", "Map(List)", "int(List)", "~(String,int?)", "Null(QueryExecutor)", "Future(~)", "Null(@,StackTrace)", "~(int,@)", "~(@,@)", "JSObject(JSArray)", "RunningWasmServer()", "Future()", "Null(bool)", "~(EventSink)", "~(bool,bool,bool,List<+(WebStorageApi,String)>)", "~(Object?,Object?)", "String(String?)", "String(Object?)", "~(RawSqliteContext,List)", "~(FinalizablePart)", "~(String,Map)", "~(String,Object?)", "~(_OpenedFileHandle)", "JSObject(JSObject?)", "Future<~>(int,Uint8List)", "Future<~>(int)", "Uint8List()", "Future(String)", "~([Object?])", "Uint8List(@,@)", "Null(~())", "~(String,@)", "Null(int,int)", "~(Symbol0,@)", "int(int,JavaScriptBigInt)", "Null(Object,StackTrace)", "Null(int,int,int,int,JavaScriptBigInt)", "List(Trace)", "~(@,StackTrace)", "Future<~>(Request)", "String(Trace)", "int?(int)", "_Future<@>(@)", "Frame(String,String)", "Trace()", "int(@,@)", "Null(~)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "0^(0^,0^)", "@(Request)", "~(CommonDatabase)", "@(String)", "bool?(List)", "bool(List<@>)", "EmptyMessage(MessageSerializer)", "Flags(MessageSerializer)", "NameAndInt32Flags(MessageSerializer)", "int(Trace)", "Future()"], + interceptorsByTag: null, + leafTags: null, + arrayRti: Symbol("$ti"), + rttc: { + "2;": (t1, t2) => o => o instanceof A._Record_2 && t1._is(o._0) && t2._is(o._1), + "2;file,outFlags": (t1, t2) => o => o instanceof A._Record_2_file_outFlags && t1._is(o._0) && t2._is(o._1) + } + }; + A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"_Record_2":{"_Record2":[],"_Record":[]},"_Record_2_file_outFlags":{"_Record2":[],"_Record":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"_Record2":{"_Record":[]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteData":{"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeInt32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int32List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeTypedData":{"JSObject":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float32List":[],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float64List":[],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int16List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int8List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint16List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint32List":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8ClampedList":[],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"MultiStreamController":{"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_HandlerEventSink":{"EventSink":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_SyncStarIterator":{"Iterator":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastStreamController":{"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"],"EventSink":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_EventSinkWrapper":{"EventSink":["1"]},"_SinkTransformerStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_StreamSinkTransformer":{"StreamTransformer":["1","2"]},"_BoundSinkStream":{"Stream":["2"],"Stream.T":"2"},"_StreamHandlerTransformer":{"_StreamSinkTransformer":["1","2"],"StreamTransformer":["1","2"]},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"LinkedList":{"Iterable":["1"],"Iterable.E":"1"},"_LinkedListIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_MapBaseValueIterator":{"Iterator":["2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"AsciiCodec":{"Codec":["String","List"]},"_UnicodeSubsetEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"AsciiEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Base64Codec":{"Codec":["List","String"]},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"_FusedCodec":{"Codec":["1","3"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"Utf8Codec":{"Codec":["String","List"]},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExpMatch":{"Match":[]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"_Enum":{"Enum":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"_JSRandom":{"Random":[]},"_JSSecureRandom":{"Random":[]},"DelegatingStreamSink":{"StreamSink":["1"],"EventSink":["1"]},"ConnectionClosedException":{"Exception":[]},"DriftRemoteException":{"Exception":[]},"Request":{"Message":[]},"StatementMethod":{"Enum":[]},"NestedExecutorControl":{"Enum":[]},"SuccessResponse":{"Message":[]},"ErrorResponse":{"Message":[]},"CancelledResponse":{"Message":[]},"NoArgsRequest":{"Enum":[]},"ServerImplementation":{"DriftServer":[]},"_ServerDbUser":{"QueryExecutorUser":[]},"UpdateKind":{"Enum":[]},"CancellationException":{"Exception":[]},"NoVersionDelegate":{"DbVersionDelegate":[]},"DynamicVersionDelegate":{"DbVersionDelegate":[]},"_BaseExecutor":{"QueryExecutor":[]},"_TransactionExecutor":{"_BaseExecutor":[],"TransactionExecutor":[],"QueryExecutor":[]},"_StatementBasedTransactionExecutor":{"_BaseExecutor":[],"TransactionExecutor":[],"QueryExecutor":[]},"DelegatedDatabase":{"_BaseExecutor":[],"QueryExecutor":[]},"_BeforeOpeningExecutor":{"_BaseExecutor":[],"QueryExecutor":[]},"_ExclusiveExecutor":{"_BaseExecutor":[],"QueryExecutor":[]},"_InterceptedExecutor":{"QueryExecutor":[]},"_InterceptedTransactionExecutor":{"TransactionExecutor":[],"QueryExecutor":[]},"SqlDialect":{"Enum":[]},"Sqlite3Delegate":{"DatabaseDelegate":[]},"_SqliteVersionDelegate":{"DbVersionDelegate":[]},"LazyDatabase":{"QueryExecutor":[]},"SharedWorkerCompatibilityResult":{"WasmInitializationMessage":[]},"ProtocolVersion":{"Enum":[]},"CompatibilityResult":{"WasmInitializationMessage":[]},"WorkerError":{"WasmInitializationMessage":[],"Exception":[]},"ServeDriftDatabase":{"WasmInitializationMessage":[]},"RequestCompatibilityCheck":{"WasmInitializationMessage":[]},"DedicatedWorkerCompatibilityResult":{"WasmInitializationMessage":[]},"StartFileSystemServer":{"WasmInitializationMessage":[]},"DeleteDatabase":{"WasmInitializationMessage":[]},"_CloseVfsOnClose":{"QueryInterceptor":[]},"WasmStorageImplementation":{"Enum":[]},"WebStorageApi":{"Enum":[]},"WasmDatabase":{"DelegatedDatabase":[],"_BaseExecutor":[],"QueryExecutor":[]},"_WasmDelegate":{"Sqlite3Delegate":["CommonDatabase"],"DatabaseDelegate":[],"Sqlite3Delegate.0":"CommonDatabase"},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"SqliteException":{"Exception":[]},"FinalizableDatabase":{"FinalizablePart":[]},"DatabaseImplementation":{"CommonDatabase":[]},"ValueList":{"ListBase":["Object?"],"List":["Object?"],"EfficientLengthIterable":["Object?"],"Iterable":["Object?"],"ListBase.E":"Object?"},"Sqlite3Implementation":{"CommonSqlite3":[]},"FinalizableStatement":{"FinalizablePart":[]},"StatementImplementation":{"CommonPreparedStatement":[]},"Row":{"UnmodifiableMapMixin":["String","@"],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"ResultSet":{"ListBase":["Row"],"NonGrowableListMixin":["Row"],"List":["Row"],"EfficientLengthIterable":["Row"],"Cursor":[],"Iterable":["Row"],"ListBase.E":"Row"},"_ResultIterator":{"Iterator":["Row"]},"OpenMode":{"Enum":[]},"IndexedParameters":{"StatementParameters":[]},"VfsException":{"Exception":[]},"BaseVirtualFileSystem":{"VirtualFileSystem":[]},"BaseVfsFile":{"VirtualFileSystemFile":[]},"WasmValue":{"RawSqliteValue":[]},"WasmSqliteBindings":{"RawSqliteBindings":[]},"WasmDatabase0":{"RawSqliteDatabase":[]},"WasmStatement":{"RawSqliteStatement":[]},"WasmContext":{"RawSqliteContext":[]},"WasmValueList":{"ListBase":["WasmValue"],"List":["WasmValue"],"EfficientLengthIterable":["WasmValue"],"Iterable":["WasmValue"],"ListBase.E":"WasmValue"},"AsyncJavaScriptIteratable":{"Stream":["1"],"Stream.T":"1"},"WasmSqlite3":{"CommonSqlite3":[]},"WasmVfs":{"VirtualFileSystem":[]},"WasmFile":{"VirtualFileSystemFile":[]},"WorkerOperation":{"Enum":[]},"EmptyMessage":{"Message0":[]},"Flags":{"Message0":[]},"NameAndInt32Flags":{"Flags":[],"Message0":[]},"IndexedDbFileSystem":{"VirtualFileSystem":[]},"_IndexedDbWorkItem":{"LinkedListEntry":["_IndexedDbWorkItem"]},"_IndexedDbFile":{"VirtualFileSystemFile":[]},"_FunctionWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_DeleteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_CreateFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_WriteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"InMemoryFileSystem":{"VirtualFileSystem":[]},"_InMemoryFile":{"VirtualFileSystemFile":[]},"FileType":{"Enum":[]},"SimpleOpfsFileSystem":{"VirtualFileSystem":[]},"_SimpleOpfsFile":{"VirtualFileSystemFile":[]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"CloseGuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_CloseGuaranteeStream":{"Stream":["1"],"Stream.T":"1"},"_CloseGuaranteeSink":{"DelegatingStreamSink":["1"],"StreamSink":["1"],"EventSink":["1"]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"],"EventSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"_DelayedEvent":1,"_SetBase":1,"AggregateContext":1}')); + var string$ = { + ______: "===== asynchronous gap ===========================\n", + Cannoteff: "Cannot extract a file path from a URI with a fragment component", + Cannotefq: "Cannot extract a file path from a URI with a query component", + Cannoten: "Cannot extract a non-Windows file path from a file URI with an authority", + Cannotf: "Cannot fire new event. Controller is already firing an event", + Dart_f: "Dart function requires `allowInterop` to be passed to JavaScript.", + Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", + Tried_: "Tried to operate on a released prepared statement", + max_mu: "max must be in range 0 < max \u2264 2^32, was " + }; + var type$ = (function rtii() { + var findType = A.findType; + return { + AggregateContext_nullable_Object: findType("AggregateContext"), + AsyncError: findType("AsyncError"), + AsyncJavaScriptIteratable_JSArray_nullable_Object: findType("AsyncJavaScriptIteratable>"), + ByteBuffer: findType("ByteBuffer"), + ByteData: findType("ByteData"), + CancellationToken_dynamic: findType("CancellationToken<@>"), + CommonPreparedStatement: findType("CommonPreparedStatement"), + Comparable_dynamic: findType("Comparable<@>"), + ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), + DateTime: findType("DateTime"), + DedicatedWorkerCompatibilityResult: findType("DedicatedWorkerCompatibilityResult"), + DriftCommunication: findType("DriftCommunication"), + Duration: findType("Duration"), + EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"), + EmptyMessage: findType("EmptyMessage"), + Error: findType("Error"), + Exception: findType("Exception"), + FileType: findType("FileType"), + FinalizablePart: findType("FinalizablePart"), + Flags: findType("Flags"), + Float32List: findType("Float32List"), + Float64List: findType("Float64List"), + Frame: findType("Frame"), + Frame_Function_String: findType("Frame(String)"), + Function: findType("Function"), + Future_bool: findType("Future"), + Future_dynamic: findType("Future<@>"), + Future_nullable_Uint8List: findType("Future"), + IndexedDbFileSystem: findType("IndexedDbFileSystem"), + Int16List: findType("Int16List"), + Int32List: findType("Int32List"), + Int8List: findType("Int8List"), + Invocation: findType("Invocation"), + Iterable_String: findType("Iterable"), + Iterable_double: findType("Iterable"), + Iterable_dynamic: findType("Iterable<@>"), + Iterable_int: findType("Iterable"), + Iterable_nullable_Object: findType("Iterable"), + JSArray_ArgumentsForBatchedStatement: findType("JSArray"), + JSArray_CommonPreparedStatement: findType("JSArray"), + JSArray_FinalizableStatement: findType("JSArray"), + JSArray_Frame: findType("JSArray"), + JSArray_Future_void: findType("JSArray>"), + JSArray_JSObject: findType("JSArray"), + JSArray_List_dynamic: findType("JSArray>"), + JSArray_List_nullable_Object: findType("JSArray>"), + JSArray_Map_of_String_and_nullable_Object: findType("JSArray>"), + JSArray_MultiStreamController_SqliteUpdate: findType("JSArray>"), + JSArray_NativeUint8List: findType("JSArray"), + JSArray_Object: findType("JSArray"), + JSArray_Record_2_WebStorageApi_and_String: findType("JSArray<+(WebStorageApi,String)>"), + JSArray_StatementImplementation: findType("JSArray"), + JSArray_String: findType("JSArray"), + JSArray_TableUpdate: findType("JSArray"), + JSArray_Trace: findType("JSArray"), + JSArray__OffsetAndBuffer: findType("JSArray<_OffsetAndBuffer>"), + JSArray_double: findType("JSArray"), + JSArray_dynamic: findType("JSArray<@>"), + JSArray_int: findType("JSArray"), + JSArray_nullable_Object: findType("JSArray"), + JSArray_nullable_String: findType("JSArray"), + JSArray_nullable_int: findType("JSArray"), + JSArray_of_void_Function: findType("JSArray<~()>"), + JSIndexable_dynamic: findType("JSIndexable<@>"), + JSNull: findType("JSNull"), + JSObject: findType("JSObject"), + JavaScriptBigInt: findType("JavaScriptBigInt"), + JavaScriptFunction: findType("JavaScriptFunction"), + JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JavaScriptSymbol: findType("JavaScriptSymbol"), + JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), + LinkedList__IndexedDbWorkItem: findType("LinkedList<_IndexedDbWorkItem>"), + List_JSObject: findType("List"), + List_Map_of_String_and_nullable_Object: findType("List>"), + List_RawSqliteValue: findType("List"), + List_Record_2_WebStorageApi_and_String: findType("List<+(WebStorageApi,String)>"), + List_String: findType("List"), + List_dynamic: findType("List<@>"), + List_int: findType("List"), + List_nullable_Object: findType("List"), + Map_String_JSObject: findType("Map"), + Map_String_int: findType("Map"), + Map_of_String_and_Map_String_JSObject: findType("Map>"), + Map_of_String_and_nullable_Object: findType("Map"), + Map_of_nullable_Object_and_nullable_Object: findType("Map"), + MappedIterable_String_Frame: findType("MappedIterable"), + MappedListIterable_String_Trace: findType("MappedListIterable"), + MappedListIterable_String_dynamic: findType("MappedListIterable"), + Message: findType("Message0"), + NameAndInt32Flags: findType("NameAndInt32Flags"), + NativeByteBuffer: findType("NativeByteBuffer"), + NativeByteData: findType("NativeByteData"), + NativeInt32List: findType("NativeInt32List"), + NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"), + NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"), + NativeUint8List: findType("NativeUint8List"), + NotifyTablesUpdated: findType("NotifyTablesUpdated"), + Null: findType("Null"), + Object: findType("Object"), + QueryExecutor: findType("QueryExecutor"), + QueryResult: findType("QueryResult"), + Record: findType("Record"), + Record_0: findType("+()"), + RegExpMatch: findType("RegExpMatch"), + RegisteredFunctionSet: findType("RegisteredFunctionSet"), + Request: findType("Request"), + ReversedListIterable_String: findType("ReversedListIterable"), + Row: findType("Row"), + RunningWasmServer: findType("RunningWasmServer"), + ServeDriftDatabase: findType("ServeDriftDatabase"), + SharedWorkerCompatibilityResult: findType("SharedWorkerCompatibilityResult"), + SimpleOpfsFileSystem: findType("SimpleOpfsFileSystem"), + SqlDialect: findType("SqlDialect"), + SqliteResult_nullable_RawSqliteStatement: findType("SqliteResult"), + StackTrace: findType("StackTrace"), + StatementImplementation: findType("StatementImplementation"), + StreamChannelController_nullable_Object: findType("StreamChannelController"), + String: findType("String"), + Symbol: findType("Symbol0"), + Timer: findType("Timer"), + Trace: findType("Trace"), + Trace_Function_String: findType("Trace(String)"), + TransactionExecutor: findType("TransactionExecutor"), + TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), + TypeError: findType("TypeError"), + Uint16List: findType("Uint16List"), + Uint32List: findType("Uint32List"), + Uint8ClampedList: findType("Uint8ClampedList"), + Uint8List: findType("Uint8List"), + UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), + Uri: findType("Uri"), + VfsWorker: findType("VfsWorker"), + VirtualFileSystem: findType("VirtualFileSystem"), + VirtualFileSystemFile: findType("VirtualFileSystemFile"), + WasmBindings: findType("WasmBindings"), + WasmInstance: findType("WasmInstance"), + WasmSqlite3: findType("WasmSqlite3"), + WasmStorageImplementation: findType("WasmStorageImplementation"), + WasmValue: findType("WasmValue"), + WasmVfs: findType("WasmVfs"), + WhereIterable_String: findType("WhereIterable"), + WhereTypeIterable_String: findType("WhereTypeIterable"), + WorkerOperation_Flags_EmptyMessage: findType("WorkerOperation"), + WorkerOperation_Flags_Flags: findType("WorkerOperation"), + WorkerOperation_NameAndInt32Flags_Flags: findType("WorkerOperation"), + Zone: findType("Zone"), + _AsyncCompleter_SharedWorkerCompatibilityResult: findType("_AsyncCompleter"), + _AsyncCompleter_bool: findType("_AsyncCompleter"), + _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"), + _AsyncCompleter_nullable_Uint8List: findType("_AsyncCompleter"), + _AsyncCompleter_void: findType("_AsyncCompleter<~>"), + _BigIntImpl: findType("_BigIntImpl"), + _CursorReader_JSObject: findType("_CursorReader"), + _EventStream_JSObject: findType("_EventStream"), + _Future_JSObject: findType("_Future"), + _Future_SharedWorkerCompatibilityResult: findType("_Future"), + _Future_bool: findType("_Future"), + _Future_dynamic: findType("_Future<@>"), + _Future_int: findType("_Future"), + _Future_nullable_Uint8List: findType("_Future"), + _Future_void: findType("_Future<~>"), + _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), + _OpenedFileHandle: findType("_OpenedFileHandle"), + _PendingRequest: findType("_PendingRequest"), + _ResolvedPath: findType("_ResolvedPath"), + _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState"), + _StreamIterator_JSObject: findType("_StreamIterator"), + _SyncBroadcastStreamController_void: findType("_SyncBroadcastStreamController<~>"), + _SyncCompleter_JSObject: findType("_SyncCompleter"), + _SyncCompleter_bool: findType("_SyncCompleter"), + _SyncCompleter_void: findType("_SyncCompleter<~>"), + _ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace: findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,Object,StackTrace)>"), + bool: findType("bool"), + bool_Function_Object: findType("bool(Object)"), + bool_Function_String: findType("bool(String)"), + double: findType("double"), + dynamic: findType("@"), + dynamic_Function: findType("@()"), + dynamic_Function_Object: findType("@(Object)"), + dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), + dynamic_Function_Request: findType("@(Request)"), + dynamic_Function_String: findType("@(String)"), + int: findType("int"), + legacy_Never: findType("0&*"), + legacy_Object: findType("Object*"), + nullable_Completer_bool: findType("Completer?"), + nullable_FutureOr_nullable_Uint8List_Function: findType("Uint8List?/()?"), + nullable_Future_Null: findType("Future?"), + nullable_JSObject: findType("JSObject?"), + nullable_List_JSObject: findType("List?"), + nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map?"), + nullable_NativeUint8List: findType("NativeUint8List?"), + nullable_Object: findType("Object?"), + nullable_Object_Function_List_nullable_Object: findType("Object?(List)"), + nullable_Record_2_Object_and_StackTrace: findType("+(Object,StackTrace)?"), + nullable_StackTrace: findType("StackTrace?"), + nullable_Uint8List: findType("Uint8List?"), + nullable_Zone: findType("Zone?"), + nullable_ZoneDelegate: findType("ZoneDelegate?"), + nullable_ZoneSpecification: findType("ZoneSpecification?"), + nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"), + nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), + nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"), + nullable_int: findType("int?"), + nullable_void_Function: findType("~()?"), + nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue: findType("~(RawSqliteContext,List)?"), + nullable_void_Function_JSObject: findType("~(JSObject)?"), + nullable_void_Function_int_String_int: findType("~(int,String,int)?"), + num: findType("num"), + void: findType("~"), + void_Function: findType("~()"), + void_Function_$opt_void: findType("~([~])"), + void_Function_2_nullable_JSObject_and_nullable_List_JSObject: findType("~(JSObject?,List?)"), + void_Function_Object: findType("~(Object)"), + void_Function_Object_StackTrace: findType("~(Object,StackTrace)"), + void_Function_Timer: findType("~(Timer)") + }; + })(); + (function constants() { + var makeConstList = hunkHelpers.makeConstList; + B.Interceptor_methods = J.Interceptor.prototype; + B.JSArray_methods = J.JSArray.prototype; + B.JSInt_methods = J.JSInt.prototype; + B.JSNumber_methods = J.JSNumber.prototype; + B.JSString_methods = J.JSString.prototype; + B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + B.JavaScriptObject_methods = J.JavaScriptObject.prototype; + B.NativeByteData_methods = A.NativeByteData.prototype; + B.NativeUint8List_methods = A.NativeUint8List.prototype; + B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + B.AllowedArgumentCount_0 = new A.AllowedArgumentCount(0); + B.AllowedArgumentCount_1 = new A.AllowedArgumentCount(1); + B.AllowedArgumentCount_2 = new A.AllowedArgumentCount(2); + B.AllowedArgumentCount_3 = new A.AllowedArgumentCount(3); + B.AllowedArgumentCount_m1 = new A.AllowedArgumentCount(-1); + B.AsciiEncoder_127 = new A.AsciiEncoder(127); + B.CONSTANT = new A.Instantiation1(A.math__max$closure(), A.findType("Instantiation1")); + B.C_AsciiCodec = new A.AsciiCodec(); + B.C_Base64Encoder = new A.Base64Encoder(); + B.C_Base64Codec = new A.Base64Codec(); + B.C_CancellationException = new A.CancellationException(); + B.C_ConnectionClosedException = new A.ConnectionClosedException(); + B.C_DefaultEquality = new A.DefaultEquality(A.findType("DefaultEquality<0&>")); + B.C_DriftProtocol = new A.DriftProtocol(); + B.C_EmptyIterator = new A.EmptyIterator(A.findType("EmptyIterator<0&>")); + B.C_EmptyMessage = new A.EmptyMessage(); + B.C_IntegerDivisionByZeroException = new A.IntegerDivisionByZeroException(); + B.C_JS_CONST = function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +}; + B.C_JS_CONST0 = function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +}; + B.C_JS_CONST6 = function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +}; + B.C_JS_CONST1 = function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +}; + B.C_JS_CONST5 = function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +}; + B.C_JS_CONST4 = function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +}; + B.C_JS_CONST2 = function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +}; + B.C_JS_CONST3 = function(hooks) { return hooks; } +; + B.C_ListEquality = new A.ListEquality(A.findType("ListEquality")); + B.C_NoTransactionDelegate = new A.NoTransactionDelegate(); + B.C_NoVersionDelegate = new A.NoVersionDelegate(); + B.C_OutOfMemoryError = new A.OutOfMemoryError(); + B.C_SentinelValue = new A.SentinelValue(); + B.C_Utf8Codec = new A.Utf8Codec(); + B.C_Utf8Encoder = new A.Utf8Encoder(); + B.C__DelayedDone = new A._DelayedDone(); + B.C__JSRandom = new A._JSRandom(); + B.C__Required = new A._Required(); + B.C__RootZone = new A._RootZone(); + B.Duration_0 = new A.Duration(0); + B.FormatException_ZGD = new A.FormatException("Cannot read message", null, null); + B.FormatException_urD = new A.FormatException("Unknown tag", null, null); + B.List_11 = A._setArrayType(makeConstList([11]), type$.JSArray_int); + B.List_2jN = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_42A = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int); + B.List_4AN = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_GVy = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int); + B.List_M2I0 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int); + B.List_M2I = A._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int); + B.List_VOY = A._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_int); + B.WebStorageApi_0 = new A.WebStorageApi(0, "opfs"); + B.WebStorageApi_1 = new A.WebStorageApi(1, "indexedDb"); + B.List_WebStorageApi_0_WebStorageApi_1 = A._setArrayType(makeConstList([B.WebStorageApi_0, B.WebStorageApi_1]), A.findType("JSArray")); + B.UpdateKind_0 = new A.UpdateKind(0, "insert"); + B.UpdateKind_1 = new A.UpdateKind(1, "update"); + B.UpdateKind_2 = new A.UpdateKind(2, "delete"); + B.List_c4R = A._setArrayType(makeConstList([B.UpdateKind_0, B.UpdateKind_1, B.UpdateKind_2]), A.findType("JSArray")); + B.WorkerOperation_Gkh = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 0, "xAccess", type$.WorkerOperation_NameAndInt32Flags_Flags); + B.WorkerOperation_AxI = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 1, "xDelete", A.findType("WorkerOperation")); + B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 2, "xOpen", type$.WorkerOperation_NameAndInt32Flags_Flags); + B.WorkerOperation_readFlags_readFlags_3_xRead = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 3, "xRead", type$.WorkerOperation_Flags_Flags); + B.WorkerOperation_readFlags_readEmpty_4_xWrite = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 4, "xWrite", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_5_xSleep = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 5, "xSleep", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_6_xClose = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 6, "xClose", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readFlags_7_xFileSize = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 7, "xFileSize", type$.WorkerOperation_Flags_Flags); + B.WorkerOperation_readFlags_readEmpty_8_xSync = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 8, "xSync", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_9_xTruncate = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 9, "xTruncate", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_10_xLock = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 10, "xLock", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_11_xUnlock = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 11, "xUnlock", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readEmpty_readEmpty_12_stopServer = new A.WorkerOperation(A.sync_channel_MessageSerializer_readEmpty$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 12, "stopServer", A.findType("WorkerOperation")); + B.List_ckn = A._setArrayType(makeConstList([B.WorkerOperation_Gkh, B.WorkerOperation_AxI, B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen, B.WorkerOperation_readFlags_readFlags_3_xRead, B.WorkerOperation_readFlags_readEmpty_4_xWrite, B.WorkerOperation_readFlags_readEmpty_5_xSleep, B.WorkerOperation_readFlags_readEmpty_6_xClose, B.WorkerOperation_readFlags_readFlags_7_xFileSize, B.WorkerOperation_readFlags_readEmpty_8_xSync, B.WorkerOperation_readFlags_readEmpty_9_xTruncate, B.WorkerOperation_readFlags_readEmpty_10_xLock, B.WorkerOperation_readFlags_readEmpty_11_xUnlock, B.WorkerOperation_readEmpty_readEmpty_12_stopServer]), A.findType("JSArray>")); + B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_JSObject); + B.List_empty3 = A._setArrayType(makeConstList([]), type$.JSArray_List_nullable_Object); + B.List_empty4 = A._setArrayType(makeConstList([]), type$.JSArray_Object); + B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_String); + B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); + B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_nullable_Object); + B.List_empty5 = A._setArrayType(makeConstList([]), type$.JSArray_Record_2_WebStorageApi_and_String); + B.WasmStorageImplementation_0 = new A.WasmStorageImplementation(0, "opfsShared"); + B.WasmStorageImplementation_1 = new A.WasmStorageImplementation(1, "opfsLocks"); + B.WasmStorageImplementation_2 = new A.WasmStorageImplementation(2, "sharedIndexedDb"); + B.WasmStorageImplementation_3 = new A.WasmStorageImplementation(3, "unsafeIndexedDb"); + B.WasmStorageImplementation_4 = new A.WasmStorageImplementation(4, "inMemory"); + B.List_gqi = A._setArrayType(makeConstList([B.WasmStorageImplementation_0, B.WasmStorageImplementation_1, B.WasmStorageImplementation_2, B.WasmStorageImplementation_3, B.WasmStorageImplementation_4]), A.findType("JSArray")); + B.StatementMethod_0 = new A.StatementMethod(0, "custom"); + B.StatementMethod_1 = new A.StatementMethod(1, "deleteOrUpdate"); + B.StatementMethod_2 = new A.StatementMethod(2, "insert"); + B.StatementMethod_3 = new A.StatementMethod(3, "select"); + B.List_kYu = A._setArrayType(makeConstList([B.StatementMethod_0, B.StatementMethod_1, B.StatementMethod_2, B.StatementMethod_3]), A.findType("JSArray")); + B.FileType_s7J = new A.FileType("/database", 0, "database"); + B.FileType_ADx = new A.FileType("/database-journal", 1, "journal"); + B.List_oyU = A._setArrayType(makeConstList([B.FileType_s7J, B.FileType_ADx]), A.findType("JSArray")); + B.NestedExecutorControl_0 = new A.NestedExecutorControl(0, "beginTransaction"); + B.NestedExecutorControl_1 = new A.NestedExecutorControl(1, "commit"); + B.NestedExecutorControl_2 = new A.NestedExecutorControl(2, "rollback"); + B.NestedExecutorControl_3 = new A.NestedExecutorControl(3, "startExclusive"); + B.NestedExecutorControl_4 = new A.NestedExecutorControl(4, "endExclusive"); + B.List_p2F = A._setArrayType(makeConstList([B.NestedExecutorControl_0, B.NestedExecutorControl_1, B.NestedExecutorControl_2, B.NestedExecutorControl_3, B.NestedExecutorControl_4]), A.findType("JSArray")); + B.List_piR = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.SqlDialect_0_sqlite = new A.SqlDialect(0, "sqlite"); + B.SqlDialect_1_mysql = new A.SqlDialect(1, "mysql"); + B.SqlDialect_2_postgres = new A.SqlDialect(2, "postgres"); + B.SqlDialect_3_mariadb = new A.SqlDialect(3, "mariadb"); + B.List_yTp = A._setArrayType(makeConstList([B.SqlDialect_0_sqlite, B.SqlDialect_1_mysql, B.SqlDialect_2_postgres, B.SqlDialect_3_mariadb]), A.findType("JSArray")); + B.Object_empty = {}; + B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); + B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); + B.NoArgsRequest_0 = new A.NoArgsRequest(0, "terminateAll"); + B.OpenMode_2 = new A.OpenMode(2, "readWriteCreate"); + B.ProtocolVersion_0_0_legacy = new A.ProtocolVersion(0, 0, "legacy"); + B.ProtocolVersion_1_1_v1 = new A.ProtocolVersion(1, 1, "v1"); + B.ProtocolVersion_2_2_v2 = new A.ProtocolVersion(2, 2, "v2"); + B.List_empty6 = A._setArrayType(makeConstList([]), type$.JSArray_Map_of_String_and_nullable_Object); + B.SelectResult_List_empty = new A.SelectResult(B.List_empty6); + B.Symbol_call = new A.Symbol("call"); + B.Symbol_uzx = new A.Symbol("drift.runtime.cancellation"); + B.Type_ByteBuffer_EOZ = A.typeLiteral("ByteBuffer"); + B.Type_ByteData_mF8 = A.typeLiteral("ByteData"); + B.Type_Float32List_Ymk = A.typeLiteral("Float32List"); + B.Type_Float64List_Ymk = A.typeLiteral("Float64List"); + B.Type_Int16List_cot = A.typeLiteral("Int16List"); + B.Type_Int32List_m1p = A.typeLiteral("Int32List"); + B.Type_Int8List_woc = A.typeLiteral("Int8List"); + B.Type_Object_QJv = A.typeLiteral("Object"); + B.Type_Uint16List_2mh = A.typeLiteral("Uint16List"); + B.Type_Uint32List_2mh = A.typeLiteral("Uint32List"); + B.Type_Uint8ClampedList_9Bb = A.typeLiteral("Uint8ClampedList"); + B.Type_Uint8List_CSc = A.typeLiteral("Uint8List"); + B.VfsException_10 = new A.VfsException(10); + B.VfsException_12 = new A.VfsException(12); + B.VfsException_14 = new A.VfsException(14); + B.VfsException_2570 = new A.VfsException(2570); + B.VfsException_3850 = new A.VfsException(3850); + B.VfsException_522 = new A.VfsException(522); + B.VfsException_778 = new A.VfsException(778); + B.VfsException_8 = new A.VfsException(8); + B._PathDirection_3KU = new A._PathDirection("above root"); + B._PathDirection_8OV = new A._PathDirection("at root"); + B._PathDirection_e7w = new A._PathDirection("reaches root"); + B._PathDirection_yLX = new A._PathDirection("below root"); + B._PathRelation_different = new A._PathRelation("different"); + B._PathRelation_equal = new A._PathRelation("equal"); + B._PathRelation_inconclusive = new A._PathRelation("inconclusive"); + B._PathRelation_within = new A._PathRelation("within"); + B._StringStackTrace_uwd = new A._StringStackTrace(""); + B._ZoneFunction_NIe = new A._ZoneFunction(B.C__RootZone, A.async___rootHandleUncaughtError$closure(), type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace); + B._ZoneFunction_QOa = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterUnaryCallback$closure(), A.findType("_ZoneFunction<0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))>")); + B._ZoneFunction__RootZone__rootCreateTimer = new A._ZoneFunction(B.C__RootZone, A.async___rootCreateTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootErrorCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootErrorCallback$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootFork = new A._ZoneFunction(B.C__RootZone, A.async___rootFork$closure(), A.findType("_ZoneFunction?)>")); + B._ZoneFunction__RootZone__rootPrint = new A._ZoneFunction(B.C__RootZone, A.async___rootPrint$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,String)>")); + B._ZoneFunction__RootZone__rootRegisterCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterCallback$closure(), A.findType("_ZoneFunction<0^()(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRun = new A._ZoneFunction(B.C__RootZone, A.async___rootRun$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRunBinary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunBinary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^,2^),1^,2^)>")); + B._ZoneFunction__RootZone__rootRunUnary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunUnary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^),1^)>")); + B._ZoneFunction__RootZone__rootScheduleMicrotask = new A._ZoneFunction(B.C__RootZone, A.async___rootScheduleMicrotask$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,~())>")); + B._ZoneFunction_kWM = new A._ZoneFunction(B.C__RootZone, A.async___rootCreatePeriodicTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction_qxw = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterBinaryCallback$closure(), A.findType("_ZoneFunction<0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))>")); + B._ZoneSpecification_48t = new A._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null); + })(); + (function staticFields() { + $._JS_INTEROP_INTERCEPTOR_TAG = null; + $.toStringVisiting = A._setArrayType([], type$.JSArray_Object); + $.printToZone = null; + $.Primitives__identityHashCodeProperty = null; + $.BoundClosure__receiverFieldNameCache = null; + $.BoundClosure__interceptorFieldNameCache = null; + $.getTagFunction = null; + $.alternateTagFunction = null; + $.prototypeForTagFunction = null; + $.dispatchRecordsForInstanceTags = null; + $.interceptorsForUncacheableTags = null; + $.initNativeDispatchFlag = null; + $._Record__computedFieldKeys = A._setArrayType([], A.findType("JSArray?>")); + $._nextCallback = null; + $._lastCallback = null; + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + $.Zone__current = B.C__RootZone; + $._RootZone__rootDelegate = null; + $._BigIntImpl__lastDividendDigits = null; + $._BigIntImpl__lastDividendUsed = null; + $._BigIntImpl__lastDivisorDigits = null; + $._BigIntImpl__lastDivisorUsed = null; + $._BigIntImpl____lastQuoRemDigits = A._Cell$named("_lastQuoRemDigits"); + $._BigIntImpl____lastQuoRemUsed = A._Cell$named("_lastQuoRemUsed"); + $._BigIntImpl____lastRemUsed = A._Cell$named("_lastRemUsed"); + $._BigIntImpl____lastRem_nsh = A._Cell$named("_lastRem_nsh"); + $.Uri__cachedBaseString = ""; + $.Uri__cachedBaseUri = null; + $._currentUriBase = null; + $._current = null; + })(); + (function lazyInitializers() { + var _lazyFinal = hunkHelpers.lazyFinal, + _lazy = hunkHelpers.lazy; + _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure")); + _lazyFinal($, "nullFuture", "$get$nullFuture", () => B.C__RootZone.run$1$1(new A.nullFuture_closure(), A.findType("Future"))); + _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({ + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null, + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + null.$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate()); + _lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", () => A.findType("_Future")._as($.$get$nullFuture())); + _lazyFinal($, "Future__falseFuture", "$get$Future__falseFuture", () => A._Future$zoneValue(false, B.C__RootZone, type$.bool)); + _lazyFinal($, "_RootZone__rootMap", "$get$_RootZone__rootMap", () => { + var t1 = type$.dynamic; + return A.HashMap_HashMap(t1, t1); + }); + _lazyFinal($, "_Utf8Decoder__reusableBuffer", "$get$_Utf8Decoder__reusableBuffer", () => A.NativeUint8List_NativeUint8List(4096)); + _lazyFinal($, "_Utf8Decoder__decoder", "$get$_Utf8Decoder__decoder", () => new A._Utf8Decoder__decoder_closure().call$0()); + _lazyFinal($, "_Utf8Decoder__decoderNonfatal", "$get$_Utf8Decoder__decoderNonfatal", () => new A._Utf8Decoder__decoderNonfatal_closure().call$0()); + _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => A.NativeInt8List__create1(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)))); + _lazyFinal($, "_BigIntImpl_zero", "$get$_BigIntImpl_zero", () => A._BigIntImpl__BigIntImpl$_fromInt(0)); + _lazyFinal($, "_BigIntImpl_one", "$get$_BigIntImpl_one", () => A._BigIntImpl__BigIntImpl$_fromInt(1)); + _lazyFinal($, "_BigIntImpl_two", "$get$_BigIntImpl_two", () => A._BigIntImpl__BigIntImpl$_fromInt(2)); + _lazyFinal($, "_BigIntImpl__minusOne", "$get$_BigIntImpl__minusOne", () => $.$get$_BigIntImpl_one().$negate(0)); + _lazyFinal($, "_BigIntImpl__bigInt10000", "$get$_BigIntImpl__bigInt10000", () => A._BigIntImpl__BigIntImpl$_fromInt(10000)); + _lazy($, "_BigIntImpl__parseRE", "$get$_BigIntImpl__parseRE", () => A.RegExp_RegExp("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$", false, false, false, false)); + _lazyFinal($, "_BigIntImpl__bitsForFromDouble", "$get$_BigIntImpl__bitsForFromDouble", () => A.NativeUint8List_NativeUint8List(8)); + _lazyFinal($, "_FinalizationRegistryWrapper__finalizationRegistryConstructor", "$get$_FinalizationRegistryWrapper__finalizationRegistryConstructor", () => typeof FinalizationRegistry == "function" ? FinalizationRegistry : null); + _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false, false, false)); + _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_QJv)); + _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables()); + _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { + var t1 = new A._JSSecureRandom(new DataView(new ArrayBuffer(A._checkLength(8)))); + t1._JSSecureRandom$0(); + return t1; + }); + _lazyFinal($, "WebStorageApi_byName", "$get$WebStorageApi_byName", () => A.EnumByName_asNameMap(B.List_WebStorageApi_0_WebStorageApi_1, A.findType("WebStorageApi"))); + _lazyFinal($, "windows", "$get$windows", () => A.Context_Context(null, $.$get$Style_windows())); + _lazyFinal($, "url", "$get$url", () => A.Context_Context(null, $.$get$Style_url())); + _lazyFinal($, "context", "$get$context", () => new A.Context($.$get$Style_platform(), null)); + _lazyFinal($, "Style_posix", "$get$Style_posix", () => new A.PosixStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("[^/]$", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_windows", "$get$Style_windows", () => new A.WindowsStyle(A.RegExp_RegExp("[/\\\\]", true, false, false, false), A.RegExp_RegExp("[^/\\\\]$", true, false, false, false), A.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false, false, false), A.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false, false, false))); + _lazyFinal($, "Style_url", "$get$Style_url", () => new A.UrlStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false, false, false), A.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_platform", "$get$Style_platform", () => A.Style__getPlatformStyle()); + _lazyFinal($, "bigIntMinValue64", "$get$bigIntMinValue64", () => A.BigInt_parse("-9223372036854775808")); + _lazyFinal($, "bigIntMaxValue64", "$get$bigIntMaxValue64", () => A.BigInt_parse("9223372036854775807")); + _lazyFinal($, "disposeFinalizer", "$get$disposeFinalizer", () => { + var t1 = $.$get$_FinalizationRegistryWrapper__finalizationRegistryConstructor(); + t1 = t1 == null ? null : new t1(A.convertDartClosureToJS(A.wrapZoneUnaryCallback(new A.disposeFinalizer_closure(), type$.FinalizablePart), 1)); + return new A._FinalizationRegistryWrapper(t1, A.findType("_FinalizationRegistryWrapper")); + }); + _lazyFinal($, "AsynchronousIndexedDbFileSystem__storesJs", "$get$AsynchronousIndexedDbFileSystem__storesJs", () => A.ListToJSArray_get_toJS(A._setArrayType([A.StringToJSString_get_toJS("files"), A.StringToJSString_get_toJS("blocks")], type$.JSArray_String), type$.String)); + _lazyFinal($, "FileType_byName", "$get$FileType_byName", () => { + var _i, entry, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.FileType); + for (_i = 0; _i < 2; ++_i) { + entry = B.List_oyU[_i]; + t1.$indexSet(0, entry.filePath, entry); + } + return t1; + }); + _lazyFinal($, "DartCallbacks_sqliteVfsPointer", "$get$DartCallbacks_sqliteVfsPointer", () => new A.Expando(new WeakMap(), A.findType("Expando"))); + _lazyFinal($, "_vmFrame", "$get$_vmFrame", () => A.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false, false, false)); + _lazyFinal($, "_v8Frame", "$get$_v8Frame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", true, false, false, false)); + _lazyFinal($, "_v8UrlLocation", "$get$_v8UrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", true, false, false, false)); + _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", () => A.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", true, false, false, false)); + _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", () => A.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", true, false, false, false)); + _lazyFinal($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", true, false, false, false)); + _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", () => A.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", true, false, false, false)); + _lazyFinal($, "_asyncBody", "$get$_asyncBody", () => A.RegExp_RegExp("<(|[^>]+)_async_body>", true, false, false, false)); + _lazyFinal($, "_initialDot", "$get$_initialDot", () => A.RegExp_RegExp("^\\.", true, false, false, false)); + _lazyFinal($, "Frame__uriRegExp", "$get$Frame__uriRegExp", () => A.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", true, false, false, false)); + _lazyFinal($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", () => A.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", true, false, false, false)); + _lazyFinal($, "_v8Trace", "$get$_v8Trace", () => A.RegExp_RegExp("\\n ?at ", true, false, false, false)); + _lazyFinal($, "_v8TraceLine", "$get$_v8TraceLine", () => A.RegExp_RegExp(" ?at ", true, false, false, false)); + _lazyFinal($, "_firefoxEvalTrace", "$get$_firefoxEvalTrace", () => A.RegExp_RegExp("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+", true, false, false, false)); + _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true, false, true, false)); + _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, false, true, false)); + _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^\\n?$", true, false, true, false)); + })(); + (function nativeSupport() { + !function() { + var intern = function(s) { + var o = {}; + o[s] = 1; + return Object.keys(hunkHelpers.convertToFastObject(o))[0]; + }; + init.getIsolateTag = function(name) { + return intern("___dart_" + name + init.isolateTag); + }; + var tableProperty = "___dart_isolate_tags_"; + var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); + var rootProperty = "_ZxYxX"; + for (var i = 0;; i++) { + var property = intern(rootProperty + "_" + i + "_"); + if (!(property in usedProperties)) { + usedProperties[property] = 1; + init.isolateTag = property; + break; + } + } + init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); + }(); + hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List}); + hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false}); + A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; + })(); + Function.prototype.call$0 = function() { + return this(); + }; + Function.prototype.call$1 = function(a) { + return this(a); + }; + Function.prototype.call$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$1$1 = function(a) { + return this(a); + }; + Function.prototype.call$3$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$2$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$2$1 = function(a) { + return this(a); + }; + Function.prototype.call$3$1 = function(a) { + return this(a); + }; + Function.prototype.call$2$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$1$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$3$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$2$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$1$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$3$6 = function(a, b, c, d, e, f) { + return this(a, b, c, d, e, f); + }; + Function.prototype.call$2$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$1$0 = function() { + return this(); + }; + convertAllToFastObject(holders); + convertToFastObject($); + (function(callback) { + if (typeof document === "undefined") { + callback(null); + return; + } + if (typeof document.currentScript != "undefined") { + callback(document.currentScript); + return; + } + var scripts = document.scripts; + function onLoad(event) { + for (var i = 0; i < scripts.length; ++i) { + scripts[i].removeEventListener("load", onLoad, false); + } + callback(event.target); + } + for (var i = 0; i < scripts.length; ++i) { + scripts[i].addEventListener("load", onLoad, false); + } + })(function(currentScript) { + init.currentScript = currentScript; + var callMain = A.main; + if (typeof dartMainRunner === "function") { + dartMainRunner(callMain, []); + } else { + callMain([]); + } + }); +})(); + +//# sourceMappingURL=worker.dart.js.map diff --git a/experimental/http_get_cache/example/web/favicon.png b/experimental/http_get_cache/example/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/web/icons/Icon-192.png b/experimental/http_get_cache/example/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/web/icons/Icon-512.png b/experimental/http_get_cache/example/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/web/icons/Icon-maskable-192.png b/experimental/http_get_cache/example/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/web/icons/Icon-maskable-512.png b/experimental/http_get_cache/example/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/web/index.html b/experimental/http_get_cache/example/web/index.html new file mode 100644 index 0000000..1aa025d --- /dev/null +++ b/experimental/http_get_cache/example/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + example + + + + + + diff --git a/experimental/http_get_cache/example/web/manifest.json b/experimental/http_get_cache/example/web/manifest.json new file mode 100644 index 0000000..096edf8 --- /dev/null +++ b/experimental/http_get_cache/example/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "example", + "short_name": "example", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/experimental/http_get_cache/example/web/sqlite3.debug.wasm b/experimental/http_get_cache/example/web/sqlite3.debug.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1d76779ebc284b4d89984be1972346cf44215623 GIT binary patch literal 2986672 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�bWrhaC~^kRyFt7MA?g51NK)NUsU0o?PgxAe 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%0Dy2m=huGr~e^Vql4KQppcO9DjbWpPtX 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鋽S;gT`ToJY^r@Rq_`U3f#` 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 z z+Qgqqar#q@?w9i(s&+qd&^u#gpV`~%?@ZilJ-}RqJ(iJoqY)_1JV1ZAo81SZbZR7Z zF0z~Qrb0pwX7TTIoM% zwE~A_XcqJr=f;X;{;P15StSsn^sJvG@@1=IzVNXw$S-snRENRM#z5)?! zg~PR5r_Q!+Agt6>u$?%}Y*a5~${GLO%5LZgtap zBK$Hc821iDoxks&Xr2-*fLPKmOPJbnXR=p0((gnUeYXW~j` zt>Hq-ZJ;IA)3BZ2%z0FxX9{n(8!x%(^C|G5a}g-P^+ znS-rG0+go*md@u#K6A9v<}B{Y_i@v(r?=zyM}4Z1DtJ4(yHDK17yUCn8MDE%%&n!| zpsNh^e|{;50RFH7ykkx2QXA%mr$d{oxhbZ2(4G17UT!lsQ?~r%%k(}YeoQQZvA9g> z)3yhZgC8VYsuWB>OEcbRb9XSF5tr4w{1HL|qiXCfw{wZu90Bs<-v|{1VsCbvjU#XESvt-KC z*OgH!;HdSWEc0;KJ>42B6uY2uq=OdPd-g&F4>qjY?hFTUCa`(-rOb85vh%|6%ri*ZfR(Irl0$nkq51g-j2>d6Skp9 zb*HZ|Z1-+k0fFY!S*v)0RgU^AH``1vFfaHpPER1f#-dbtu(>BCJ$UT+* zoqNu+aQsGzlPnP{D@$OwY=^m%|FK$vyo}spmpe~7=)Jq37Y3Gl-qVnKxIV3(8%V;P z=cWQ}sYmaCS=GPWB=cF%HVW0ecYrD8Cg2k@@LX?Y{(y3>Yb{3r&#Mu>>9VG)#ThzJ_!VO>@Wnpv!_9!|Sx<|$RpFkmXT*q}55 zDw~J)JHF!wUwb_8&&ox0TdRw=aF)e-5R%Z|DBnSU z0xmYPj}gjH+!mS$UTQXDTZv~Bj)$66Ia|~q>>xxJE>Px*MUWGCZ>=t}_V|?1Qm^Pt zDlmdGM+_k3y2NsEGMeAowV7VjG?O2u8BD{6xhz6zjk z{8+>$`8~13q4nZ==1ZL{V9W*vgC^;VrRHYA-F+ssz*WzXi0#6nQW8Yjb^oB*8|+tDX9z zOohXEX69Q3@2+RIf@i>mgHYeHUPsJCcAaF7+pwm5X}f7O*eCLsSVv=l)I`%T?&g|s z1Ea1RP?uBEzC9z^9aN+3Z=aDf!KCn9^Bs3B&~RqiWKRQ+7|>r&qdg^QxryE#74kbf zXe`4sH3FzK!_D}n8D60wRr4z?`zrNq*GzBDjtncBa%S1`U9w72ZK2tD?V)QKwD3rX zE!c^~b}H7ocI?l#*t?}ZA%`iupfd|cX zQPfHZ0lqF+6(`*e)rF5R}f-2n(pO zn^h;C4LlYws`{1IgueJ6Is47^|C_bn!1kLL2Nv|5N8szHnLJzcG%7WjqD ze(H_o7=WZyFUrl~%!#D|j6H&yhLKU2r{29i?hKqa2=kd6ARUlpUJeXsm$+@(c_=lJ8E2hwpJ}V7;qRx z4?%LQ6wDiG{FQTqrQ_N;<`+1-m`tw#1&!?=5Z3sV9o17**gD^6ggNv|8W{^s-#OAy zK!2ln{T}uc2Bamj7dQvvC$Ro|`4NMKdpwjzfZ|hju}()S+NOpt)jAldNOl&e$6W%P z#wG|dhl-4+=NExaAk-y7@MqaYQ1q;5ZUn_zzkUdJWi{L}thcmqw$^Io7>AQGmSd^@ z&&I5hMa(!IoJh1z)vx0vZ>jH!jw4;rlY)&7^WVAQjzih_7Qb_lEI5zEWdW+0tzXYt za6z4D5BxbG@vQMQU;nP5*f+BDo2igFA>C5f2>?y39z~k&VJ;{US85EJ^{M5(5UfPi z+>%v6K#G45DCe8ckIQy0o@Z6Y6*5KXp1J+9tk>2M)7N(;)TdGYFmDcqTtZxnjx{^S zU+kE9up{0;Xze*IFv&y_|03yOBt4BrGnrWL_7^??V`io2F9gmop!$7A-cPa;l>0P( zm%E>&mHg>cUjm-iu+bUF_F$)};^6S2G-2~2FPbDgdt-xi!WP?yYee+-(|~~Cc7{lV zHHDA4!d~?DxUz)vFbvCW@vvf$U@=+>|2_y(t{M^#;qiMMPGbn!B)<{jesM8~<4y1) z=tCW@#$d;?e>m5XvO1TDRCG$dvs7*Otaqa%K{Ff+!aUWdaQFyk3;TFxSVsJI#GU>b_3> z;nKu9BjKbx=g>4Y5iGocCXxapsM)0Q$6~fIjJbXOY_(xB7!6p>eI1SqZx%L=kuKOc zDDPl%$qSmwfEfcFZN1P<`0@E#Wss!;tu=l(d|QHen_LrjD*Md|6)`Ut@$%8X4L}3^_I8EUG5H zXQL5(xwqqH-6iy;VKKkp%IffV;NHQ#;$4$D1aU$lsN@C`n)BEOUP+4C;Fdl$X7hV6*!DY^dXSkIAd(+M?C>7a+hFgdU5<;^v5= z4(tNNqu>s2KKl87E!i2FjCX<_K*h-+Cn$kQ1nR7fY64> zo1CD1rhre068jxHO!lMZGZhaq+r-o}oy({U`FI~xO#S<$s%76&(Pj2z`@FUKmwdoV z-ID_x03j%Yd6NXLKfvNwcBA9&>DWxDRJD7oE)_h2YgbzQ+Wx2= zuV84$vh@2fTjF%|Ip0ADY&i_mOGL3=;rg-hOe%tL%G@#BT7@j@eH_W-OTCCik9e6t z5;oF!7N#;HCF?gB?b$u?OhC@uJ+5_RJ(Xv%pN&~UbWBSTv)7WaECl1supEc2>wLmW zDX-h(9q;H_HrRA?NbJ=4#0Zs*E&~bd*$y3!fZWP2MP-ghLgx3Zro;DWiCwA$W28|K z&FB2k@HUCU`}*XVX}4Nfzt*@_ZNkL%0hbjtP{Jvj99hDAYtl;&@_HRQ7WHgRJt-o;J-i`U+#o$b5?U9VQ+Ow{F#9eL?ixY z$4qHKE#5ef6SzmHy$#i~Ql+ds3)Rd9u*nJ+N(c^)!*zy>VdR4%lnJttn}?8FPZS2e_eFdgC)tA<+>BlH4T-T489H5v%}mw?{Rsa8 z|4h4mkB;rTFfl|oO4xpj5$I`w6N~l}9&nychc;=mR>YY6r%s-!!CTn!K*AZyc^Z~m z>4C&CSoAc0?+x&64Z5+vv6g7V=j^1h?9f@ZQ4I~iXL#O1axt?d#fC_Jw+)eymHagC zXRo6^3{Y$yLmGEQc9Y`^j?PbXGwR2O7atMfDddkqI2Z)W)0oglYedv1=t(O6n>A zAx1F2&U zI~+lDz&hh;D%sP93b55SFpm6^+5BbPjThFU;nzO=&7WlL5f>6 zn)@+8nh)!wsc!vgWsZfftIhp-W%sHmZM@;#6MvOCh^ zdV($!z>=)~>iR>(PB91e9tZJ@vl_AD0T*n-g}DxFt$u`3*ChD?*wD=vf0KPs=#~Rb ze@CSebfA8-ngWTVpcI#SZzy=-0!wD305}n2982|4vqTV%{H;Q5m{vrl+SG>f*Y~Nv zoQeivzO6AxP<{X?|Al81?-(h#*wuEqe1}wuzTn6Dr1yp41w|a17GDvHu;ldNTT5%P zFow4Ir@^GmKnJb4vZG?0H?0lq5b?=%Z3*GJPK$O^!B>DZ7j9x=D5_&Ovb@D*>#Xjm zsyQm(Tf3e5NZQ`dhQsw)w%z-{Wtla|a~g{%@r%6k&@O# zGs?(Tz*mc7;S#+dDh!hw6b3u#lvVJT1a^;_dJZy1&F~>GSGs*>QZ35DKXW!4yaQxc z$*tAn+C$1l6mYt{Hy`&jW}*SPv~Dr;wL)tR+rkJ(qAd)=l~^j`0PI2u#3aOx`Z|Lf z%QA3rehj|XFdKXk-%~Ndl7}1_u!I`66W&bs|NXWjTmn+H;qz#1DkIH4#~Bb_SurO3 zc;QtIQce~q5NtiDW={1pV^agR3@si>jrLw`oPCvX_Fhm6UJjGuJQ^yVLfZ36-AEgx zr;zp<9Sp(({SU<2uLgtl`Blppz9o05`V$Vo{xAPMvU^O6^E|NHAG3&9P0#du5= z2*2+o-+|zqq;<)Z%b_k29YHM?BAK?e`tde%X^`&bHX~I>*2rCpx@QS`B^@$Lj$vvs zmml)=8zDw=oq;oGEd>gr&D_kyyRP=LBW8sK`iLJ?r_sZ8q$kiX`UF_zvu&%Ktx!v4Th}bE%P!l(M8n zg3TDamcSxGGKK2&MB@R|7ktSrx~^UCuvgcs@cKC{RfE0n#3`|w-kMv~PLEO3(>d8K z1jB2&!KNEsmYROZ!xpfhqoYP;j;h`2bKA;#kY^V6YP932QMZV>4eR#PQVc?=#CxLZxn8fMZ^ihI)~Y_?4dEu9O}kVF$11XU02dMG3J-TzmveHPajNf z9+uo%Swqqe_ZFjBLqO*e=_F}``pi{gQFfTZp4Vw+#7no^=VJZ*Rq{Y?oTzQ=TlPH% zNBKUmSpL+|7!#q9O+HX;#ga%C#}0>WcM&j_sd5(vjki{(Uw;%%6fQ!R?(EUdcv?$) z2SKw0H4#UjsVkLOssB5{vfa(m+7!-Y{A5f&Jyvi*Hv6=9loU_$od_3(l6@GXQ0|j} zFoq*J#kdxq(q^-rI9-bEX->Qv{;u4I1@qP)vsk7veKZ(pM^Uax=ZxE^7+}|9fd?w% zTXgnCE%DoQu@?3*&ccFIbH1{iA&?ctrZGtFb`w2_SP}PtNe&zZ)&HA16uc+`3$hlU0$;xi`+RtM! z2f28rT*5W1KPHUVS23=l2A6qd!4-6|O^_9xPgvSltyW>VVP^`mlI(IDnItN$Lin3S z5R@W>za?tKs;prq4zTINcxps;s2S-fVrsfN4SLNWOdy1@QpBN|5GcaX2qAZkv%&_6 zU0F}&_%88NL~gjBrr^vW%3EnRWkhpDXV}b4{eezKR{}vyk{2;l>9I+3!oMhH@xv}I zc&CcxUPdk_R}w?UKV)MJu5Ed}#xJHaI?C^Cg$D|YzHVN~oI#3ts-h3JR%^dLqGr+- zCf_XP`fsFgR!pRdJYEjH{xDGu-puwOvfyZFx6A$gtphKq10{rBJN> zzI$_aS#01OeYmy&;v^P#fd;%+w`1kj7Iw9QDbLs`t?Ay1`U(#`i?F~+I9FUzknUa} zR&h?CC^rTp<0)TX&h>=d%p5~&&UCqfLwHKP_#WkN5f-=SWoH7tRf#xytGx#*`Q8(1 z^z5^MpYp3+SB8nsy|$>JrOWHKi;u&{2`$43i^di&BDxeHbc;n*zm+{`Xrk)PRJy7N!;TN;^5%2`vFI~J$DAr6 zQG68$^zfLBq8g%Om?jIHVABpgtGXZrr$eHx!vcVz)p@xM1muRq2x?7hON_Qijq4Tb zQ;c5fTO4DDIZj5RB^^d$MSx18bfVd`)2u}iZ-e;52x^OcOh28XcHY*O^sR*)^fI+N z_LR}l+YkQe-=S{7!txP+ND(0<3DZ!7tHYmT&w8&j5+uqY?jvXV2qzj~a}?cD@kjt| zlk4AsB??~81smN=keTvoZYZSd?0qtTsIZ5_}7As~wk}20S^RdTg z#79;mxeN&=zRH+*KYqYzNVI#;@5zfXwh)E%y(WP6lN;0eKf>UD#LEI74cr6H*;l)u zx=Ous$qUwBRp1EHDB|h@))xA`iOI>S*_q8SWl-_{wv@5zuJXEgMI5ud<$g@rBTT5B z1yfXI`OE{%G7*|pZFMLiX!c=XP|5)!|D-1HW$z&k&wU=#1D{flM?LNwXc2ZbQ9;rf zbX5tg03jQgnTt3`Vg-J*Io?)s?0Rw=BYA(bwZ%~Co1H?Hvl4?;luhRdlo{Eiu$6!# zs!q!qd;?mT&5Rp3AvH%kT02l#`{ljW-8+xv)3s%sEvw({WB=ttby&>Ue|#Ba8o8fR zY!w6)65cS3NuxYQ3vgRrgh~}O91qhdy6dIyKK70zG2K&E{l7 z8)R}~yTf_Ju+x)Syiqs;U`^8z!9w5B4~)dyBT-v-%sJd?-Zn1PM8HVj1y#7|ecjf& zobm5Qob%<^;T2@Sw&cJDoTL#(5D|w`=GUxdfAig;*m0)13QiZL?P20R&~R5NKa{#F z*3StnY#W)0;z^(OvAirKmDz8TCxJ&PDlKNHacUDgss?+mG&^AT;b@l@VD$5I+e1 zxduP*86S+mJnT5-yLQ4MC-syknWRvy@F@Nt)F7eXbPSg-vP%)61al z_4|`kQy^&A@7+$?G}ms9+5&%in{$G2OR+Hxxzq2{Rp6 z1X$tDH3m_*At(`rlILn2JP*xfdD#yP6Bi9PKp{k|vDTGLp;!f90fknzPP8(5<4j4h zm7tiRAO3r)WHxose@1V$en5=H6&oe3({b2z@NH#`rNXOI=-Mz-r2ri@l7^cfDFm%) zZGx9DC>d*zOUAS4h@P6Qb)u_%reri55W{7TIK;FyOaV zQw@{4`F{1&ZhRqI4RM2?1x$I=O-oz4V)ms$XMlTtP%+&_!9gf|$q!JtnS5b$hPME! zjtf=QJcn_y%-yPSZ7n>cMD&6{W?zWAqc&V65KOgh2z<)j!Z9yVBY8t`9{a-P+{V#F zqf*5i0{_U{mDkV3kiM?288$@b6E4gyXg^V078@db(l7>T}r(gvHK z&4!QHKt9n4=M+6?3ppv6b2@l(+IQukh=8WSDS4r>aNrOIv-W2OFxEacWBmnAHt3dy z2}3J}VDn-g-`e^SIe0{bdqjtJ;I=%XG@zj}Fm0rwo--R@A=am0PSOylakFV0Gl&QX zj9DZ?qU4pZl;o4|h2{@lOYhR1iX1`i*~{wRU?bR8yrSBet2Wph&o|`wO*Ipi#vo9C zZg$zh*SOAhM!6-6KxatWJ1j4$c|6PQT7AD8wb)Pi@rhg$orC={l$rVjL_)Wb zNKl2eW*}B+al4k^!?#A8#IH65br}?~aUF_7ZMm(oEB5H@3|{f5b8wazff{@tznKKy z$HD-4*ofVUQc}qKVqwo#&LR|2a8xP(q)fg=VMOOMlLzVZai{P0iSUp;dG?&nMbu=C z#fn<63~0-YAO-f8f03PuM%kMmVbO+80wEF|Q(jXaoby`Rep_xbV_<(AKWAbL^b(qM zf}^q4l@aNe7?GU0eQlwdueJxq{&A#g;loqir8(Qs0G!|W|+u(wI8M#y@gJ;J?(0=UOl z@>pp$(r13JmsuLuCAC*VxbjS%=CU!F`etJ+j6<$B*{Urr*61`3zMkXQ_d2pxF12vH zp2!=bu{~yZ#z~SM2TU+A@*YPmgq(PouQx04cv_q`9*)bZtcvC@e~muQ*lNkTeJPVG z)_f~AR}TYpe&_nsnCg662-cvyLAE4SYciz7W=Av=Ew%^8>=b3pe?kR^_a`61Zz7#2VR%jDvh zIrsmS-UhiV!duDAS`nw4*HiKT5iW>9&$jj zzFNmQM*Os;O6#k&t*@GlBm9=L@HWGAv_9|tTTA-1puiz?-a$fp*F zbY%;k=0j3V_(1_h*F_7>cg-O@+QO;P7ACTp`x**EgJ@c2F}g%x-FdE!ejA_)hdrfM zve{nK&3b1;BFlON_EFObn$D(CN%ftG1RA?G~XX6^SE|z5jaHWMNX3vKW?`Nq-8=aI^ zA!;)0a%!&k9Ab}VImvh1kKH&*QeukgWEZ2ai^hTY#3M}`l#yiL8MrV5nWWW6B|tDy z0gzb@;&TlGeyk%8Qa$rUe|EO~JG*SpCO)Q4+STHtX9piWTYOZ6G+ROu(#(JWAQa9j zqX_D3RuYe`8V;)kK_a`5a}OKH;Ml@YhvDqT1VD|e0(mg@f{mA~ils4C2$+R=^J*=s znnaaYg&MBnxmVI<&3p&>hdjxfm#$%HqbfebRnVd;4*Tcy(eqb)xVA;re->2zXTwyr zgp#V(&EbbM4o983veNeqUu7+kca}3s^g`qZ9+-}b-}eJ=%r%(+NdlZRS=(i-4&*8K zCGWM841|&2S#=c9_NtCO`g={LW`ibqp$v z!NnfSB-!BYJG3~#ppObocVq?>^tQ-$43XMHy?qVyOnbZd zocg?Pecn%f4ll|0KIhe=%ka$F{3BJWg3)zHJLx#y@v2=-zNxbaMDrj&E#Cr2PudH)-n`E zhD=RD_Cs`d)dH8h-Efu5=%?EW>6YVv6p>i>{l{i_UdHu0myEg$V70%3VMM z88x~EV?81Pcr7OmyJC6`IGQ}@5)VsI0gDJjDE2S%P_uOREr7=Dw$W3Ex=gE5?!X;RGnuNSW73r_hdrrjqSQ+Wu>n97fz`Evw=yMe%b+K6I; zcP`0YK(#Dz1GtX`Z0AX%YZwHk`qM#TbSX16xedxS0O$&Sn@&#tKxn$X5|FYv3ZvDy zJ9XHN09IAzv<{26pZAoey58$gRi#W*uKhw0_2Gp=Y4qDWM+{KtONiD z9G&oLXiORuuj)igxsNQhidfw&rFSRqDSBpa>K3r`;XDGZUfFc)KLsm5D-FQ~07{ z5MxcjqUS8*jkmF4HH5$`KkTV}fjUSGCDN&|78?C)nd4+HLwGA7$^7p7CNwnaRrDpW zi_%9sE~UqF*4=8zhwJz9;rfbxiVO%;ipO-gzKo5%#z2ORA1c;L^F@b!%*XJWM!kv+ zov~|rk3raDEKG#u*ly$8!%#I|`GF5e8*3bKG01w8qS^0VMua=X>ZZcK( zCU04pd5d~Np|kFyQ%AJAqU#dqcn6nKF~4H8$%~|dnBsWHj3BjMYfye>BOAbGY(-uc zwOA|;r@Wf-xs6Lo>xEf_e$=3otElnT^we@jhh5I0xbb zJjS~_h2xeXl8U48(`40T11HPYVZ&T^9l`b`A-pXQ@^$v*bn17?-YGW4+)+sG^RKW& zss=6kY&+-yjgF>=%aw0Z@>+`Lr*<5oDc0GDEg(TzB&^DkHyko*l=W-F9GP)JuI*4l zIXmn$@Zd263E=1kAy&jPwn2#8!xWDd6?iMG(+cp(Vg`^!`M6dBF?*Dzy5p=WE;G4n z*n&-U5cN8xi>y(tVKLjh$+oU$F-{O^J0wv3LHf8F?c*A;>#O8vzlzXQG(N zTJh2GWm`bH$GMXxE@oIES0UD>vnc-OGz4XM@@#vvnjyq9IV}K9>qDG^3iSn|dBgt$ zP-s*ka3Xgs9(neGrVE2KKvC;3d^-V}@N=E9E0}uAu;i?Rr-hOLIp5z%O0>&R%GE=@B7J)|^U?(^J;GQhWGMYfNP>MeBttcgEM=(BU&u1F9tto> zT~rUt(0ZHr#~89@Bci~NBA1QgpWI~XwK6pY=T!y)N3yqQ;r37~ zSrAh`izJF#1pF|df|enqiGXJ}pBq1_7W7Wki}s)tddr&*Q1atavocQ?*Mu+jdb7Rp`&Opcx)7bGPyE#sVz^ooZ%Ju(%Z&!2>!TZwk&Y|q4Akw@q)%A8HSS%YC!y8LXy0JvQWX5{os4E zBPl?7F+AM*ChOA3ORlp13wKlsB%?8YiG;^YNDkQ8o+i_eJjL_u!*sXYvsqFQFet(b zh)t}Qk6;68+FT&8L7_m%YC`KqYr1HtChT^(P)!V8^Gw$6qNZm0y7s3WrwEaNr7>Ph zH;To@Ls;}Lj0M&%*T-UhT`Za!O3Yg5$mdu{AV2i2pGfG~Pn6iRXTX*Py*Sk}k;q^6 zTXezjmrR%8FBzZVFBuygD2L{An1O*&r!nMc$4sR9F@trzbC;GQ5$ztQu#jf>A8bjazl9Hc$xIxF$xaWVg+H zywJQ5q?1cfFl!a#SV-kb6R49CsCWahXYm7KPveJUNEDt#?Zg7VT>S@`@HEFi)1j^> zjkBTMCYcV-L-eup=OhUGLSGGnvUNYRC5_M z7sD*(_@}P_3vr_TqwpG(P_PF<0WtH`F>^ChY>q_qPYI~$Ul+R)gI^&e(f&|@0`UFL zSO`ttMX8{oIpVjYQV3Ck#(4K3Xy5OR2X}AUdg$P$UsymatLTydsR{aqL|zSUIM#pfq0}nSJ}NJdeU7vdKw&xuez5+X^NB4lkO$K6XEa= z#tuTglJNze@q-jh2S%Q468yQ$ig4kW3=blfl>@(KEfzB~I6K7$Br2-jT0M;xXn_jA z!cCp4LABdV-(V)e4_JhV;|}%i@dvt#Qw3etgV&!d^~9l^S56>p9xSBI1t)311a#;& z_oJbjfW%}At-TIO)V(2J(&iTBnL`=0Hsxh$MD_TI+8uf91ZIB1`+g0Z@td2wOulAF#1E@FV8ifND@<`2~ZoCr(cJ z)4`!-g&(TuchKrnz=dN;_|w>LAV3P7%j>rCl2R%-gwV(umSHz**g=s2UGH5uMxgTX zCR=6Ya6%fy%X z#P2HD-!)q%VEo!7%o~z9|E!-VUa!O=3$#!XhOoTlKVFtg48dWedp|aW`(3enwby}z;;BBs6NU1CF8d9j&i~`{2qzs z3G7Cd4WV9Gzog4OZR{BB9qXV}Daw+5+1NOGq7&~?GJ34l|4+&28M#Nx=wmx$Jw^}G z{?Hix3C4)7)0!zOT>*_-Efn@Usvi#(`{NelLT&4j=A~>V zBD_A-gmT*qNdgs!Z-H?S^*4YIgN=3g?b5N!dITUTkSn=@^|zD0s6~r*+Mka}`^zzD z-yD`ow>XVw@=$0pqv-EF4HLEdTY_G(Xd8)@C`)=t84nl~QlI#Cn5o+qP-1WmbJqFKnN=h}udHhgTxE)w)rb9a)eKz=5)qg~{22I44 z(GDL2J{B^!Jgz=+V`#O3Zmn?Z!gbC3FE(-B5y5P4CNu+?XukI!u*Jl>PPp@1L1gRy zV$S4PkmT5fCFb_U%Vf5(f^w$)7|-XuZxcg^Rigz0Cc}3tXsUoyUOo5-v=!p*!;o>8 z0qSzr0Sk^Zi?@YYyv^?M?2;pNlNsqyK>Q^pyX9FVA7L_%ksQi>J(F=n-gD zKFP!*5QuVS3ZX^4rQ^7wAkCd@s^qen@Kz-q9%)iCZSptOzCMs4!zg7mf_)_E!SMwB z$~c0Nm%sCQM%MLA8n}!XgS5LR3#)VrDshexKG}SC%m^Pd`q5uTg?GfiB7ThPxh|H#uL@qjUx^?wG3;nnUC5thOw_xrQVYral{B^J|;+d|~7-!cEw zcHRUAPJyUTaO6_Zjst*M0fRSLJ}%_s z8c30FzE;QwQD95Y$}DLNGfN=sE=dZXEf7CAgxtmhY%EC*>@}S65#n?CL6PLMVjR57 zou-`Q>myngllZlwl7hPa8D%ib56U18J6UbafE6ZOH?iJVdNQmDEQeOna8~wN^{oZb zdy3X*6R334i%on&e5R~E4r!;xKZ7clq$ z?hSMw6wq{@rv0}RG~VTWmw^|a2Yj3E15e*ry5A@?QQ;Ddxd1v6-LYjBfgf)i3PJV; zK)y0^Zfq#>_#pkB;w^xbMW)PiwG^Q#7J9GXNSr+)W2#|1vN34Sols4VN9HVhbJ&^b zdqf})dbF%YzlZk@-@Eo5PklVe9sr$yN}VIYfGq5@R13f5ATL!h^fAY5sRDkr3Scd& z#cnP#np%SqyHL=H3eKT$j@V#@D$%`FsfR6g$732SyQl{0rSLc8K}XPul(s53tw&<4 zDI}Ryf9S(eG%%$lQvp=f&*42HHPsFj@GSTh%81PxDqzV`OhH737228lQWi5?>nNli zzvKl>!!ha#w@Y*n8#@iQF$E*aE2~-ZywRnpYK|S&#KX#gefy)=LnCMAc&F2iqdtel z+bqRf41S6uvZVb^7xOw~bHPymA*Cm~gef47Wv&)Gdcu|o(7C?_Ll(S`2-5-1TE@_( zuRpbU<|Un0ds}g-h;I}|7MF@hMMekP;Iwc`M-nf62B)S$NSrK(qsli$I=b%_pEC+C z+W=A2B5xoEZw}XHqdi0gqw7&n;%J)^ogsBa5sr<`M(Xzk7wU>Ik zBs~!}y$$qGP_{+=L^4m)#8<5Nhm-R@*PiG##bxUg_*l0=Lh>T_0HP+C(DE>K8{p$8 z%}US|-R>$oy?&3(F#M#CM%340m<hac_IlIhe`M!dI6`T zLSRg`CaO1fGwWfZDl-R%Ad%x}?I<)I!bEzMqD5CQieQM-Gtr%yM8c;A{SI%f&b{%* zHCZ=`=wr_LrXRtII`nRS26M=25we9}rK0EE2d0{on&uy8WY6Db{QI5rx z#`}v&lg&k%9m7>O7ZquC9c59M@@Yqy>L~V1kxPswMVUCws(l;h zn0|sI02Km;FT>V<%)Y{Cw^Uyr^;DU(JdhIO7#1k3Aw2xwRxOl@Hmh2%v-n*7C)V#| zEWC5GHh#t+A@?71s90frMx&K(6&Ng8%yv7uEj<)$qPqCUGpVo=5A$zbOJJhIhw!z% zi5lU3&*{1fc&j}BFzTLzRG<>ytLK%*?MJ=R?tJt4Ed?0^NzWLeMc-M_7cwUGZt;nG z_v~A%*SuTeTdVK*4VcRmnFflbAv^P|EX6qW_9?fj(4S`V7h#V!o2~_fSxbQ#4~R3L z8anieMPud-!x3*)?}j9YV0}RVYu9{SdWP;qs;%uy0!Md-c9M@7aOkrtGXqYMza3G6 zGdF-KPhwcVM9gy~AcYuq$l^B;%V@casC4adB5H`q^<-u>OL)!ZFHs;*G%oN3)q=s5 zA7*w@D?Cr573U&dIRTO12!_f-YZ0b70oVH~C!ixOaR>59y(bErU*i(_Wd7b*mY}vJ z<26qNePQn7argZ=vCk}Ao@7_scT7#@XFk;C{L$G0c?Gi;P4LlEF#D%*2#+QMr*wur zUek>-{Hjl_>tt+}p>&m}5OFxTlq63iKFY9>C+d^murZq5PS8Dt8`KdyQA|1B+}p@O z0KrJuD2pzb2j*9yPsAzqy1Vo8#U3Sxf9CHT?iSg6WKr82dZ42X73J7k4IMrPP{z)X z)<2@L-d<6&tvt3<0=3t#JBB8UwuFbBO$Fc0*Po|s#t_wc04zkx;g5V9{N>qB>8u94 zD+ha>AL;dpGs>(4Ydq_^gE=S(DEJ*@yY?-xMWPX0Lc|%sC{ll_#EG{T3lOeDnI?;M z1JJvR^8!QBIXjgq2fdpIc(K&CO$D$Om3_68P~|c1a6RDARX$j)1Q?aU=+b zhG{ZUopsK_bx2?#@9DBIt~Od9C@imlQ{VwuD78B7OK;sT{Srqw3Aa{nIE#3RaX=6LEe_=72^3z!e|QDjN%GGVH4uTs&fu`tFyRNt>2$Q@0GKKX1`LFo zUdZ~~O&*`BIJX1R4cn_e4HsBdsBcRjgG!o%mw$~qoes5`u4En4 zMkCV1SrT2)Iv)l!@O}r8(O$d%4fIZJd}BdwOlrGcm&6GK;DCqNnc~OgXz;D68O@7i z7TJp~Z`wV51Wl@clR5_-q@IC%D38=)^>5<$K{vVk1p)Vc0vxwiVa_}(=Du9uckl2; zeD}aSCqvxLUntcNbb=-B2G_dqm*v{r)j4Ftrq|#A_;|cMKjNswld;S2PZ^ARZTljQOzS-{>k3iN3I|ZBP(({yhj3=GU3F8^QCKa{W`ne9L9 zN$vMxEx>Ea{LR`sUPcbE(!PP2-Mv#WcwkfH+E&M5!}g}bev1lKcw0IKEAY@hb-ZkE zz6d_6ii-`=1%%HvUiHtmIN5DE-u?WxB|~62F$cOpg<~Cp$bFKRMB@n2FdkGt{@_Xo zNg9wJTQ(Jwpf>Z*_WJb{ky@@Hh7XhbvQU zn6P!4@--F&nQ9voeux@lC>P~Cwn_Yf}eI!VbZ1w9I zzaP>c;6baH)ACLEPT@=%vocKVPm{M)IUP#PRP(z>F}4St`W~{VwARSv{qLWb3aW-i zf;Wk}N_9`yCx~FF{XSTJd~P}0m@1^q@iqd9j6bOEHu{Z;)@Qs;@3 zD7eb@>qnVP@p@(V_TNGt4t0Lf3&aASPcoN37bTREzF*lr#quB{LHiq@H(%NPp4Sff zek(H-{f?##Ie=O$J&JfycIIP+0|-3R($k~M0nw^v+qKOH=t-mTih)0Us{XVYOIdXK zU>T-{6{xMagv%`3M;ATBgNTeb$V&;ID>^tX9_JmH>k*6c&+cqVQfaoCgBEv-VV2#x zDoG>NWFB4DQ{Z=*%labI4@m1pYX`V6h&RnB0fA?YMDiRi9CW$*m*i(QgjMtQFaF9w zEElB=Z;Aw_Vqh3uTy)ZKZ#K)CqM*V;jv8$^LMmZ&sOgSRjR_Qzy#0X2bv?qZzb?tv zBV*L=%Erj)l_TdH#WW3_*(v#8VIT>DLxB)_ejS>I)E2piG~qrgA{ zbtZ?TpL;%KN+e-9$D}c{Ajpyg$4P`RP1vQaGy$P!ksC-=KH?0Ophj*YzjOcH(d!-@zTPoWXZY37LGSYLN zZqgrkAzjb*(b)`T=spvhv3&gvv5kS+m79jzi-u0ehpZ-F(dMPrRBBY2ph*2sh zdJF6V{QU(OFTgL}Z2s3+{#L3H3>D=*{?iTgu^Kzw+tpNyRq9`HA1IxUsuaty^8IPb7mN2%`RLzCl#@@C5O=wvUf^LbYk^SweIu-Z&WHqw%L* zWZyJlULC78l{pPD@YAZZ+VspnY87ay3)+}aPgDtX2~%pB@yMrs{Sfh&#ERNs0^Zi< zvKBnZR>Grk4tNllgk!>+O>)(P)?+@&?qq$CGS5$gKX(T{VT=Wd_=f+fR68iy>cB_J z6r(jdvsK#Pfk^>SS**XxWhtyQ+Ild*>qI@ZK~!TV1;}>?We=8XoY@-%0CI!|I%*k`D70|o((mtmYqtWKrSHTC>3wo&_fLdM6rn7 zlOO`GRLt#h6dlXWRB2_!RP#F|m>3JT54b`_9Q9R2b*zGv$T3e@PH^@2*rhE2@`i%T zS8?St39^Ef6Oe~DZ-Tp*@Pp`{0e(QZ71B#jn5EC#6LJ8!wG2xv{l?4dwVa*PN@@CA|HBKyI)QxN#aq#FCgUJCie1lKmemM`Mrg!{CO z2rVo|&8ABWucTUuR%t!do6jjBiJwOHFSR)X)+MzT-0yp~5_3-vf z`C(a1$wWGtIIWibR%*kv+&Hn zD}>g_>~Ww*04$^x>|AT$>=m6^SO5A6{X}q1fSnX>q=o9Rm@YknC+de^CPBl`Ac*xk z+;l(*q{$5bfr;F3NS~IDU4~f42wTDrq|m^G{4#*EtvxoG>KCFLX{-Lb0=~7NIiwHl z@>2*uvk|a(0@Tb?Q4DBNdD`^Ia(m{r&jgCIJAHQKNFBhfR2NWE)$IDb77k)7tLPule!fjp>U*4 zQB56Psxlf>PF0RAR$#rR{3s`*0OjTmOE!4RP&MI@n!=fXobL7a&3@3Njg^Fi@Vw|) z^&R!0%nrW}mF>rLnO{{W9KdD|d48ExrHGG=P)I6(io_x)58mSoYE)IZsGyq~z^6bZ zsR3qZ7Ss(jU~K~(X$n9EE&?8w63K^+!Gve6SQqZHiXDH#mG!c95Pf_A~&Lx&WLceaKd>9fAEi%V2-f zb~?4xfV}wZFZsg2^Bu!nvH(4U$`+blc3G%d=3h^xnkwQ=C3aDyK9xS6da*C=1F+X} zYWLcUn9A|SWp8qT3i-pr9WVaJ!8l{Sv82k?C+Gwt>#z@j8Nf-+@Il=X^1#$V{SxL6 zh`)d_*kcK1^+fiM&F_^e$qs7sg$D%3NBYH71S9d;os0F^A%q6e7&V86K5I_Mr>Kgq zC_FQ1TFYayIKXLWTfj0_R=*+}Cn?z#fO~+$g?_eGTSV}u zrwF9rEgtrj@YSCj(W(p@UCh;Q{=(e(&LUs6H|L@U?F|-&N;kiyD_PII`KWPb)qIT^ zYMdd&wm{Z08;?E4&uslF63E7=j?IW~!oae;npsd%qsxoxbA5c>FTb|l7X$g4bw1BJ z_MJwJL7X&kr#HR+bH{%ei`nK+zk?+SQH81t`(NfY1)5Dzb8*Q!7DeYN|H7*)* z{tKckG~a%R)pY4zZq5x?5Z+jl)w2K1XPF%!ko_AY*}WBs6-aNoHaO9J`vf%Hh0KZ_|dujK`S9`5;?j9C#!aXUg)-^)ed9n}$z zK5%VsYjs3nW7-=G!li@>(-zt-K>#V^bvvr-%Y@!_7;QVM8*(juyY=eI?!$dnv5eoO zb7kT&jp*Rw0HSkc_ZrK0P2;xutimcjnDr&VT-|(HH?w!@+gXpSv8&OeAk5{x zWd_hx%|qV;vjGlHR(`ism@ruiOknD5t*$5P2?xM67^s_gF3}qUYCgSNz2{kycYneo zfd;(*XqjkEEXiLX%wDg-qt5}pk-M07hG`fcH*#qB4Xo+& zf%>ILXH%Qw6NhXN&wRA4%v#eXn9}B$5Xbg|!%Ti?$e6cJfxn}3V& zj1*as7>3#{7z=%5y#x^z)&oGwn6Hdc?1p2NrbtfrAZJDQ2W>gkY73@kYzwA)9DTOp ziwdyyzNik{K#I48=8Jzcj5k@4WI<7Snj&V!Cc6eNY*A%`Z@KN&C9z4-f=I=5{`PHN95~?$#P<1HFvV~>?qdOQ0j5Ndq z@1950pfX?uzkZ_)TAM|qEHqJcoxSOroZCXqGmTZ$?v3Un$SFJoJ;gppPT7a?qWNyT z49L0h0)LMIW(t~ykGPfykIDfb2^nRA*4rEiix1Rx6Xi_xFABmk_N_(PooGBp+jjhb zvfJcpFbj*j`dkM8CW@zk5M3mm*~y)LRnc1IAK|dUzvE5D#vV z3#|2Z!_P2S^<*Bakb8}MEgYd;T4Bo>Vz5Pl=%hzi%zRQ~qZv#zv z@`#m$p#r+nN@ukIBumOROrtfN#5vB@%!z_=(3qACfi=nT5AJkB9W@Ok`+5>2X}BO8 zGt!xaW`e@@lDmqtPl9kTYbPTJ|y~#hU+}7H4E#q%kzSPB(0{9GykC=>%AC{ zExPUl<8DXaT;99oZAaH&Rf0Yk%uG0*6PA^5EGG<6-=uL6wh*ZAA0gJuTUS8 zK-QVk4O-!37LKb@dv^AoJa{yD#s3I#U3{k}3D*6r=0iIl<_9CMOtO z@5%{A*V8!x5O23Pr|U_3+X!9zeo`DgLsoket>xIF8nrB z%u`tT&=e}>DO1c-rkJN#?J^RvlXwX~Q&u0<9Dh4{1|vCFZDoCCU7{rUYYs}W4^E(Sk;x?Bi1@Xt>5N3`AG?1WP)lY z#g4SwhpEGW!~s>%ds9@F_@QJROx6GXC`yiL?)IjO@lt$sl5r(~wbm!BO4i41UG{k= zz34N{fPO_T)dWJTUI;U1j_OhKs*a*q_yKwKE0^T6W6ptBTfWri!m|m=95e^#bKz95 zr)#9N57^5Ay<83Xfo5N2KYQ(GkNxbjA1pC23s#@`v(0{1WeY(z0nA=ds`>EOIGC&Y zBec^&BYe7s;|6Q-?4@gI^2pzM5UQ$yrv%5gxc_q>2#)OgvXQ54i&lhw3x4F_!7rxs z98E%Hzl;qe?$;N<^~rOpNYZnEGs}(5E0($`X`$$}Yz&*{J!tEVE6&-56>F_|GRbyhqC0+hZ%Axnxhwuln zgHTlf$3--n1+b`BH4wh6=GZHti4dUuG4?YqqY=RLXYV1KivX>C^riE|9$?A%1aKAl z4(baZ6>Iu38|9CoX5 z=e}s&-Yq?+BYa_pntQ;@6(kD0Q_b&*AujWcm1D?)BSuKUb z7A9WP+j^|=6UJ%i|6LoZ8p|NjdHY40{j|HSKZFgL_6Hk%OVMRZ9R5B)g!GbkusVnx zh6D{q=uZ~1Y6nft0b!&VG}AsP9jWao?8j=aM}wWB0pVYeA30FAi~Lcyu9AhLkH%L3k&OABq5RnU1U)hC;@>fNj;0+Oj%)~B${8< z3~onj1V{s%18$WH}HW?lvAks=Q(U$%nR{Ml1m1&b`ZULCN1EN9W^0u<)Eimr#Qw17Zg zOX<{{E9{H67d{Nw)tV|2W_1lug>n;yW>nSxQg+MfACzrWfIo_cZxUkZ*bs zjzdqw1gY63-vB>Q$I@rPxe1;)Q(3_erc2BCfzN9RKbX@D@B`7@oIXtr-@(kNe)+#q zo3-z4sUkLT&87+kpbh3OpMvul089H!N)Z)4u=Tk*QNTT^)u(i zWO)t|J`C`TH7lH_MISb79PJbj$7`0vnMDmAW)w1#xdaSQr56@ZCAb#|G%~R+j9g$T z;}(Jdxn$iUeG3d1`hGh{w&1jp|Bt!1fwC;C>O9|z_af_6y;pFt1C54QiH}lb&G^lujRcu^~z`dIWFiwNgi@U)I++!&)x8@FGDwVIdVXG9!sfL|Akf zj2$Dr;zwGnd6t^%E~lm(AsqK&h-=L&Lgo%RXZ6NQpeB~kU9AP2_F9;J^vw$V1`0h*9?@osJ>$KUw@E^h3QIhm1-dM?4)|-x{-5ywMCjCIZ_j%4`ADxUFjuGIF6YjzjO3dQ6sC;$nH)h-3_#jj;Ezl>}a(C#6Q~E+zl$%ZLz^Tgh z?La?Z$!Hna#(6!hH9wwO1+u4D?Ogq|>YH94?od_l@xdZl|M2bvSt|*r-EGzI8 zy2}c9&Dq(T7PdGa!xRq|-`LKd#;eQw;9PPp44?M+2+=U4)6xkj4-KzcD-4kj4~Nd- z=Q!hxS|{PQY9BxGaQ<)5yhhYGN<3Z=k34xa*VE1kbZGqdi~}{cWTjjVj5mKT31*%~ zk2Wpgz05oGOG-%*PAD!DDM&W4YJ-WNMKHE2l0V?L518 zRvvm^?CRdGt3ZP<6OP)qOTNg~nsX|# z{B(Py4FQYcA)vW`nKME?jGRCZXND}TGtEyOHs)G%X)dz~-v^Oy-mb%3kIOxmg43|L zd5g>3iwai!1fx?y60Mt>*QIV1sxf0X!V*$_vxJx_E1;66SXy1>mZKVV?b`p;sPi&0 z40~H<3+JxpBQ5uNn+`MDrmA-4I{iNnF5uL~2AiV8@t&d^Ps;AHnyJd9TcsrLOS0Sf zxAixl<8YQ0OY9HRh|itCFAJN1malDMMcsX`M4$kU&*)`gA)BezH229sg*XB=A8>ET zewKNIOA+`1;69FMzT~w1W|7hfqg2 z1aF0NydknHxJ&6tKcOawI_zz+LKH@lQ7LSPMpQuqbYe~RmMZa!R^wUTNG@^|gd!;0 zyiqIye=4t;?rtWm!~t^Wa4R4=d)ln=4T|$?Wpnz^;VVbiY7VD9JtrU>@jUJ zxd0V9&V%)#%%pQ|{PI`NGtrIdto!_g7!lI)9hMg0 z9^`rZ5wCpoBEQ^zLj??Zl!4ggWcOQpamhT(GRPs!{9>YoJ~04A=$$KD%vD~u?Pu^* zLmTk%6ZORelctPA22rdW58!yIu&pQB-JbpYn0L6fnsY=N1Sto~c-G;U{sG(P4m*no z3%0i`NOg0gYRp*_PKgI*{o8y{*0!Zp3JF2Uk`?;7`FSa2)(kvgbey8&+!RgVg@<+I zcBMq(=ELc?cZg`~X)`Rdp%hj+)i`TD8&*59U?x}d=St~u*8GJY8C-9FX5qHjOIznQ zJnhP*w;XI>Z@`3PlFs$J*8Hp{G#VUnAw6q;Mm;CvJH73_=UuWrzXGz}{H(F0ZUcU! zZp4G>4^(UNm3a>qG@;S02661Ki?@utbkR}pC81f=bEMbOJ1nc2U&(5g@(o)X04Op( z=W@RJ4{5|q-e{fP!?3N6t~zA`=?{kTX(x^ibi)Q$K7V0P7(K{ zg&}IiJjoBP0h||zQ=YGTkvM5T5gAbl3G6>PfRQ-f{9MrRcw`+%i)pWEuC1mm<;g=$ zOY3eXGxk)+9vp!@DDvH)oc5=aUG+p5!td_uXdTHtW|)593pg*E$;6bMykq|xU zoT8t!jj1W7bDsPlGxF*nE4AkGR3Jz5^Fgmo!Gh{Gb|8$NHd(p(vD9HRXDT;8r+KEm zKNX78j%BJrnw=O}Wpjk=d_5YECslnniT#8rLf5zHxU95f#+ay6MfiR9IFu?)1_5j44`K`jfnB2wMOU3r9|o&A^TuF0 zHc#r@>X=a~t)muNm-eKEoD<5}ym0;X_Pe!DG3@p!xFLFFFeG4W07;GM&;tO3d81%% z;E^THo3qYJ^pIfF+`GAw#W>`bk>6?Vh*i@_mrAKKj4W2BF(8XqX57_>i7&y23TU8g zP1EN%W9Pa|h^BerOCVv4n>0tS>-}uAE`8{)9A#O2kEdrd>6ig41zYz*R`1IofGkRT zMC~<6Y#5Oi!ApXTe7w+9^LTToP*UKiWT{Apt7SM@q-WUOIyj%wK1mk~9_AIR< z%3?<|-5<5r{%dZuwI{g|^P(Voyt8VA{juIO=ztm8f$M!=QSormqBM2V=?asD#bE+F zW1t!(5r7jOAtKy7hKn993?P+#baJ?sK(>UCa%Id&4ZCSRE+yDm-v;EEjH=Dh2P?JK zJM=PPdO%2~-_RFxspR?;)L#2uosrv{{v21y_l~6u>lvX#I>_9%7q6{IY-wVq`M;TG z`)2!zveH}0aG-~Fne3y^h$4Fv)lgKhHBu-hw-I=SP&D)7v=IkI6ah3QE*&MtWkxJ*=p_g;(;K0>?9muA#4To@CmC(I5bWk07I7!@(CK%HA%dVwOvuxt6`nqQ z=!dPeGw*x*Tr3m76#+`Ea!}wvP0n0^n)mhRT%_cFATXUtjp<=KBw89RVxl@gm6$V_ ze$!I^swxf`A)D3^Cz`cvtW7^P?&@>)sAm~&W3C`*GU8a=F+OBDz;Z-p9tq-uKuu=K zwp7C?sRl?)WmGZCV`6D!*@j^nmpf6YMh{ec;%LA53n~5DGQL#xCaR<5Ep5OkwIOop zwL)bjOIPW%`9-a=6$qnjLjbiSv@`^tv5i?z2=wlQcq|vo44{g4C8wL z>Q4+-@y#eX+x)T`vO-l@%$qkUGf;rOupggA+cwb|ms`GB6+#VDEG1b1-%&zatj*6# z_?xeouFAyT1&q6Ll4{9@+-hE`x=y8{WZ%B?EtMZ55zjp}^@kPG3z!Tf+z@HcQ7xJu zs$}g_aas`E3AMQ^b)Wo;?fD9ETVapJQ?zz2{YQ;3)7brOS9-S2Xs{wr zKyd}1Bz$ZxF6~36S#(o2%BZbdbOY@)sQ!M~fxc%N4I7g$iUC698Ub!XUoybB1yM9S zwC9C)6%TaFi6@VMYd!{c8tOb1ac+vmGmK)@RQ7 z2~A%n9SNV4I8z3228+@0ZX>GuzUE~QDAzt)x(Qlv%3@?Jydpu8Gg+k7nL5F=s(REe zl`>_VYLx|#NNb*KXr6e%f)zC9s2R+S8ryMDj@W}VM}>uI!YsM7?+<$JMd@Bvuc;61 z7PKF8u%+h-@b;1Y745ctuOZaEK<&rGD^jbbAr zf`TB;+x`G{k?x6&JfTIrI{RT%$Vf2J7hTqs;<6@0Y3XUBN#Gt3&Xpn*^TG7KVQrBk z89nDrP8MPgDb*OOj3d~3!to=@0Vr_r)p+%nqx8+F;m|PwVd1S%uQap^s&krOB|4}r zD=9%lj*=l>6;oLJ$aXOOKNheZrnxlKD95HFG7Wmf{EAyGF;`Z6c2ON#iI7!XN1}4* zuZdiM(%pPz`X|?Pv*tnc|2TCwR(EH)G6UkA;RlXg&ks}gG(P}7EBWzLUJ>x5G;Nlkd3E0)t+Qb`p1wH+6tT+Vq8WJA>9KjMq&Wa_7-^8d9ky?hP-DLf zwUGi@cdq@SSw# z;Z*y_e@IKpU0Q1e3*)@$w3%UJ!WS;fpkFPimT->PkZVGOR2D?x3tL&$g8*1bU5tbUw6Lz#v1?tx)gE0$xpuBnLI1!)dDlNJO+E)ZL*U zJJG(ad%QmTsY%K;xb`Ez>Dk+I((&Nnv^~IH#r3Q>A*F;k7|MhY%723{A;%=&!@$QKG8XjiC)AKi3V!d>gvW84wQVr@d230JrjB}i|xAsg~ zD4T9zUVU99>4LO0W9MLPAoZ&650)i?U0c5FKl@0xuw7|{hUI^b?+q`B9q6YH%%J{% zoiAQRyx^evhgyVn=FBXfw%gzTtmP+Z|B(c8Lz6xSgVvh2gfmH4-KAjd* zt}s<0*Tq!}YII%zNisFg1ZdX$Ud%~RRN4=W-v8lC0NQTe(=|x2N){3b>^Jrs#2{SqfsNJMqHmt2eVP$j}uCx?MMxHG9 zGrsJfAXv(-aCPtKoKYP-dd1}q6e#rW37?1@z70x1@}Fq3LEP*O!MkycQt!eV1*)TM z{ZZiNZK+D41a&ec1T;s?jAk@=dumW72GdT98zY`I@5sYd?H?V#K<>@*b$ zbX;5Dm)!Pc1h}|h%Od1WUOk{Xy$kF=O_P>pe_ikJYSp^SW;FG@rHne%3RWEK3%$J! zQ0*-r@Gks(OA|9*gAHkdqmrgLh)FI^vJC1h9o>S^Q)}HK5GNEEQSzn&wBWBb?+h`S z*;;TnTENtG%MT7jCmu++^l*0@C$&U3e!SX&mQHY;?neU+44A2skC^1I&Bc2MiZi$t zGXb~S_iu&_CFqlgIwi52WU+(PK&96~^8p#>^)OvDTNIT)s%Eo7!951-1p_$up$(p$ zKxxlHvKTKo!F3*h89G>ekn`0PL+Ff-W-&|@U&CO<=9yXWuqFNK5 zL|>$u3FfYvcZH~`d##4?EpZ;Vj?zUJlf_Vc_sSzz37%nLg7SSk=B>Vgku@V$rKUBT zrB)VbMyUz{sDtKL6^wkG=OTI4F)~v4o~pQ3yHOSZDrEfX1wTlDa6id975C0iG4vqlwh=XNE8VAmB0p1fpNKu?hm z+Rns^_e+Wvfh@V6_@7@Au26BbEAU%u-X{wQ%)rw~AHegUToNA8N>k7rH*x1%H`3{A z`^(&F;>4;rp%=r@%nAzfjvcrNQ4Jb7t_>te)E{)kqQaAxF{p{nRdGiYRQreHEe z-0@a?s{@if4jY#_XeS5cd~re~U@btpeK8gXn$BQ!7ajz&Kd&&mGPfpQ2Z=(qB7+cJ zz#;URW|0i9=98hJ*u%(cGy9%$FQu40LDv;jq7}7u9A(tLC!Cdt_;@8m?W^*v-sDUt zdu-^XwSg5U)!brV(WvQYY3%9(IB(8R|5Z=$E*-tiq=lLy-=z6K82)B~ZwV{29Af@) zMa)GuE%D)7vFdJNlub! zn}B}d!G2@eohpKU5+Tb~`_>;^sH6g^ho02@pO1iq3{o>02m&?Bnhg0i=+ZURjdjq1 zdZ5eiyK>r^uf?r(S?BmEFM@h6-Wy2d?w(Ii`blRwqUq^?bA#0C?3VlT!SFMt zFVpl)EPk3O3s?eORT`HI@H-BD+>#;)er%hhA#gg;_ZB)c9Sdi@_{yT1Ma9j6C;Y&>j| z1E%N8E1QH!T5s*pBwj1^DPkuCCNt9Bxi821P`TQmB*0qS{Eyi9!B+q1tLq z@cB?dqOPmtmxThunK_nYeb@xAopl_$FkHA8;px23kEL-NKR9f+@`J;63qLq)x-@~^ zF)mFI`Zw@%Vc5Nx&+Q3_y_Z=tg4DT!JaxhJcCjGx)imAFr3~fXCfn4d&(P5XUxRRK zyLt-;wYWP$`)youFuJ}R)N(rzVXFz+D8;&-IT?`1P{FOzeDT4c0qVeYg(xrN2Uz4< zHrF$nkIAcmU>UZqCveBE!M79-)R?%gth1eX0TZjHPD*0A9y8}T^6Sp8|bp> zK5u{dS7fjp!A&g&3$1Q6CCLWz4WO)RJI)qG*Fit4E^h5>xquJX(ELg1>v)IRb~1iI zP)yv5AKy}u2dav17qKy0nvaK@bt*ufYCe(DF~U9Xx1Pmen&EYNEnO2a&W_EuG26o^AL zX&e%ySg0vr(19$2^^$v}^)joYHK}B$#~bQN{RgZGj)|q1t3}p%V%nl!G>K6`64mxq zAGQd|G4XNOO3iHL4my>Atz5?G=3n|EYGR23+OCHj#Q4+#F)Z$)Qrw~o!Z(Q&(u8Vo z1De@Val24LGoRlKzjZME{grO5U^N@3g0aSR*cO&RbIQws>Jy(Ggud46CXN~Vo)6}l zV!G)CM(1xx`zy}NTy|9@Hmo8Q_$B83M#o~tg?OqgJXpxxP#V0PoTJdYv<@#Am z?L8JY)oz+k2a&W2lP=qA8?9qI?a#kMbsbLc>Wb8LzgnYE>3VahaDhc9S!pu0&oO>MVYn9#(!;BHg%7DM{UN5b-~iIDeg$3?2{-vj{~QEKZ|Ed#YMfqP z3%^G?Gtn`ile$V2sNDyl2_~mGTxm4 z-x`*nJNEynPU9SK*wlE|U9UT9 zJ|}iZ?thBM5@(;jr*d_G)Z4SxhAvB>Hf~L^k!6B0Xam6>Pdp>2F)i70P}wBU;{3f( zZN2A@&kSs0QESjCdZpY@e-KaU0QTck?)bcKRgv}}YZmU3p9hdd`@}^WKV2<#NMmoQ z+h#dqG+X>InoWLC#B($`Jkv6WW>25RMEm-*r#!Xp3MC(UhIJAe>TV`tKmx4^ovtIb zZ5)NLiVRt2LIo{<$k9|#X|cDP&xi7e{@0fpM*S_uE|OA4U{4(XvA1aeX^ zvPxG@H}WsU$eD6cRW3%Hh;*8MyI=ys|I2G#$1lhET}}L7)%1I*V#^Tc#rlQOcj^~T zKTp4`xzFWSth=Z*itf%~mevbHF{S<8JJ6<4qQCgKzoo-((va? zlD6TjMB9tQ^C!NX3?>kF72ze$khnN>wRn8e%3VXk5=r$x52#NcQA_CEnpeK37c#Z; zU{pf<>DEn8R}4;g2l(4UkynkjGj~1O)aa1_M-~Eh2bAC+7X;-#yZm-Xdf)&G-x{wZ z<0swuhgzvRPXU6!4~7e&MAVDJ(whjo-aesV-#&p_?PuOCo!Z-jI0&FDD1fh#OP6}J zgWyY5^sRZ%h!(fD4_&q3ikoz|rt7AwX1-|p){vvj4trfeuv^=K;08SeHV}Xg?|*Ns zgxOlOtpMoG?XkT6NqMM#Q-iGl4;_#`QfG$Hz8 zt+a&imKe$N(u@Eon(zi?N~&d1-oUML;R_Je?H3G7!Px-AJ1Fdc2sR<4tc^&WDXA<# zV)cH>ZNKv4S0E(wRmDE@01LqG)^sk<)hmK>Znc2MRcs3i2;KNHh0H{SxX^kzX$k5ZtTp3RqH@E7UAM&P*= zY@jrK03aaL(iS`4)L4|ZOlK&l`$I`chcEr4!idvYvT7hEH#TNv?4? z!Z5QOx3B$S>yToX)mmDnUIIr$?O7X2J+zm7;*j-0NcIt3zpY*Wx9v_P{4s#Y|3}K# zi4Dl4{9#;Cs5gV!Kfe-18HncQ`BM6SB<5q_EJ6Jx3O}g+rMR+PrcwK2uf8Jj3GJXk zRG|%eL4wdn+e;AnxKB?Ug2>+$4d45>reVIy+_MAjifMJ10kki# zqG2EXYF&h&S8L;ctKJLH0Q3T)t@PF*zWRL$c>ykx{qpdeH3NIE;LXGS!AHVK^jfXj zxED!nsNVp-**>J}xNG3<6o1qQ%K0V4#@8G>#{kd0X;u$kBu3dAF4P3ScR5BTS1an} zT4w!jZ1xKuVZdgre~-g9U%-$kGnoEjHNg(VCIbCgCENlA=MeEig2+e(Ct1uNg9CP9 zK&U(Fj*|frsr1n#uz&@VOgX|l29qh5k|t5U^*Mu4*~EiPSBJS}J_8ZnTtPa(;L6#uJL14s(N9$04!tOVnN&PWL-iw&Z?E*kvN;MxniTfZV+w{bW#cf0 zBtJjR%M%|7XC_OuoBX5<#7h#u)W+*_0C#wT!vNfntK1XAAS4>?IXV#UOh6D_er`!u zSKrog)K6BUI52C9Y+L;LGo>3FvuL;aJ{QToesaH`JlRj4>L*Y4lV|(MGyUYO`Mx|r zx~=DDW?d!ampWj{0+Xik;!u@6&a->mP9x%IH8#`bnJ}OnxXfQvi%dn6(j|dR*Ch!3 z-0)J@IwYP?yx~?5ThYF-kwGz5A*^kC?{my(&lrPH*6mR?hgJ2PaC4Cdu~&YA9`{TPp`6WZ#LnLDF| zxW4bL!Nof=X2GKRTtelYE@&qK7d2!~L_e&Qp|Qp0ZTB*LTED?&we)JkFB&ckPz?V5 zB8mcLjZZB_e$_-z*!B65Pq5b>BH1L?~iVWM+X|g zbv%YIcuazY5lKOv?Ks52><`(1k?eF39vnPX$6^5SwCSI$bl2!qw3dZQ3|u(U)Fi;2 zeu}SX1kyC&63|05KcZqs7D6uI81pQ@5mtNQ!)%*WRXjE!nLwx6lbB~vif)v+OI5Xy zIM>n~=F@RTn~APD?dl>JY|R@!gJUDF(tK20c#3?08Nkb$)pe>7=7N zQg3qeu(FNX^m{Kg3lo`Z!=#M1`5PI5xcgD5nnFRKm=Hzdh;0)K?nDR|sU;x(^-E-| zmJJ7vr(ZnMuhyGTHKLi5lkEYXXZsCLP3LL`+@r}eGWJ1!hy4CoN`FCVBH3!$e&YX? zVE~yX?YP9w%{MX}*_Ztp!_lFAFyf?h$EAW59I15gjEebv6GWE3A&tT&$HQBVQL>?4w^ZuV#FR5Urt?ewT3R zA8Jgh+2g`>G1Barq{%@0G=@Un=HbiCno_gyplID9v*{YDK+n zS1Qp_+1>pf!4U{VXGZ~EPtf`rjwRNe0nxElv49ti+19E)E9kT;)Ya1ZQD?Crc;bkp z;2GPAk0VhKo4&hxW0{jdt4SlQYHgPJ&w5dr|2P9O|8WgCjiJ$Ey?a;COy-gM!3(aXOu+ z_TA#_)cAZH(8Ej%StQr@Ht3f(+u~&2;HWOLwFXvrFK6w$4GAfN_~Jmu_a2^35)#n_OsLi3itGVuqe zkZK+G@Cg8gpGGwuer(vI!#EL$wO%6a698PsZ;uuviFI*2Z2+Nt8o(#sG#2t_Icn6H z+2mB`nbfY{+-tq z-%fAoFh_;)a*<4S2lU3KkYjm&DVfR>+o4184@y&t%dDG8R@%4n6%l@&Gk}#dUoE#H z@k=k(PM^El_4WwQEVh$;)C8p-Jg$_@SZuSm1&5F~Ntd7KoG`7`+Gsx!hk|sx(GlFW zQ&1O(vavNeooTM?fJ+y5Q@4mKty5t{DZsgwpYJ~O7LbzKC#IqO6FBnY#kpi!nPw)MAkg1BVm zmYzs%aJQ^hbDSnUReaz`m6cjn#a3}t(fYt2GDkpM|JvNf#AODcA55)z3H27D3^B zszWO?Qm_ohsdA`Gq)uZn91TMXG9TiaKIh68GS3`{!WTwNuO{BaWnc^^fW4t_a z|3E5o2ORx z6Z=}4leECc=Lc?&g-Lp5;__&Lo@;U0J>UMN4_>BCw&n*UpN}j3DCU;0GIh7?bLr~n zbPtvK5i;&7mUT?IU-Ua|MnXYWe-PqvCF!raBpkIYGWHB5U#$Y+%9ROkJJP8X$ky8; z+m00#!%*uZm?)CC(*A??Yn9&eyJP=Ts6}?u&{Gm1YA86(>yW7t8iHdb7%oaYc^y7>Gw$0 zW6)t39c@89b-1Q*ri6&+9z|f{AYVSTq-YB%i6Xv`o8A&)n^EEvlY?=CD1 z&-0?Kf_%)nTZ7(Pson$7Q|QXVC12mrfs^??Oc@*pr?j>TN5*TA@uH%ti1QLZJ!Z6& z&Nq!MiWtPX<&wq7)JeRUapdCvT;88qz9c6)&DVCN}%7n72 zVTS1XJqWU*( zoB&h&waaT#9&@|Yo1{ETT53B;d86su`ZVcjVf!_HZC-PVm&;E)JUE+ms92uzo^_A0 z$hLQ>ysY+B&jrY{PFxsXj7AG!K-^!O6VZ%tbkf`@$uE8p1nZrVcx`_WhcY&eC73JA zti9TnC6BdZ=QNZ z5@`B93QSd9Bf4${2+da7YtFO1))$fx1&O_y_j2Nu8c-U#z$6<435Zsc|D$*o1{@N8%W-ZSnI2v?n4Pq&1{l_Fmrx{ zem=wYq?OkUXIBC$pl*dNESTFeh9h^I&xDR0yUZD;nqK(dqd(}s%Ma{09!TsYBzDrl zFeAYx+hxa7AyN8{FA@O!OaQ+=0e@gnLzlCco6Ia-cPIMXP4w$Fa_-Id=e#`0$jgcS z<@LwHa~A~&HeT0tal0HRS7>2L)TycwGUF5gD>$ktRU@)ZX3o6to zdHpz!@>rr2Jh&VI3kmJ>iDLMlhLuk(3KXu(%D$?;2ASye1bX|!-ga=1=%q<+q*CI| z6Hrp4mk!%8H?O}mf*GG??hK9%6iz{WP}!%VmgW=<+{ZJbnf@+ls%-G6=P0hA`MWFu zBA6RUf7tK-0PDe8qE*j*E`Cj=cS`iZq1HIe3i!i@RHHH5g3$6o4(htfyw zXS=BI^i7rJKy;yJ{`iU$ZT)zWQh;3CSdrdl$>cR|uM^oZR6^I}reCCkl~N|gU;Qr9 zapIbGNE?noeIzbP!Yfma^zEF0*D|e}iwZmNnH-g-TV#+0FE;*Y52`ZR41?(lR#sNJ z4>^MWur?>KywhPV`hpZh3~bG&=d+#Ys1VZl2kRkKKq6#(&$TFjkiGu5=yL98UUe{Y)xY-{M*m_aIF@r3!xhGJ`mubb;KB%4z#??I#()aga;-s0r z#mjWJA~kp~R-DsIs*E$ZsaI8%IB`w$?~{QUqo7z32g+oQrQb1k?LyE2 z6u|@on4c!+BX6NDy>W3bf!_1Y4+(UPW22%}^iimG)>Jc>&ZxsCbUl-lgq^6SdFdh~ z7tWfODZj%!L0ZoTay)Kk41m^!M@O>3^uOx)8bjgdvmND(lvKiC`mEKi-qK)ASdO$# z!IABt;EMYOHKduWOP@@38^{y+o@Ns&Qfi5Xb050Mu7l z+AIe>G;;s?&3<6>H=&MHG0{-cqh68|V(fJw-Fx1zQwa7>TW3(N>Ov+8EI{&Q6Q9Mr9jAk02nyC1i1~Jfg@E z75+#ZThQDFekG1hF&y^`A?aM+m$LN-Lm#ph;y7Q6;E!f%D(AQaWB4@mjA#RGcj}$T z-53ToIXDR~xC&i#pYKSezGbloH8YdhtxXucbejjYn^4(EW{2gLPsRw3J^hJmk@Un1H>aI{ zS`(u8mClckJ3~XSF{~sF?}crT^$lgS%d&9cqj-JN7%S2kEFq!L{j;gnWv~5BUX?!^ zk0|PM<>|(FYUGW&;)M(M1LLMhTqDhU0EW21M;g_+Xqm$=aq!8zH zo6FA1zM8?Su-_<6U<{7$!BTyjg|c};SOHtEo}Axk%-1P2*)MbZY`SfA9v#5x_++as zFfU4=k#4)`9cYO98~FoBzK&=`)Wgvcr_@Y;uqhwn!;=c79L7pU@%mI;RD`7{Z&H9S0IbjLe20VJA%xyP{ zLlL2MGiwBa>cL31{YHkM(s@hZRe?O$owrxr=0parDjP%_#AB?DL%Nu^kBVl7Sa(WO zFprKB-jR6tLf!91V1dl4ltXENBe4t%jKUg=??KDvfr4XRm^d1inxp6LfsYSAe3cFl zsRNx0!(ahU*s&I`yd{U7`pIiLhU11>oS9r=ir!T=62ACIs1 z7E@Zyj%N!>o}0BenVhDPK`(1ui3=CTVY17|mQ~0SkWUEOCdNTN+dq%G+kQs3f-GXg z(e%wL!e-OhsJG3ycPW|W2m9XCJ9;cFH6`Auk7h3En>F|fC^4@nF|UIVb9UpF5`uLD zOy}Jf5FAvQcTNM=$+<-&-*gC)m?u|&q&|X~*|pJX(<8BKqivSrC=9a$bK@c|uRjDA z&iGvcE-CCr2kcD?lSO6)eVDVSb770$;;^0@J@Du*vhlu0M_4IgOJwbaMQk591Y33^ zt_WX!FrX7;2&u$cg?fwov{v#z-Z`wAbL?VdQm)};Er?!qt@y$`OCQ$LP8jX^(ca5g zaissCI1+YP=BI-8>VkW(Qus1b`D%jPJ(v02QgFeiyVbZT2S2LxZatyQm^aeePo7h?7!!}sj3ERd7^_F*X1qRdKt{iD1 z_PsMP+nnS@6K(N>V%+416D_`_V-${{e>kqIlwUs~ZYblIYG@UnOmI@n@=UIgl$(#! z8r(cz(KQe7a~b5RB;C@8QbB?ON_HHnp^Xz~#oA1qctud)o!dxlUNh!-8>Y^u} z@+D&?Rv;yTq^LnU7H~`b%N&o_O127Q4~L^WYKelvO^|v!1Wp;F3{5rYAU?4`bV2j- zklA|hOG&suhFM1j?H$qw^R9r_dP$ZK&CmT*$RH8Pgl?o?sJ9-oL*hgVIUp0*wSmm0ZOUkbT=meX84h}>&dIsqdV(4(BfDKx9L zQ!Kn_xseOltEQAmSST0O*NonJyRKk=1fj&Y^a2h8phG+HCT7QF#01dz>k zihV%@kEJEK<;=0G1pU98nv{hV9v*}O#9msWByOUhU6)Z)rQ}0Hs zuZhHzOwq)$j)5I{$_qh1{C9xr@ghj#4=2(BuZIS=oNr#+$;)H`Q|+mkcP9E0+@60a z+}uca0#-2SJ`OFoP(tS;3@J5leljx+DxGZZty1|DA7Vf6>O3?kC%#!PLuRILyc9YI zMF~j920H(w3t?>ABs>P40~M=EoOVaQl(o0or zUlcPwtKKNe6utyLH98xe+Uke9xr=prV|V10!a=q<+rQGDw^Y*L#Qj%`qO-@`sjOHI zl)>7b7iy)NUleP(u7&5L!@17Ytgw8yyMBbU{`6m7+wAWw`d zLB8>+*Iq^DKYZ%7NBG%(>b0xzrycm#;d<0 zc~R@}G}RNEXd|7a9q0`uuu~vx4(31=5n(395gS8TSfvmNl2O@0G zt@fQC#cyHSjmft0boD?1(-hPacWm2kut}~Dp9R#4yS_gr!9EHX)y#X1gZ5K@ ztSzKbzo(^RCW0Me)07c+7tUk^pVML9t_&|-97v^ zp(v-q-g}gd+fkuvRBqq*B2aEeael;22wGjb$*=hGy1EIIg0oK|1XCmcr(eC0kZ6R( z&jtp?+oD=+YCW%3+QgYkhDwihECRHU9A;_mtt{dEc_eE%B$L-ny91sHZn0_b!JjYDPZr-e3 zkTM+Tg6M{xcAH;G2!wEz&fYgDK^Fk%csXdGrPKzB5mbEQiY~)L;=J28_dZ|*Cf?%S zbQ4gA{QHZmEIf}{s0Qrfiy_Ks?sp>}4G+*h9O9nUr4D;UzV5Cdg|=+osy1aniLyE> z^s5H8lCEs3VgqRJVg6Lf5|^j_LMZX#jT_}T(*Q_5Yk!uf?w0jNNPj4C|7^r0P~J%{tn^g{QL?{_2SLTCf&Go zc5F4RG^=u5PtASJ3-^n}*)iYwxJL@Kd_ggiZtS?9H3 z`7M!)fm!Y|prVjgwO^}4A$i;U|;i3<%J$fajP@KRq%*+33TyX zR3=V$SY?VzW#+8WCJe`AP`AYawXHN1!hpI-ek;d_V3RsK-WeK786{1$oZxW4+==D` zqCz*uj*(g+H?6g3w5iHavp9-M%28BV@?s6oV(iKbrLZAL2WoP+Xy_*dHm(Ep`m&jv zC`w_YX2E}_Rt5+!!8)TVWa7fy06Q;yuF^T`uJ**F9xH{bo7I)(FdeLW@F6Y6Kk4uO zkQq?LJOYlgcs{0&hw-V2SgfgWJb5ja|KkpddMx_0-~6^!gQ_XL7wNMJX6*lSaY#hOhiu?x+sALN8ZjBP5;0d%sk;w&1F?+vdACEm~d{1?iN#@>7#o5yH) zrv^^N+pV-6PhZ~;7K{^u7>f#?dNYgTl)7V6v2a#jP6iB4_9XUOpBEp ztV?oS;~63wqRx8ul8fetBF7ZP6)k#F<-=Zv!5DFc+a(2P5W&ojInSmgF&cL^lj+hC zZ8UvS&wU#vVh-mvW`?>*zz5KI<*D;e=PL_0A5mR`6=4qtVn89B%LWx6mVwin_IF=R zUKHm%VFzCj3@i*CCa)61#amC~uBPG90Yu`)r+i=NTmpOWVo>YwgW1 z&h;r?REP>tZs51xo;$C(HJ))xq0={cKWsg!s^ITapd#)xi5dh~-z^A|0yWVeR)q14 z*9?}`%ROh(X?XqH|hWZ{|eo*>|oRtvK0kXT{F_2>1f!f%wurb{JANTw>h zH!4)6naVYL6k@wF#HHX}Gaz>2aA2(U)KIuiv|SEVmX>e zKV;s2w=!)L%Z_qgYbakiq;MOHm7ve{&^#d2Ipx)>I6NP3_qZK8p5A3Y=yyKiFqrIz zNC4(3gP}7eDOFfY(5D~iFTOpiPi8WUuxvHX!Cqr)jOAHoJ-(c+Dd%|s8GEV5*0NzI zV;~l`Fu8KG65W}l0F>jG1d^u0rd!|vlJlN$UU!YFqsa7&_bG9WhNcpPm`g`26IAVN zi*M>y#$pf8W38o?gj}m}UR0;mrzF7!I~=C-&1bT<L$KGH zACZe19Vrvo396lN)d{Vc&$lT@FYorj8J0vyrEY0Q4CECwB6F>|OC2G}BxW{+BA#Ji z591j=P-4fL0hJRB^PwtfOSEC75l9;-MUaGJruquS{;6zX% z9S=4w0n;clH#whPbOa{sBfA_n7|d71f)r0d2%s(HMj;4QWUo$Brkm()6hJT zprX{H{vdq$_O+G$){x1vWudFlFcqA~XQ_2>XA1RL2^vH-aL>>hY>o?&=c}gG0J%Xt z+b{Tv@}%%Z)WBIayjahg-wazsHmybwXJn8LQq0N?lDNU$%&l@RGOqjh;^TdwcZHG`#9Pyp`xWKl+ z+^Q-nyie?IlE_Yx+uW1Ro0OGD-HBk6@5=Kvl4uc`P!w~>{5BR`-seIJjGiDh`TAUX zSLU+5;|OaS(N=YivtRjmIv)p=ohBPD393*l2eI7ymi8sop^9pm&XnDOUm?XiO&onw z?U3DxW!Dn3+mq%P8OuWK7^wrKI>DKBaA2F~0>3CFi=pc7*tmn{3qTh;PV%&K6mC#< z6hmKCthy)1Rzj7d>KP*M8zxnsX2TXzVQJh`Yuyi)R=L4+c^FyiYJKJ`h9p(u0$hd1 zPNxg!c6uu(i<|clOj$%1TMo-zYZfpf&0Vp4Pv-ld{i0RQjnvDS>N30-8TvshfT2n0 zhLyb%`y{mL?74Sd`I;0GQXi)F8kNNWW#+5IJ?&z>7E?uV6`e|9Jj)arX2>k=&`XL< zwt8%Z0NhnvbIN|rzvxB2FDEL9cK zyEvt4`a>=!IomHvpEn;&@aPLqgu_6F@QCFY8SaA&7djOn!)dSn$aHR zx|cF#cbYcP-)(+Z-D%1!Hrn$|2i1(X-4&9fx}7Takan>xPi*H+-mb@W#+bo#i;lY? zONx!-u}bQayYQ#2d&sfw3C-vF=DmAirA9?iMJl2?Gr=C=|J=z#4%+jEu;K-Z-4kMDMFAAIa~GX31PaQ=dLvFctz!m+ zv&1K-x8=oBj~m3({XBX=fxQtU%S6#%J_T*Zwk(+Sz)pr0wkXRrDGTgga za_)=`rs9DkLV928@2+5ydJZ=oAf#LoTb zwrdf|jwpJ7vw=>Hc|ix+@j&Mm(RrNk2v#v5`zF-SzR8Lf4kBd(5Hz1-rv>{_bo|sn(B=9ev?XjUlhAg=yd6g9! z4Y~KiCrq-1PL*UF;o+t9e_#MR8 ziMX?o@?)4P)X}pbAiwb(Zg1kM-a=C45M^Xo+GI0{@+Ri1T)a+v@&vT>3WH>ORfDpm zW+X8ftW!nA;rX(MZ0u)N`tCiU->^V1d>!6H+V0+ODNxr`>K;h8{V6Yx5BIlXj530VudX|=pk zm*th%MkYNOCv7edqSrlrIC?0La9tT3vdOL}$~HQiclOT_t*~;dgar9+ko{2SMFA$B zb}7asYfl#3B$7O_80wiZV&ELtIxBeoBYvdspb-dDwsa-GZn2jIJlEfpx+dXKhNWfG zaLt(q3k?ygpg7HH8v_h13n%8MP_+GnNi6Rw@Pyaq7Un ziZK;RMoB^;QKIqfo(L#M`8k#&fgE7Gb0?sm{3&cd`BT__!X#BG6cYvj&}`>vE96;u zf!c&)%fv#W+nqFKM4cL&$E<~$V?(bFG@x6^%hjQJy~`x!g7l2WfzA=^9Wx`b%5lU1 zjq#qu!B9GJaKTb>NVr9>J*i+3^T_yvvyN0L$rESlcsQ*ddlz}Vrdpeb*Y)PDq@H<8 zFPgU+GV@l z{xFjATumZEejrM&5FOTt{&pYHo=Ykx5|YZRgrsaj%ttz!9$t;-vlb47+S39B;Lkt0 z7*9uMzJ5O(L%m`V%?8bbDJzs5jr8F%8dgBOYsg#bMtsi zdc6bzt5nA(Ly0dKxDZ zFX=FiXEzC?sb-9tkA=j}jo{ppc7GM;`;C>(n!x$$%^(RCvVl-Y(&qdiX(>vx$rA19 zBtqfl*dk+u-t1%4*&+)bZOXDzX|lsi5@qP$wa_yt3P}KuoOB`ryS%>-E>unB>;1#G zd3r`2RRmX8bqC$4*~GXUePOkeb~QhEl5dSpcQU=qWeX2@hP>H)qMOk8vgB`@p4CNX zulOnz67$cq$Q?mL&y~nQg1QsLg;J6|wTXt!9|e~?HFLOfSy1jhj!O-|@ufQR%252yQ-V!A)%nj z9kqNJ9$tcqKB=No(B$g}R_e9pnH6jCu!i-bC}&&i8e=hsc*fT$T9Q?Z3?1a|kccYW z!JbP#6*#2)fP_AosmHy2Vlj5$3E03M;h6`B8sx#RAJj1|7mwn`Q3`*;FAnhV9=K)41dq&bY{IJZjk$Tt3BDf6wSMJ*zQggg0JbImxf04qXm33df3jM@wS@Nd3if0 zu<(B;4}izVO1natWy*CFK>N0CqTH$p zYL=;%3k8oRyi}ykTADI+nL-jF6BA4g@>oH5N?b)*>Qf`iuj1)ST4dMI4bm?qjUKgx=5k=s z9RtV*H>MBtH!6CgXZD4~l+qd_mBPfThJ=h(huXSPmC+9z|X|`0W=1X#LPvM1oJ3?+vE#t!eiqJZj*?AgWmg^7_3MFN`B~Z6h{9B` zCIWw#E2kA^?fHW`6}aBs*24zB$&DeGw~vQiDQYn^ zth6LUb&39xHlH)E5P}jmv+dd#Ur7xSJ?j@LHav&p$AZope zp$G*%pDN31mD6FZ z(%jZw^RHq`_+(Qqm)w*J|FTr@GF+km?!FrCxj{O(fG)uq3lp~I`1ai0ZIK8ERi4fk z3-~t=$LW(UI_O|M8)d#*h)N9?^eBoMi!T`wbz(Bu&dGX6q!&!QQ|3kUXQF~!mnvVT zoNA!49>XVVE)1mKAZO$e!I1?4El9Jv>&MQe@Zz4x&jhI}kWtE|`JYvh>o z+0t{?z|*%)hvR&I!-Lr7!`d}F7Xd`RAXPs5dEpsP9-WHplk=fGuya-m`+f|rDN|3J zE!NLji!hmIRR_DeXa~37mv&HT(GGizoQ%CPSw)M;J0mivOw*R==&7O$3`^O8A0i0a zAmZB4*XVRFQ@VFs3ienp0cBqul8&Cgn55zD)fI+#~kLG2C_R{sl(b?&n z$6Yfy%9phvG1xgFfIo|+n2e5-8emSKre#y2y}=s1F??8nYje)#&ZPM(@rvQd8d9xE z^9AMn3w(W=Wpm$PC(RdCWXQ>m;>`zTiPq7H%}9`&WKCKuE&(4mUsCljb_Zh7m1FcB z3m6p)zML_L!FO0LV3cP)c=%{oXfa5ZAgwoFsgYwqqeMB!fK)9wUm9RL2pF=|89ynf zvO#=x5cOmLsXF{NwHNJ1UolZv=An!xZgPq=nc?~T-gYIMz@9vL@O-99sZjHIz*u|cq*-up*;S{sKYF? zyjcKZ?B0GSl3eAVQoi3WvNS8jR%d*K$451j!5aL|2xGIJ&C8u9!Uh^Tk5z?&qsrdl z;~74tQ3an=u6hMUT*r7lB$wzHcJ5yR1Zf&-8?v1{bK+)5^_~CquuM^OS6W(_8Vi&K zy+jBo%#!`hL&mO;8$D!O9%`!t$Rz4%Lb^lGX>2q)*6Na@UtjF|O+CkB$^MI$GrJHV z!Desa(yUBh^5SH3e*2LOO_u}iUw{#eS@SoVZ$1qJ>paP#G+X(TGB!a|8;o!NbW^U6 zmye%dmm9uGA&$vVFQKphrPH+9K}iZ)i^Sn7IxQVGBRU5o8K99Hf-?QgN(UZAKCHa} z7BqDuMs_Y53%WBsW=iwKWSLVwK?oKu&(f4cvt$R&ICm*mkYFnxTHX81dq5o0y57Ww zQ+`daXS9Nmjbl1v0UdCLYJC3Q6JLMFiNWpsQ}fBax5u}5k9w))%tZ%H6dYW(7fT=h z6ASJ#d@|1ZB|vnxd04U$5#BJ25M9a+oWA&AMR0b1RujQjh1K@l*T?BjGVcO$eVpQ? zTpx!e1jgJtW#3uY^NdqDNx!o+4XrPt$m%&gVkySCr~3zriMz8IKNRc0lf=adAo@nJ zNj4$J(Uan7$%TG5Yv7z$)`Tda25^yHIRJfWCeDHKsk zgo#3;340L@)tukN&nE8q3l&!{)w$h1t)}jSd$9&-RfW#V_3HCkS=xhVSv@Y~<=8F= zGGkz-D$UReh}t-v{Tk1ad7OiEnStuL7Bz^*3E=!W&GRL$U31S89l7_gq0>UY;BEDM z5Lm|YyHBj#ekD)?Qb)P(>~U=v^kmL49kRcm0Wd!L9{V><<{3bm=PB%*JYZsR+8_Y;B>PvHGAY=K^>x_8~@bE%Z=ybo|aT;b10o&>})7ikh zkV5=L!d_T~-Y#Wvr%0RF;x{AEm2xs_^VXl@-1drX?VhjAriqUhcn!uJlX4$&9RoLYY2Te;O1T_Tmdpd%`?5L!7`wbk1UjK zU4En-ebypJ?;CeA0Y`g#T5J(WVZ|O9qMxqa*1muiCT2#lWXMZ)zDl(u#P8Ps(04$T zo0X?7D5sukdNU$~WKgZ4307W4BM3xhw{LBZq-wd#vI?b)ZT<3AU)oT&6Y4Rsxixd0 zTv2rIwx#tV-~ovNls2Stzuw0Y>}z9k?Ur2N>bQ{;3dX#fggd8cNQ3^P+u zXGJm&)|f|)sJ^Dp2&kXN-xK&gk=jZ|d3n=LYYDw7i~Z`euFh}v&^!>rW)7pRw7Q3J zp{AWI@*s)bG%iA&6cpKS%qsUE+hdQ57|q7bzd|_X>}QC5#0*Y zXH%w+bz93;hLjt4=~8W}z}7dcfS}JLrb4a*D%#n#X?OGCjlVMt%%RpwcZ^b%8DVX@ zdG7^5ZEWEu?ao;f>vdN;Q6jxo&4HWmrxA%0Yk{y9sA|D46)^{}Tg3d4*P*c7BzlaH zEfbhX%PzP1elh$$_nX;ihg;k20d~SGPu7vNCD^2G6nCfHJ`d!(m{wjAyox4@$$m`n ztH1;#C5ofl&dZz{q_et#PgmCbfL8|5Y5|>mP1lv9qZKOTgr2vL(n+z8ISKcME3{H= z1`2oXBk*{~Enk1=f*H-Tg|T(9YDs&!HuTO?t${l)R|tzHjU9Q46zsveW%4j6ppvE%U|h z`bwW>J+;g147b8_cmfdMTZu6GZpnsyRiHO(DXN!ae9s#>sU(+i9_ zo!l{!t}H_Kmv7+93%*0FV*FI}`%#K76zKXSM8+Lohe@O&yuIwPyOpwN&E`nPL`m1A zq^u-Wo|g?>2%aisqUfL+)!O6do4b+&qV%!h+!nsxO5G7koqO=vzS-L&e>Rc=>udz6 z2ZCJd#1cZCk){j+u|rl2lxV~1d))P*B6wus6$DDkJ8rQ^v&kfCi79TQb?L@>z#|~!EYBA)9rjMjg3j@iMPN3 z2_a*<9K!7tRjOQN*r1pds=KxhQxC<6+ zl1E?rSuyY?p-H?sSNsGkYCb}h4qQ!twl!lJd4Nz3JCp7OnWBsEnIY=^Wt;LH)qB>9 zL1qHEj*}vRn7tMbg-uyl;JBW&C+N7(x5Oxk<&G z)I<#mhunw5%IaM99m`k7jkJ|BQcPQKYSV*55n*9gT^2Rp)|)-DAq_35dRvcqxC;OS z^RODcee80fg?Dxyd30tTA`(1AP)cwkdMV?IwgLvb<*rWTro0 zh+*+RF&`IRg6ZiKuf^K0x7?G`cKg4Nn7HD2kh=4=vkG86;vyqW`B)LP2D>Ktp+v%h zNN&B0vRNgiXY&QX65Sfn4^>OZ;qnGgi@XIr0F~`3ON^G9S_))jX%%!KPa!hNaFl4+ zVylIQy%t-vR^C~1e7%wUE+T1WRyrgd36@MaZ12MS(H~B&4g36^75+k9=&MTlvtFqt zlIhAd%Zqx+vg7)ufseFZqn>r>3DYVKZi$hgJEtWpU9__WENN1X+{9)9bI&fNY zGOFd|{nb#2+V=!nT37t9WmN)*S)Hc66^=x>*oi7DMk2;^$UWwClB#x4s>&2g;QY(o z?OLcy>p^aU}46@WCXK3G96*wn~QK-gjbNGC2G>eA;~{ z)=S1}WHcq?NMuY(##NCqxa0Qe!~NJtZ)cd(nd0FlKZxU;A6^jGb}|0T+;ce;07>57 zVmUu+6kB5q=Fgn64!h6@egN3F+Wx5((5?IWwC$ zM3&)Nkwi7cTw=tOC_Jebb^yMmbM~d69IQ1W=pAUP#XP;(zro6oOBBV|T9HL{L;fNF zO*o>MqLg%~)=&+~osoyJ;uqzQva>DocQsR7CP$CBFRoT{NV}RMo2wDo^lmxLV|M#v zYa67ru=B$%^E{C@Hn*Kfdr44)@=fq%Q<|M+%%V&Y<%=Svpim^hxFC}wv^-5@uJXgF z?edD8(%?gxNWm{2zn?;rbH>BL}^8 zL|CoEP`Oi%CBAZW!BwWbG4Bzi9yYZ?k90&;ZPNX@Ogl39!!Vj36of<*LXSH;ZxWpeMtoqHi1(zG>(${0bg_2x?}Swr%nx8eG;Q(( zKqsmxZ~YeTOF5++&Wh(tkIn@NcmpAGNPh5#ha6P#kSM4jHw6F5BrBcKq zJObl~qor~kWzq3xH>8OqaW8&$GwLVBO5@>a#d@Jy^e>`lO9ntd*jo9Z_YZ^pdZE=c zZ(bZSb0$XQcOR&`n{NNgw;2ZS6Q^k@Hg=)~3Y?E(zEI8GInB)8?*zvKhA(MU=}`Rt z$K2Zn*_vJTednA$_ud|L%RE$dQjO?}&%Hjb998v{`$Ly#L|5gWn``KbJF%SHm`POMT zb6nSTm!;I_B*awVxEnRgyi>0tbRGA%BBC`h;0aKPYTv0Z)cAdH-uEGr4h;+g9;A{T+yhtkiIlNKY|l4kFU-h$HeyC(`z9n zI0Ijc4V|8{@$fD$yZd%XXs%}KQ)yNH_?VPmN8O`}QQ&mc!0Gk%zJ@0zE3?A)5#CT8 z@72?1$2m+MF^~5u5U$JQ907SB3ZFXBDzus3@8$n|TwxFzjkG=KGRIjJF;n1VuUy1= zEIZ*^VD}5-a%XtKc~L?JUJ-?PQD;un(DzTG96v96e35&(5>d383qh?8LBv|A?_Awg z3Wm;@W$^S)69u-%xtZ^hxEdySI>>dpNPpRGi zASOt6oGZGc0ZwEvsh|j@;n&O7jOK}Q4?&_XzKyQxSzsO#C=-G{mB0ovUK-n{;~vn9 z78RWUr3~(TS&McMcK~Yu@pnBm6JL)zNx0};BmwkOcWj@)wE`hHz@vEYF^nk=7~ z^y=t8=#|AV-r~`*@o&!d`JcdPI+J?rj3zK2XO5w(C0@`IjrCzYiBLSRCv%49^gJWl zq+~oHIO0JLAD9;Yi^^Ys$0BQ?<@K;Q9xl#1V*)S0l0o)C_03h5H2@|TuZM>8%Y~F= zG$rC)z9LPv^h5D9T&Ye@u~o>riv(${{0_oypxEu#B+keYyQtk2pkb4<#FjrtpeT1j zCQhAbyBy`!;-*_vsC0{gnIaz>A+&niuxK9OE{FUKj@pxU#3$( z7qetb&SiT(4!}M`jt-nIQ>e-(FsfYd1K>ccW@g#-@PcTOXc(Y|PKAA)(JWGkJ|ROR zG>ww9phLld74nFSf|6l0k->{=Lt($eCXLLX>|&Ibtc!E2d{&AW4MnvjHxvhmU|=FH zji2yr6SQOvU=XI>#xY^cFhTQ`F5zogby64Z$ToE^zsTM`Ki8YnoohKi149L?2RXyt zfogA<6M&$oMande9 zM=`xHEAVp~mdsyg>3{dW(BB!iu`MaMdH7*t>8}VZJI-r;tq4Bd#+;QfsGs;_Jhh3) zPgdXt`?c#?s}~qaIx`F~a=P-x;08)kxAAQ^;gc8ypJ<%;G_vH&)z)+sSy`m$z* z`IskMn-|y2%pxGbvz&j)J730;CRMg>ufE^mzVT-b87Ee~aukD+piBRWwesG7V$C%G zGgA=FbcWgj(hFZ25S30*v#p4Va%)5-SDT`xktKqC2Z5MutV}4Q^_C(kY+JwM6T1?f z@ap0^lbLC2*2jdZo|F3flm0Sqnm>_*dR0;lnOOhEgEdOM_3>3KJ3eJ_CYpwo$7t#g z%^j`8k?a)gND-)DQfSyrE0-yit@FyuZKdVwV+90JB6H{bIGm~G9(pSpAy+$q5?om) z^h;6E&Hk`(bE-R);9_}O!rLJ1&%hpdEG_%=P<93@VTFkvOcY>WQT3ICKrD(c05Q<< z2hub38t{6V${<97ZGs|tb8$PHPo*Q^_(k-VNj!0T&9!OoQK_3#A)VgcCRRf)$o814 z%@Em^`1?3=wWq5pd5*RR>%F|jTgO1+;sS&8ngyw1<1Xx&Y zdm`o5`>OwO|3yqL`k#zPb^^iJglc))4vnOH;3`Mvs;V4C)9(r-hVtq^;gZ9wu)hL);6q%uCQe?_at~$P~ z1od^u$UGGJL_O>kH~$I+31G-G&;z{NO9F?=m5=7lgDRf=sm-2+EUoT1>@*IJViJZs zM3vAz<$wkF00&!2Dsw!`6Cjp$p6g2#tt#$v?e|NUkgEiMH^206>K9B1a4o4n5p2g1 zQdUeE{Y#BKM>j`lQIT_qD*xh3xkZe8T=1KBig+Ea{(fmLn?p6UjTJ~b|`hQm?=EJ?N{>P@pTk4!wi8MkWZOssdl8uy708T@HG zp&YGTh6wn2pqUfWJi_6C%&}x)h(j@?0 z^e~_vy=1ZP3+d!?b_rV<&E!LetKW`Y7UL+zs+Kblr{;r;fu1|!k>M0x`l?NZ)*{ue z-G?y(Wh0rIl|(6DMI|c47PWOx=PrZEPS77QPtU{de~wn@V$yWdN~YiPYPRU$X+#w5^5o^0I?j_{VxIML_z@Km45GOO6MPRb2($4hkvr2xb9Ui zn(jTp$1f1%MOT;-PZU)t_~il#eJacH?G7@#Uw5OG%TNGB&Xr`m`!?y-AiLfpJp2~H zFR$pCm;(*;OQ;!0U$YLiw(YG9O_A=B(ir8Y5w()pQrQMYlsEUFw2niI#=osAMlKXz z#(RN?{I&6Eo&;_M>eM%$q)wVTB|hN{CDV;R+3a1a&!AHVLG=fSrZe8|iIk0T5W1KDihGhl;&F(0#up(Bbz7ijZHC3<(YZ$p;n? z#_)DmFXn#Z$}l~pw(Gd|cBth@d#BieBOPb5xcEUd?8Sr42ga^HSLB&IB{I-~rKTD- zgJ`Ib==#%bdLvro(mY4896N-;(*E{SkMdbOuO>+PPoRKvi^+YtmK$wTOC_mf?1!X! z6OZ3DFrd8XZVRtgKv?(W_Gh+Q_7{-E6q@)G*<>qrSdqb+c+ z11$m<2l@;Pd-A!7k}FFn6hk&?uKu9o?$;BVH0+-a5i_1p3?y#{tJ^}4O`1YKphBUQ zfo|I)pk3+qs&Z9JN%ejn-T}BU(m|gba@MQ>y28Eg2aP_sx<_lHdyS;Q8}H85rgOcf zm{i%Adk2}fMM&U*Sa?LoEy}zi|1vc{6ik47I%wkFFdy&HMiAk(h)edYoufAaQ>V^~ z6wL&QEv*-Oxx#(xZF1@fPCJJr#Mw%IpfDDbd%No*q8L==ch4l7mA}<0_h{{K7@BJ1 z?0igfnSO;vm=Q?4aBlK-W=7gbNPBNhAZJ)(C8O9b#Kcm#CM-Z*)2a)&IJ%U`_5*uRX4=nk<>s0vX$S-xXtOGq$UEt4qixK@V1ReWAZ>VVl}HRmwoA`g0L>MT;*l zXNu^PX17fMp%^q8luG3{VPG~KM((KXF%^hnr!z8LeAR6_mRq8gqikoEL#9#6>vW)a_7H zMNGRNa1?`F>?{H;nHTmL{u|%-+TJ7mc9u=grCK;A>3@7YJ14#Hn4b8XkLrn2dQDGe zx)1SSru!BisD=k;=aw`1ujk|q-0NOCw*U!B8&lb@`LU;5?uVS)bIWUSgXZ0$_uTS} zUyKiPpB^8V3 zEFbX(6_! zA4M~Nz@~%5$H#I8_;I;R)fhoek3?TGjZf$XUbY+v7};BywapB#Kk*CAmQ%E#niJb=yPo2dpJunN!72rzxX}s4)UB16s&>6g}>s@;%fI39#fJZaxRBh`FAw-QTU-b zb6@Vw%LBc9{tU6c=&O%=w{M3fJJAHj+Od?l+r!I|79d5m{s3ck4wig2Y!vh6s3D>rJX9(+dW_W?nb(55LR?4dq{OHZkmIjlhj1Y6>H5aa2`^Gpf_@HiyI>Z`1D8_MZ695=;=^d znee>*B!p@cEy{k!so9&$S4I&?O|W++SRd+^s|N;fZAL`+buyF2`B(xg9LES~E^=52 zo{iI@kJWjbR&uBtShc4f)KCB69UB-rEb_Gy6TjwOr_=B51@&NqL~1L5HoJG()6kp7 zjMt|9Yhehb&5fV#h$5%ekXgGr$xgePRrgn#px}+yBQM3LgBY&bStnj?U(fx>5)AFF z8FQd2hL0sBmQOE@AHMYJ=o>FRKYl2nChvHtj1`uhglMZDD|(C7RG;Mcn*ijtsg9@8 zn?7P?$weIV#KPB9$p23yU2P8C;~}2TB!bT!QJj3hwNeOpq#wY zp=dJRux2jM$evRtN`=0m>>+S26yjH8&lRyu)BULA1}?g8ys%3aJ~zQ{5*%iRUNxU15(o+vvbNRh>BiHU+;3OG>2^8}uzXuAtp zI#D!pUkpiet24=iW!aNg`=z4HkgV3lQaYcxEp09pNrRX_GQxW`TwH1EZ*2^+%fhY? zYg$dPDA!#tTVk+!N@&=xHzl!ro~!bRI+|GGt2_pSjcQTM8{gQErCazQ10#W&AnaH8 zAP78ioJ)a{**&6MUJ1b|1Ksq zN#t^TUJ}<9R}RA0l$+L7H1Da=8Jd2V9?%>A(STj!R6S$6AZg*twOz$uzzwNLHrl(u zu=RuX?!?YRZ7oH2X=^Ez5mO{otX~XHoDwS=r3d$ed`XglVN5hP*M3Q;Z;;tA^5>;l9325Mmg_+zQiIU;GRrVq> z8T)wpW@=26y_HK^=mfo;cVc&bthbKsd5G8O!o;%%td1h)6K%XvgVZp9RHSu6-gX;z zfyH2hQ7n3}vc=$B^C-hhis3m<2-UyU-{`Jx(ut1D4VMWT(qqc88oj8Z_L>;F`i(@_ z4=U6=k67>c+KP`u_OB)f*uuB$VQUH-8D_{@^c$NyB&um8F4KWj0V5W@Ro0x?Z zh=0vB)~I6WLCQd$pm0|TT%cCo{BXgoT&@k^IW9@CE%U2TIA(Mm%>0m)$CX zki0JH$iohHZ~;ae>|1gHDHdJO7e-nN<(n^Fz9Pk4vlAEF7RI@vykt3887Vg1FtXa^ zpC8V)2byFe|+apQf>NY*U^gKZxyyeh`dQnJh$>&9}$`>hlbe>NC+vsgT~@uzPd*khYuE+YBb1P^+ z&B~4B?NvPyxL5Q9^UFLXYphG_afJuL4E=s0QoMtwS0}3&Z`n;_Gf9+(mfAE_s+h* zS!dAEFtcCKISC6j6$}j5JoFwt_-@9+E*FMG`%9N{Peh?$rtc8;UCXZOslEj7MU%=| zSgHbeeegs>NeHrGT$MY^!)XEH<^$^H`y7JO+vbTor&^>F+-{zWm_DeQL;b;>N^rFr>nHedgDGS+V zoX9u1TPN}879S4IS|SLDNgPg5bI5VkbU>uCvs~T{1HNUp;q$Co9-rHo@oBWFz*!uIv7JJN4{&I(Ic~ z>t`EJ_I8b{h=JLfYX@JX^YvfeH?RC1i(%2m4&0C$x}Udlh*iqejFw81D`tb89*Ih& zGC`$cI%}jrU@cJC`0^1Ujso+~}9s$y#4bh$qK15yK}oL@b|_I|4H1J6^+fe<)yB1$2nnQA^v3stwm`aLyw|>3shpC91ZhfFa`Ua41FjT(W zpzy8qCUywX(!kFAW*fVL3Wyn{2SM|{cngMz@tYe@3}ti@dQ3yXE4G>|(HzyT5hr(9 zKlKMsOUx|o=GE;+__E#nl3MNC?NWWCRYHv}3m4!;ElNsN#gGF^a@FN*>pceQ-X%6j zdQKF9+#s_SHOk62X96U?xwQYF?!=Wg5cwO;rQ!r42OQdkHE@W1An0KpI_T;sD2qJ~J-CHV6 z0?mYV?sKOYY2Skw4B%YVtn6cTug_7Cu|G3}U^cpQ6c_wX?xzBd$3;;(+r-yXAO_bl zbjSr?`HIG4E~`+rg%kGR(i_FWMmIi&So!hAh&Qx;u`zE z@snHq1p}X9Q|dU!`k8uLdSZm{wHe{PGKYIFAh`Ku=K_me*FDK|0UE@WA;FOVjR_r*QFhIiJrT=PY8EYt%8Sf2~JZ^oLbOA zY^Q#FR6l%m#hb1o!euu`f|zQ<8sv&fys3DhhPg0ugxeYL$%lSj!zbwauUbCxb+k_t z58nWPF&+m{4x{!@;gj&}8(G{pG2{_0?V5KinUH<)h~2N>Eo;kwbhZ0%lmI=XfJPVn zQzsK{E=m-)!Tt$}kJ0kNJ%r`DqsYy=`%cN4Qm^!^mt+dv-TDLnsi^zki!6EJO(c|h zZUe3Guv`~}i#=~b{c_-3;mV+GNJ>wlB;khS6bc%_UBy$QEy2K`fqSa>*9cQI{kZ4A zX~IW`U~!JaTOQvz`nz$zy1S$Vt)NvBMSrCj`g@q&&j<5XGwEZowoI~IW;n}2mflE3 zLf4N8mH7o>lno;<<={Y9;gyPe3S7zTCY7{|(5T`Bdm#O?wS&UpFHDxq3JI?oPQ%c; z(_9dq&M-1p)jF~Tkm3=YavLI*y!`yImrg%LLwvFv%WZkx{i4|H^G_btd^|+b%e6Uz zN?9X~3*NQ99iN!N_!qYMx@;glE(5XVpXP`DZeM3pU4=m zcN$bMu2_$o$wm}1lC3l_*d@C}9!IJ2-KV-rWrI5JAX6Yq<=VK?;MYq=>!++voNIk@`u< z#uzqkKQZ#?JN8e~QE`vhr)g&7b-!vR#62}YH_gTG`nAZ!w=5-faqRoQ`Exlv9i;c-@aP`$j{Ub<6nB?dEdr&kH>3|`~_l|*Z3Owif6eQ9K=CA z?l|h@?Ei=xNfZuml}_Cb+h}sdq7!$_2uK4 zK#zQ6t*@A9(aqv*HLey+(QHJ)ET(MQ^vh3Dh)zGHQ*6XI%eSL|Qp|dk*GaoIPNBq< zFoAHGC+pWWQ)GmZ!sad~A8QCk(o{QhNNqkqEEq$}2Xq#?U5VbG!4E=9Jz04Vanhq) zljH(HxfZBY+<)Aui$0e<0ztb8+e;XDF)eOwQ&h?6>IBvBCdxrz&l-|0Xv`xNu_IVO zG1B%`KnJh)qt!0o{h7xS46b3)mX<^>FQG*al_GHuH3IG?~|1Elvb>Y+W9&=>MfL$tvygkDtHs zm^@k?li$4Aj}4uiK9jsXqm~@cye0pL2MdVY7OTO}o}oB7?VUxJ%_U&>NoIRayc1Mp zkGQ-Tw(ID@J}W)u@$iQE0*hK<6OhV+0@2r|C&FVMT9HrzW&|QFpTHd`Z||?9CE)jQ z{bsvB*1WZ8pXM6%LEe)>DT!j);R!`*kJjVzb5Q~9&2@q$%T%$_d1i_Ju2dZ$wFh!) zf$%1>-Tbah7>JshQdOvi0a^#-&+h%@Lo~e1V>PAEQ{dZOzy>Zcj{O^@O|c&eF))p_6cKUb)@RrpqZ=fW8X^L2hk`tI?l%Ch0>IzWhk_JELjY z%}Fc7rV|o#?Wolo!}k7a>0ix?97pc^#FE17wf4yleUhRy6CDfQ`Jta7Ir>*97Krll?<20z>L1FAYg=kw5r$#}Qk)Z3d?h_;z4g(x!?$*p_tvtU&l zxelAe1WG2plwFfFSz{>YCgTm}nSU`e5f)cFf94?-+a@!W&01%bgfx%<_%;IpmVJ>P^%whnktYB=*0VKXmkaAwWV^3yXi`^1 zot3v?PgJ_$BtjH+w6ujac~mfT8!C)y^PcN7z8iaPk8$Jrxjrx{Q!p^I#}O($3bT3y z$ubBN^(dB9k3+W(BZvr>NCj`lw#aYlKe%qY41%!J2Z8W%_b2ilb-$eRsg5oheu?_9 ze1@7THC-);Fz68`q6m0x(0TR-UARbKc|&I*p;qQ8%kQ!NO^-9i0OEq0(fM&8-phbA zyOGY1Xd{kq(N<;TQ({lWcCo551sREyh`LJs+0(HnvB)IYtDu(k;!c$|(DGal5asr& z&@(l>M``$|uqnUXz&T*YgKC3p(pNsTqVjiK*?Et^Dx*!!O#(exPQ zG0cT*AW?9rC`|H>vbIe<{c_k7vD%VpR5^7Snv-@%uSHMA)ruD>snocg_h_(|>b4MC z$|$Lkx#DT`b<_a{SOM*g^IRxYTJJdvsQX;+L>|fY+7B7>I5>(0R!MGux5YQ~e%r|f zQB}O|eE|9aUskSHU|IIOgqmDb4sxY;x0i$gv!|>~H4E_@7Y5aiMXJLRpke(|9>K=v zn(5ZFt6x634)?UC_B2mvjVC8T#&t-6j-o@J=9OaxUsT7*Vsd@5d@Un2M(~WN-tzw{ zpE3zlb+O88f5OnOR;en6;hLN5m8z#Fc$sRl@0p=P%04A`?`p2Qa$8Xg1fvQ*>-1k# zB4A*Gb5)=cIg97_FK1t)<+=;Znkl?QzX(+6f8#-Rwd3iz$_zUwY!eC1J(1BsB7SN> zqApiPFCPg%EcF(K=s%aaphd2-TI^Q1GjmS-L$ ziyEHP=dfH(lCyla`IyDOo%BL-Tk~z!X<^M>9JLUAnjg};FV}OIN>D1=#S`b)LBej6 zPdRpCctpw*VYv9l(HjE?X?N+DcPJT()hQyE{Ot0?`HAe<7gMs4O_jF>N^dtJ0-{)w zuUy*i2NuG^X-f3OVFQf`lcm`cy-zgc1?Fcz`E#0|tqo%)wI(Tf@Mxk+KaJu=7R!t= zDXs{Ba-NyVGcu7@{IB=CM=uOw9gwS`r*mBpWOlg)4s66L;hOF@QWf=k{E6M%WZbiP z&*T2uu-nfBL3o*PO3o!!<7%nuEgs$vc4<9>Ej250m(cxJr39qZMXXE&2*rGs!pot3 zDWis5qo&fX`O1axD2S{ISQRdyeuunrS_3@-1cbU_mEh6>p40ntvnxYQpe3FZ0d}D; zI1v$x4{3Zt^NlAzG3E_PSc)uwIxfDdnLiKRE|joLevOm8J&BZ=ip{#0C2Q7@>@^@I zxTRm_`K|B4ioS8UTer|~S z_17(7F)6=W*1}>I0Wj>Wzom4cWwbXc$G^TjexYo=(Rd->i#&Lw@d1JTp{ox!dVx`K zX71?*BN@nD9v&6e3(S~eRG=3;FGF8iTWF|xgaR)DUO+wQm#0`t`8*N$ueY@ z*DH}N@UHtkxwV9H=^K5CMt|~fj`2kyr*^+1P`UL&#(&7dDQGF*U@jY$qc%HWs`eBI ztm2w>zb&E}1ST*pG;5BmePypw27caGj9+6%VmA3pI(bzi~9) zc==3^=ft;O55q7V$S`PuWKH}gEUX7pqjVOrN{7J*ejx;3Ih=mjNF$e`gT zpQQZU+SkTL3iE|zj!~atM#zZmhutd@5>HABH8`Haj#Hr&Td+x(d5__+8l+TCK!J@G%>GH3b5qCyrzU!E=!3` z^L4w#i#1tq@^aqed5LZc&{QeN#e?O;KI5`DdRw!S*xjhwC5~1T@f*K>v-g&iDTwXd z$D!ZWb%4QL`IEI6?`4MA7yIX_|4H!riNYPFWWn?*y!aYE<^`=W_^N_0ASTGAh!@m^r-L&;>+P#V< z)y3(qYz2>fPW#yk@)@giadNJ4_nw{hi}r$h8S5bI!A z@RtOdE)r}IR)8=QCkrav;`6!KRprm6_x0&y|C};NvFcHiM(kee^bi3qVWxHqY^u8IdZo9rnO|tidT4()YMkIO9?Ny^=P)-&#DC zmuLA~Rr9DUL31uDGrA`56tr4<&1#!XzI#T$=zXr14#3_1`s-j`g_;RU;C9F8RNMsp z+3)^^wcWsS|A)Q6;Np%oFNm08ZX^){;LXNLfMF2ZKm|vDA@0oy`a)@|UTGm8l&ws# zQXKWVBv@eug$7lbj!|fr$Nq~_wyNW~e*Ica1vjq`vv6d0g&>A@7P(g_kQhvY)20s? zISGu#k%`kEcXhl5t=+5Q6uW5}HTPgs{5bQ8O}GDU3Ryiv3if{gp_i8ZFARe&&!f zZfB#Be{0zG&!_h-&@zbwnJz|AG0kU+nTY_3dOxCC_M62Z6rE$w7LAJVe#%N(RlvQd z((#jvp0k!#sOtlj1&MU6kr~B!g-FW^p5IHb}6!DPL4X=1T#Jhfs}+ zeVPXg!%C?-o0RB-aTuy{e0=V#_O7mCwj9W#FhkX*OAn^+L8LL3Z(G*-!`{)>tg--f zzbjERliD0%1X$p*39@c-1_q_|Ca|=n@fP2{alsSASyNffCwbOUm#E=TCyhrH5< zMOEmnP7T@KDf2-&Y2GLYO<1l#BL}EG86b!|N82X@a%4Dy?qQL;bl6749v$!7PNMD{ zeaYut)EobUI4f7R46}%NPvgr{$%7_638U+q;s3eOv9~ewDq0BaGIWG1s{7G(|1!kN zTEJ5Q0SfUZVNtcumGFvmIbo}KT5V=v&Oj%h(p4eTO);It+Lo@UiB!?aYYG13NK0kK zggkYULv_)3aq~+|h;hiC+Ca|`oV8YP-r49`%(45J)<|HmU%7Ii8Z0Ag78>)YXo?`o zwl2OcMF>iD+B(*hlq&5*a;uOQ8aawx%RrAd-Zdm-5KTur1wqz^3>f*|9`V*&>zyZ6 zP{Md&9wz&xUz(ruT-W4DKRnW!Pch+olWTY5E`}8|rJU`4>rU^Z=mYG7y%8TDW5!_5 zi+WVPNn z`9wb7pU?N@^S$}}_Iy5`&&PO*PSv0fk|Red8l-0k9& zZU-V;_V=?J*z<_VMfgvyn&cpcek`<9Bss0EWn0GMV~r-K@bU9@>%rqCU9^{q9+wNT ze435vKDdVcl}EeAN8T3TIbE+g7Qa^ z08uI2w?l2ew5pO%CROUwU|D|C2TqlCKY4=ICxg}}3$0&hX|rD;KPiVFmG=`%3d4US1sEIl5QkCwr-c;Qw=V zO=%*Yz9mNMw^ycVJT4e=#UU`%gF$f&DDH=+&}WJ8RK}C^hKWk5EGW5go`knVy?%eP z9K@q2RKAzZa=0T&>R?={^y39OFuYfXB1tYSh+!%|O8Qui?<1o^8HH;5l|S}Jf$Go> z33@^ec|95{FRK9?N$Qk9jPY@Uo*1X;C&RX1D*{MmsY&ETorS>Sl~^O*7ucc!VjXuU z)KiVFfMR9CjxhA_l|s>Z-$N(pjMIaqy{BrjGTtSCyH&rb>+g-Ozb77&fHH7Sm4UlY z$^fTXPsl(J15#$RG*;E;K4@7}w=FZ@FyV(F?zK+4H>_(wT!6kO#0s8|t&EY%Ts7jZ zp#Dlc-V~4H!22YER?JECI7$i#9l5QdOHvrCp6dan5audWG!A+z4SlJ5gqoAReIcEi zzo(iGK^lg0zbi0BkZ24CaAV|+^!u)GX_YFM*6aYtVES`x4&Q~1ydoS8@2@!LIY)Hc z!4oASz1*$Jp{BTlt7z)e8)#vKrgFCv_2+OIv@yZ1oCGTb(o11Qe7MAeQrc~W2t(af zLL!uC25l5SGK<{M0KUJR<1>dOKQPWf@=>428TrJh_jA#?osc>lZ7skWwq(^Kg{VuHz zxjdd&UbKl|;JLgZq1p|M7kx-PsycGq@2F9{Jxx_Jh^AF)Otqp#2R+TNUppui?nk}* z1M2o0ZPe=>VJFAJEeKe-7dUzI(vMP+=iL~|i+Id~i5l>;0H+lGnugpgN0TOd=IC5m zGcZ%iQ2N7masKXRjD;=i0SkWR5fJQcHakJ7y{B{Tq64aps|rhi=1SeXF-8JY|H7*Q zLKnXpOJ+f1#;}So2*6D5eqYv|$&l!Ye#L4QyD4AZC6yfx^OJIzx1(`SdH_5Tlgf#h z*9AK_1%KmVuw7dwI63x2BtWZQkrERC8{b%;e2$agb#*c-xrIxy9=KYUf(50ja0ecR z>6NT(2DkkFSg(Ycm1u}GnNQTEEYW^mED%R<|TcoGI|jItr@bb{kxw1tHLF3s0ge|;x3=)u;<4iHx`NajU)2H z%kmTT6y|?B89y@q#yo1tYT`JT8OIS387p$F5G-cbXCV8TiVd;D+sb!@y9IfjPTF@m ze_7X}W|NI~52wPDtj)%Xp7K;UShjxW=*#7crOIb6dqnRvJQE+3>i)?oF-e;1mQ4(9 zcV3Tn(eyIN`?>J@C;eQQ0KpB2Npdh|u~cJO2r2769RZVRN|Q%eku7L@Q$wzaJ+_Tr z{=^@%ak3ieky^r3`Qp;3{ThYyV=gtHpal)Qo-Myi$KfC9KH{&i6qxwr#_Q^9`FM+} zP?zqOocalkV3PeKiAIeSd~n)xhZydFJ77^)p%H~{LH}0`y30#A5p#a^%fyBxiRH`t z>jG&iAJ8%NDc^zE3U1QZ&1hf^m8hNJo~oAHYO2^w^p)4Z`n}SUmx%LwQB}~XN!q32 z$t|!5?EsHLQf|#4Rg&lRPuheWG%Y$G9W3szS3z0tqw=>RV5NElDMP3xV$c*oBTuKO zAOoqQ#R`5ld~h24?)fN?6+GOh6uT-OL94j|1R42dwDdbQ#aoTIZTvyAU4Av_zZ+pL z#r{uh8l8za!d3nRH!)3k#M@TLkpo)`kKG;jG+B-t&v=%3r-2HZ{M>36Xjl`{XACr- zFqD?y>}_oqY;2CrNPdNI^vsKr-Dff+8rU3@o2Q@YTTSWejK$5O4dbp{B><%i2FI9m z|EZfKWyCM2=v|nzG>dt>iI*qVsEvbOiLvbm9bdXO)+Sa3#lseaRtmH^x|Re9O8+88)N?h# zDvf;qnlY5~tSC_W?WKVh{{G7;}P{O{j;D zj$_*izN`EBSqC9R#|yYp#Z>qe1Yu}xWWAsKdZH^KZOtXTJag7r< zsY|kgHP4Gkxh5xQ^!6Wy5-y+f49PK}e0`3B?r;5&CW_r0m(>n&#)mTbeHr|DBbm|g zj(Z5+kKOyf}^vQG(FQck8MOq<+w~ zG*r$Sc%$1qp^$22eq=gM?Wv%l@4}Wn!xqom=B}{GJ6_DA=f*`}RSkAo;~OX1 zg~HW?a?;1%(@ouo^kkASx;lvzW_(nK5CJ< zUZz#@MJSaL<-69kAV^aA7)y-6h>?D>{YcF^_05loF+C*@zNscjj65+Ec1>mM>Cdnj(0Qo zSm1Rps_k0M1-#VDptr|!qB;SUlN99wblKRRFicLrBHCP;i_2efa`TPJRi2yV23W*fg%>dzf&M zUxLKV?q7-Okl4mA4Qf38RPyOMTdp;?wHFe-N6Dj#R!F}r`w9N94ZZT4OygL;WP&Bvo~YK0sUR(Mm<*2sM`P{ca%?T< z`GgHFjpk*B^+l`EJJM?Qq4*t8MGx}kdC^SD*_da|q6ipP0jkF5NlshO;(m6qk*Qeg`_g<(>&lTV^$7+_f@mi`Nq%s?|V0k_{BJ9m@r@VYkBQj zUL8SjM(&%orS*AjCf?UdW}6E=$^{AE8|9oB$Tv40zl}gnbo7)u#Vl+Rj2y6xw2RAW z##w=u9d}FV97^cVwEH~|5WR~X#>K%7pi86zM*LAj%`LaY3r(3Mus@@2cPq2W*qZ{m z+Uwzs<}{m%d1F4k<;i5c`et#Gy)Q-^6CID!DULkt)78^Hl+4pU{Bo7TRl;*ZO?&!7 zF?jm&X-rC^0oh`LE0tS0KDFL=zpl9$c-gp#iqIVKpzAO5pp!51K(ib}OS7xv5Pd;y zc19TE8leWe>`RIm_SLzeV9q7%2hg9ZS2wsI>Fw1G)Oer;0lC=JGmpnCY0)0>MY}ox zII9Dx59+*KA$4gbS1=oFt(dD__r<{tZK+z)Ux{?< zM66^nQs>LEXWC|}-0mQsN+`$9j8i1m=LiVzxGYAJfk`LLp-+i^C-lC#RtIa@ga z5ny)$aDmipY|rl&g32dej&pL+)~-vi>lU1(4hb)PT#DL9a0S~Xuue}#y@ldr#z=G; zK0G=1WSkE!6;JC5pUb*LpNH+RBMurdF1bm5)-O9l-VELBr~c?1jo-FldRg}{P#j3! zYSuM^>Q+#fvGt%8KaMr^Dg5(X70S_I1PHTn@y@cqmD{$P=S8u!{cRyy8nJDd-oNp=hHE-BG7+*v90~O5LHHAg7P);a7{^5R;1#wF!L$B~ zpKs}9V4}fEyj71~PXGbgRgnWIEhfuO#(`$p%8fV)zMS^h;cVzpR`Uu9Ti7{cy+M)N zk4UxY-ISkK5f!fv7$)w6>`}NbeBf;djc+h>6Otp>c{pYY;IbQ zrW+aUe@pcPvi?OG2S$!}x);?TBOKg_-@C4I*TFQAu(vV1Hp1+es|Wk3D5yln{o~{; z8Dp81GwhBfguL_fXyaF#e!baffEhF^q)N6joC$k)y$=z4Y7y1gRf{~Zx>TBP3FJ>X zh8O5Kz3JsJX_0<|5@5Iy-l58~J@si4JREeqql+7`ZG9@f17Q-0)KwST@bg4~l(>*% z2BN%=v&suRE!QZJlsvI-AU5kdg0kmKZQ4DkzrK7hw(jZ27MvY;G0c0_bIj$X5>R*Y zVz6@7#)z7po*VmDsKf5x#EhzUls+(R7dbzlrHKWz@l!(8@Y?32d;z0|QFgA2B1)-O z;y1$n@P85WB2#<){28(FG_dnFgl8BU*+dW_?6ggzU&AFz=^{`$2YQV$r#Z=*vv-v^ z*Pq~qe$Br4-P*^RCCo2vx%Q9zLQUW%;NHi4YIUPtiGyr6x89VfUk>`9#t_lmM9= zNB+#ZKas3LGRa__$%W10*RD;62vQ4EBQv`;uM{TAD>vIp+I66{HS}GFybIM$5T^1y zstR*tdvK_E6+q|5dLYBPH93@~C6Q4W+tX#5KZ1mnf$%z|)q9$)Q$vTa3zZl`9 zq!{7yT8yyX!w6&eUZ@A-KX|U!6gTN2`cz#ET{3(yT5tUqCO}TtncwZsWY}EZy?d*=0?;O?f0;@TxCXK@Z?pQM;UiHs<+5I&U@G|+ z-+_eXF?))%_u)l<-|#-XLNHaJ80gDtTH$ovOGkZ+oP(AEyIBA)n38+VojAPu(gT$# zKzi=h+i>(&L6*plKDidxw6r+_qcz9nT8Y#05{CQZd^^S}h*~6&+5P&<8-34P))sxG z{?+J$Z@K$ww{^aiQHi}Yjq4j~FB`j9UNj2OyjqS_c~MP~jGtmErm0M$0}GKVr!dl> zM!j$~$oOIXSik=8rD?hShWAQW!K)`|_6E&WLbe#O3Ngzk@jQDrNXbBuxHI0~Sf~hP z7QG>b$?I;J*YZ2>I@FB80=aM3YhQDS5S%!Q-wxQvhq1?jX~$H^w4;}0+Ob&DEVD2p zagCIW|CDxw{pZ&V7oZJC>_(T8v%`S1UBDp349$N5uxB-hP6pP@%0hftA+T)IGyN<& zOsX+=#ZLy#OADLSPaJYw-qBrExAazB6D_mCG9bnBbT)0_x@lriwip~gsx?I7-z=f-hEZ5JNZg| z%<5z+bDvX5#S-CKt)v!%l0aQCD6R=YIAYiz5!-lA!;qW#^fa$91b5?LStsZvQn;D= znriayk%PQ=TPbP?<;+l*=fDF6bjPN$B6!&4_vsBx!*Bv~zJP2a#LU=B5=L%>>iLX!L-r;F^-Qx{u0_bmyu?C@}rGacy)WK{V>=6T8hjJ%IA=^Lclb2nx)Rqs-G< zNs)e$nODQhub&2XZxcyjqKDRb`lz7*1wL5SBq%p)_k~ zQLh>Q#cSFLqGIU-<#>#!W2%lq@GpnpAHfYp)Xn09c+gVSe$ncHiEqB32zRp(BU_0S zjssqY5}Rn)p)z*UlNcldyhyfo2> z>2Zju!X(Ms&)2`>3axW&`0 zjO7;#v18jtstpAEpg}0vUWl#BhnFl1ycc4@U#>D6?63^1S-21REEEt39Hl}Z4x}ym z9qwg&tqcV$k!u!3F2H4@oq3ZI0Pahms;ioXR5+~f3fazB5e28I(~}OmFDtJTia@)5 z-ux9+1;G3|sshOr6HquaQ_OHrV)=z3#dio*xq>m!t93<l%WrQB!u9V*?&zi-naW@vk=wJcuhw9eP>~%W=!3(D9bzE1uDI-|u z;csyIh}B;mAH6X3cc2(=aCZ7sx#+z*6PwHYJc#JKV6(P;=@Eu?QAi`WE?ItVxK2CRjIhJB!m&QjE^uu`igZT2 zLk~C5h|_BqHEHquDWKNNcN#Qh0gZ;_H}!!P0o4%$V+Dk!jmcnspvZ2;|OM{k` zaz-{*OUv>S3euv;1X5eML)US*22~DU2A?JS8#l!!xncY;dQ>*Cj>@!Fm1vTxJat|7 zb`2ovi4-a6xJ{<7apR|l^QW7S=8<>Z_w)C`C`9sBW(6?_MUjSH2orvT#y-AcQ1{w# z8Jqa3Zd?G@`I(V)OV5#%C5@7fpx$mz7=a9(f|L#RcaXu7=lwAZcwtk2SB_%RHLAfP zoAHt@PYLyX%7I2`KQbVVa3+P|jLIHx8!%ob-(Hbo;4>&v47zF<#lUA<^!X}XHOz&( z2da%HFcQ?aNh%dj@uzBZX?ei-7V(*G@rM=oWvNfeBpe^MW*orVXpGqMAcQK89xY$R z)@ywGC8~Q->kHl(lZ6Ajm*rFiBdo203y59LRp<`&!0wBYb$HM}XfzDHx_k{=2fjyp z8R01@%n0PYnLW&q19NYd1DRQ21Y0`I>rVzn8lS(SCHjLysS3)1dT^-buE#y>1_6U9 z@+Hlh{m7l9Eb7*zNKqc*ie<7V7^XD z&3rKeS5@X!GG`xp?V?^0{g@lzP=z60d(h9X(_fqQuDAhTSCMoUMjt{ju>S14dE?m? zTISOC_ygkk37U-G9nHX`A4H7tFi`4rMS{gLcg#%zp!uqbVuqK8fl`YJ2rUrB(rOV$ zGmMX{5WY|hV;$>?0$=M5>JtscsL+89QskUrV{^QITZ5feXxP$#KFC9YF@!tf)s^~Q zppg&{`1S5Fn*&UK*`2oW2n+r)8yS>Qk4LfPp1h+1GLll4FJtC%cR&?k;;_GD1O1N zGgg!ZHhFv=04iHNkaV*XUE@TnHjx{6R3EN0u5x_1SeY%F@i)i=Rv9@n_>wLz2&(|U z_6R99w8Tzb}k z>!&c}8j*!|2`d}7lWhA>ZADkF;unrag$C4WQy_dhV_tr%>_qH&r!x!uE-2H9GniQF zM$FX>@r$!9kB7}<*`YX$xR6^{m)|x(N?LVO(_2lXkgZ=J^|R2m{Pw=Qw_Ejbr+;{+ z_t=QGo=I`GZNubBdCAIqeWd@OKyQ_47tW?FmzxrXRLzTDGE%zS0P7_I#{%ksuquNd z#3w6rUJ|HLaz=bq#p1g%ip7sN)==+Q8xdp85Q0=0B;#4n6n~#yseXepRt!x!@9JN^PYOE7?MZv5Wa z!H6Dk1BDPH+T552H)cF&9V@iCyLi^{MRcQ}^w1gtaP&BrfEKDq;3CVwz_*E0=$R-J zRI44GJ7T)h(XKB~_(oAkQSX|c+1*Z1cNZN>#V*)|n#@VAt&(@ll8-dI598ZQCZ zOB9;&5kV?QQy0@MvbIXMO469Gqh6IOYZm?E;z?r}&!>%jN~}Oxv^iGe_62u5V;m&Z z0DyQ~+I6xu!eR8W8`lK(1DZ@VyOGfZu%t%ct+dHRRa2Cw6bripws_IPt`i*Pw(?td zy4DUURl|MRVx39?b#03~y*MW(NC43<+2Nbf;n|5ESAqNgGj?Tv!J6Ei+%xXA7zf0( zoO6DCw`_9)J~Nsv{`nUuYYfvrRtNs+YCQ&Iw!In`1Ft3*yjKKa`spC<@f@}ndjP)(wd z;eA4D(Fw$tXhZ2DSLYrWMkB3>3Q<_lD|v3om^j0HM!bK~v-@D1knHoP|Tw%G0f zTX?V#v!~MTyX4tJb3ZGG=0|QDIdg*_jk&=TagP3<$x?wFh-QiQ+mX zepL?Tr##TYiZKItBw6$DOJ=geh+ws;D!`{xi~L_}XDP zJoSE8<;wY#1CC^pThl9)@A%@;N^!nw%;b!+qtpy+fXIdKm<6Z)!M&}^` zMV+pUp8f8}6GtC`ryYNFfa8`!#6)`A;(GV~(?-Q`4PoF%t1nXiqvvB3U|tytv^2wz zif&69)CYE!$@4g5+q#t{pk$}R{LM{2z=T^iz)Gmnp;fB&{ubtG_dROU1*%8XN|Zo! z2HPOOHy_b!8Oin>A;Rf@}Ox zxR=0~$+Jd?+Gu;~f^1R6dgti1imhoGU1?ZB0R|O)-KbgRI$>SJkPzo8=-(hnzDfS< zoqfwnk2V4t0hPBJMYWE*(XS7r(_P9bNy;1)`pMl4akb10&Vq(cz|G9u2lbSgFV`NZ zAL58b3No5S3Lz6L;^Q)Y!Et#&gT~l)JQG(pv$$~J%}s+^bf*ioXh_Kv2$%lg@0e7- z40v^E_D=Q`LTf?}Ge5__b8iEnMl$6|wLPJC70zohMW@Z14iPH7$JhNUNy+OZ7|wCy zuwHK#*x?0-Jr0+Di~CPl5+Uh8!arCNd2(p6&ZK5M^LZ&}3EQ$anNpBJH>#|(cMSBgRbx;jAcE7OBg>iWbeT1z0s^m+)O8vuFUxk z6c;ALG?Z)4G`%Q=|K!S5zD>oqxNN|EL%y(d9~Pkuvv|jpM~nm6A|+jSetDtS=H31- zx}y6@l>}!{uvu}iaY6)fea>^bArbBglSHW0(nEZ(hv*EEGtW(xYEAZUHW6E`)()I0 zHWJBiIN-sIb3goxlo|zjM7Dc?lquQ93thqjWPgGHyw4j0nXKa-alIk~c-V^7q zwR=eq$4VKjN1}rKopz}LSJ73w1c1)q^YGfBYa7_4VWoAcvNoD_xpZhcCh}c)#P!TM=rxSH zrJ;)v=qA!N$anMUQT)jtX>fibju-uSP!N?q)>joCcPnD(HFboF&+j3^gS{M zWgbh3W)i#Ru&T&LiX_WroB!nE@)fsfE4K8Ph-XUNsQV#}SSg~K;xTNMzjR3g4$?vV zi9YUrQqoWnsdqL@M{mVR0TZbbn;vuslf=+wuG56rG7wXV5`uzd|4r|LGm$$h{joDU z8#9Qr5qmltGl;X=u(3%V7pbiCILn;I6zdnNN=^^IrXb;w9na-r8}Dt_>!{vwtmZz(~73zdy#JZop86t8p3q86hS=Sjni$qrd?m)j0mz6AtZk`RS(~y+$hl z(I1ECx-Whda!0hcw2AJ_YM1}KihxXH~bkuz?Nl;hQ*+SZVpVIs(Ng3dQG5GEE zzUObfXabA1FuKYyw@;~cw2R~e3GUVjn7tD)I&3_|vo(OxfCJU61ylFc z&{ZgFcj^pDsP>OoQ;BXFWDbbjT>R{@G9w)!6CKsMV9(qrmG%#vrqOA>0<9ReNYEb|KqlykugL-zFwJ`9j zc$0<$Q=1GKC*)fVUbu8vE9em_+Q4jrLGvr2Tj`I~q?xNVN=b3kQ?h#vAtxwfX(c~i zek(XWX(B@(ZIbcV&WYHT3>^}z-O@S!!sZGQZHsNj;4*zcFdxO~%4^AGGX#!XfRw#drB zC81(tNXp$NUrT`#YWdnlWmRDtM~@&yrV7A&(k|8m1(Gny5DP8{QQ=<206&efL26VK zD+0Ry#rRa$MiEK&03wIhO|M?+ig-X=5|;JHJ6?V>D%|Z|!4|EgM|N~CrCOywYC`g` zywi3|MGPE1VbepG^Bo429*7RvF@$faX?^~mY(i8RU&q9To7FM1M7X3Qw6TlW5~m-j z-jRD)PeN^xSg&`nJ^)+RyD)jMzFrXAmZnUWh5?%Kkhv{w6+mi9`NcAges6BPG9>@Z z7c`mn{MWNv{b9bVC9sSeNft7r(C^q#Z zzr5$cbL)(v{*ZhK7X-m@GW?HLCT0T{=@5U1fpWmZ6Epf-vod=sDDUuJcQNkNj5j00 zPqM;i_#8G*ZW+nx>BDioBw)tJcdLvH`vVHYZ0|9p(52Rb$g1T5qCe zSx7xa@^<&X28|-dS)QBhNd4<|78g*}X2Y#AjvJ(6t@if+xO>wDYgFhXk9cBbl_QLh zRahTA(%=&t8!jH?fKxHjmxu^-=?%l{WmJrboC$4xmi!U;(SQZOfq)(=K$M|_*z{9! zgMryORg<&CT{vY~*zew>HX)lvDmgCeXgMiVy5-x1Ed(ipnPYOau@dD!Pj*1JhkI1?!g%KB;YbaPUSvC0s^&y4ip!3HXy~w*z$`52 zFcXv`J4m}#>FBQujuE;v8_l$ouI{QjdE=i=d&iqe>VQiOV~uqUW5)WN2V;FkX^kD; zpkvoFo6;U@+qzVX>SE?xo18$cY*kfWB@-b%McNjpNL$9uil~+4W7VP$8Ce)1+4jMr zrp*O?xQkx%u=I=zICaE##E9HUWyAO6i$u%^S{S5C5c17d3oAXeFu!J&O~JrMWhkwC z#sk#?uLQ^SDha(E$PG-lL&3lfxFULIS_r4Fj#0c;k)kQ(wq(y~M%@Qgdn%fTJ_?$> zJtO3Ej#v|BMyANE{49+vGd-F8!J78(PkJH4><>IIVhb_9x924X3?Bq9Abl`dcZ*fT z{=+}%#mWsK(StCab;$A>LssmrFm)duL@IGGP?eJ3bqF7<3>i?YU1S(nG_LZLswSat z6K<8aLrTilm(wT#vJ$PH5Mi-VriUK%1knAc{<;Cbzc4?AailSV^AH;|^(&o+52k89 zQ)|S%{?{wckwyX~!>#u6FQuhHwC;<~#p3$?sFWc1g zu1zuhzF1`I+nTAH)(Y0=%!jUxW{!>=@F14D#{(Yk@<7NIJm|(b4Bj11-A= zqAmH80*v5>_KWb=r4C7BL<+H^Ali8r0#mhqcqMKX2LYJK2b{q0`Cuv~V7tp+)~J$Itdq1RI`CYYXE>6+%u z+wOiW1Rye$N~D1$Xnvg7?enQ-yxpEPDK^B>4{p-*4jDRQX(ivW*`@m#$y0t|eTVI~ z`4vb_3{ky1bT8!dOT>%wYieAXA3KNLjMDn`u!{{D0-A?ifHgnroCDxezTU)38cr4+ zvl;_)#Z5Jy$WOIP=O*}Ijd(zzJu+#lv30by!{3Ap54*GUwt`4Eg>4VS2 znL^9GI;;sF#+wr1pkNE1C*lPXzUFziPl5?TqlM3-hMbV#%`RS>q6?WP%XnCZR`aaE z9G_8Tn#a>|{3_kWPj7b&O7!zTrz%M#8SYYsGrzOKDT`rvzOnHJEbch~1X5PA6wYyx z^I&Ni*xCartFx)B&dMSl#&X6156_>yoUz9n196uJ%4)%bH48b)@oQhY%4vJoFU{WJ z>kqeQXGPT9EChP)A`J@zhgziE)Jc`gKG& ze0HFIF5N=?Xn@mIG!dJC_31t&`uUXK|No9TJljNDwDK{KmLr%2(=PKsS}yXyv`K`J z7KsqjLQjZkM~cGu*Pc6BvLwFB1p3!*jDWatgq->E+O8DOhQhA3bVjcK*8&Ml@R1C^wrS5z?VX%SkAnTEhhf%tX>s^N4x*iNn%x0E|U zVVLiXt--R~z-YyjN6XB<`laoHhFYm$ zit*R&*7#yp=y7MN_E;bb+g73eB~|{&)eEEL`d@jSI$Fm%_bWr&={2sOtWiG0L^egltMYZTJ1&B70z+DHcyVJH2H%tlcInGxY^&;&|n(xBIL*EEKnUR_{F`!JMCZ zd&~BN%k8hndJF@m(KNT!PKbz@Zv0&1W8993)XKP(o|KvWd5bLCP1^&IQv3l{YZwao z;$;L&aalP4$ODH?vr{fN!_eEh3QM`!X<9SV&1#k}W!Tmsfw)rj+ixVJe=V3J8fUPg zIJEF%%&n(@NU9F~=_#;&u$uEACReu^12UJL*N+*uVEmERxjYuPs>e1ohtD)qZ`|>5 zIviv7W(+TdZD<2dRI11Feuv(z3?oIO&7v+KTE6tdZ@s2n!0bkUM{H@B!(s4f z(_WzSM#%WNQg2^}Dg-Mh`4p?L~}l?7|DZw-*RB%t7zesv!S zH;H(ga`+5Yf-J}7bdopk4D((C;?Q-p^`WvAZ;QCFRxBziZMLJ}A~)L&tzq;bn@xU9 zd+v0-nOdLUsw!wW;Co{tt@n5_EZ(*Y_7x$%!yghL^cuvY_kb9=x{3X z9J_jPO@a*;PHpJ#avxx_XO}q|c>ISXRsxrQq^L=p$UzQeF9>0&NdlaeYsmRc7x_%Z zjzSg}SU*rm&@eu(WP0)p0V*T*x(8V2NrhZ$!27N;hg?>hSMn^^ieD_GvwI8Ipl!Agqusu&F`DNKOj81WzQVa~(GJAOn$JiWD7xhRUC&$?7V zMr${8yskPnl2q2OHPR-rIWr1gzPW(U5S2RArn(lB`_lAe{OS8ONs8avRK_Uq&eF2C zWEONQS}05s0%>S@5-gP~sX9TrzchPbwDAW+r((chhpjv-k=B6EQV;3U;}6?0W|QrN z2oqy7H`%JKIIHZ%u+O?g9cum%cV|z$saC%1a8qq@ck2L8Z+}{(&|gz4Xf@*-DG=q^ zfyr?9lOC1*R!Af4QV~RI()#W{yP_-y(!h4Gh>Ck%Z8z4{4!|N6xh4k8;{n5i<=CSt zCt@_KY(UH#mH?^@e_O-h%^4m|?j0haqwd_R3=-r#xPwlVOh;C`_liHarok zV}TOUk=NEA$WoOd4we*bIJU1I%*3 znUbQKb=|2BfGcrcL|lv4yt~WvgSpr&VI(icpcRGTZuwssubjadjNo2HF15*w8W<3v zUhK?F!r*)OZ7y-O`*EDW+9j<)gpGee#+P8A-X`r^NGmzcEA8<>Z@lmkg zp^-zs!G6uOf$}JA6w|K`71JQTr`fASod?|_KOTP$4_@A#qCiXza6jc|!bHMU`o$av zjR=7Hn|E#_IT6TH04Q?lV2`^fxSru#E)SJj%}I{umUd}9e@aj!Tj*n|(EUPMh_kH% z`oYE;;qMOgk2KEUgoAo0Z#&*~6Wnp_DA=Xr*6<+uzDxM+82u*>Hb}Yxm%sStjo)SX z!6J}x>CP{P4)xI4S|X})twM{#C84P3(RXkf;_`_n)_o|1g^WBuk&8t2oI@fmg5;qE zP7C;6Z=Y7at2%C72l?~3CaM{!mOR*j!_&gTg=E{`mAlC7bxgAiFMH&#i3NO|Mv{-C z-0hqeuauDz5lEi!F6ARl%D_QE7z2e<@f>D2vzi;%xy>qvd^9qx?@A z0b!=U+UU@L;MnQx6=Y@IXJU>J9%J`ey#+x;5sMBEx~_Ir>iqwupLOWsTY1ApL5GSaa~P zb{PGRd><)WVY2hS)jj5I%)%UmM_zSu2K;P~6v5AditN|sg01MH!dC0Eox)a4d&q29 z6Zw|Dd!>I|w6L8Q*dD@!3U#K-7q+9DEAf$!2x}8Bnhjja<&LBW5NnM$!S=nVH|VVE zbu>a8QxW~?x>v<9yGLS}z=L6-Y%9yi=$A7mtqA_Lf!{rDhaG(+R%ukNU%hlKw^B=n z5pub~{uTyw4_4+*YdPcCV*U3eA4+ytU`fxj;_O;PuOmw?cPZ3>(THlEzZOXGN`AuX= zPJjt5p{9hIEp0;_Dj_yPP^J6z9GF3~W^Xi%U2Sf&<`KMl>4F_Q`WLQ$P)DEUU#_!tlTVGP(YAwF2N9e4~2HG!O=wbl* zz&H$y`t-@EBm98nBc$6a`Bu4n)r-Mxh-qN&8`Sv|9ft4VC=a1K0Om6;#MiV}FI(O7 zF&WsFA1>APy_!4d=Lx^z<+Hs4yEa~NvfctdoUAwVfKLwu_P1D(vwh&cI0|>D>K2jgf)7@%N8XFzAUPbXhU%~%tN#k0z{7g z9Ld-UHjQlsb=hI2=RgG5cZN^i$- z{x6N=%h&#(qFYL4_szjAD)#4Ry{0u?e)Q=_3D^0@t#PS zB1#sqF3rR|-s+sXux%MOs}1>r;=c zochItTdo2MPacX@-)4y*vPxxDs0{Ii9^@QRlb8sn-OFKd*f$Z#m;+D->)8F0^o_AV zbgw*#1OCL&u^!C4PVA^w-Sp0KyZfJ{W-jnb$H~Rw7u*hhw_!plMBm{IRNUXaiO4bHdO*+NX^5RXzyV{FE zrnleDmwQXEh$|&Gx&Cr=G&qE+cVd8WLAGP&q|Mu9#ew0}!qov4*X33(Cb#BBEvj#` zcrg+}-YuRtp;a*3IzP>R-yzZKT_L*cy0)ryz(}P|?9~15dTWJKGMJ$BF&z2vo5ku( zp^^9MX)wotVkhDCNmi6w=0+}A_AL%VI;8Zc{z{nZ~C% zEw6RnH3%;MgV*-RKf|)rxfB~bQ<>RwGQ#)p0Q=oM2;$tuWBSI?SMwl<^ClkbKR%wF zQ_mmrb`C3n5QUJ-(v_sm*||GMU#(4}f}tR4zWZcI&QXQhQuE$MQpVx+(<`WfBg-3(UuT3Bw8iZ671t+vf z#$Fid47!|yb22X1YMAjHzsZoA1Op6O=aQ)WS=aP~Q{AryPv!yZ0FZO$y8DUHM1Ub^ zH)E*5prLGGg^@|S++K9|IjNZkw1GfP>c4z2lLACGZ~pZim2n%NlJo_$+#h>F#~->{ zC&l$LI1jv>4iBj>7N0()(Ba)1})0>lE;EJHQszI`WrBEq!-vt_Erc)X8 zCK{xIo!WHOJ>9p+K4XlOrQ^FAn;pQVPGEGgMOzZ}A568p*H3R6gR9GJGA?9ijV!@_ z=~s+jC-*12M1xg@sPO*fzaK6ngk+io#a}0j1X0_5l}S*IMH%!eECRUip#ghnnp`E7 zNAX6(%Z$iXDOJW&;a>r{Ci63YT~1MC)F<^0f(M;!>QwV!n{&CfrMNfbH>rg8-TM0s z#?<0B<)pn%Z>Ftw(fVz7k-{^mou-ffoq8$>)8-f}0lnW{KBy8-1}Px}RWJNM?7a<; zrq@;9`F{0G%iXpgnFiYS1l}3CQZ2a^_a<6F-<9XlI&u4Jx}V- zN*v9SEk*@LS&`}$tjnZp)Fu9yuX#hRy*NzuNT+<*k29dO=VG}NK$ogw3@>tf&AD`z z)+-c%c>LAUEW}7cJ$S{`B-Yaek+9w!(Lubct_srmSV|h021P&iEd5xuP=JIJP5wSf ze8b@RQ^%`uS~qrZCi=<{(P@fEL%-=js=LE0c6K__7TJq<;#F+%oAfu%`(|44m7xTL zg%x-$8!tnxt6evEz6^#aEj_oK$qg?Dlr2 z;TRGXAlP%?|NP9gs6F#|Kdy3w@%rgVWZRsMZroJZtNrKK(;Q9-4*~j4kz6k2Q)vD* zH95(fYD%Vj@y7%JIa!pOJTPM1c^TpihMAK1$0BZHklvM;W9yagcUU_lYN%KH?DwPu z=|)v4z7V|;-mGSDwg7ywk7 z5MsO0F(=(Si<-1AvY805X{>M3;7AmyHiI&pM56EbuwwQb>{xZcO1rQNgqA-)a|QnO ztaL^y7}^Ms-n_}}YYCNu}QZYd=fqcuk{fxxCAz15nV-=ENI?HegznuA&gC3 zEw#HL3_pP84bq!$(qA8@je91&sADcjVDiTjWuVTfxZag)+AocXZq9BE120QV>;JLw zWd=(oaNsWom1LK=n@hV zr*O!9S){=)6--8>-y%sX6t`?Y%~VVvnEK;A1HH(&=NX5R^T%>>sSRc2IZ7&@*Dg(O z;A{6LKV<;*PA`A4vK!!+T~mZaTY&Ug`+t~TY%a-eP&f!XED8s~X+Y$K4+Kbi_!kdF zjE!&8hS1uDTTyWHayT=f9OywY_$-@N+hOcMM5A!t(X+mw8e4mCT-F2IYkIdWZWuMY zb;yWLWeeR1FTMGh!%+^4zLPDC-n4fIGlwW~yPk;K9ZZ~v#`*Mmp4TJog1G2KqjMxm zZf=dDx05%qkeuxja5vsO+M@Hoa)CHhX2_vM1#+?%Q0ue;>+Z$+&7}d3KGRsBCxjL& zRNDM6Y@ht*1KLO$#YR%|9h#M%Cm;IWG(ie+VgwZb3*=kt_+R5QNISM}>sG>$(!HA} zqIIRDsI%iaWz_tHqEEEuNVUc}+Ar-cq_ zcf{q_8{X+K>L;5o1y)A_SAf-DWXF%D_5c+@WUcu!Ypa^D2@Rmdow$bN}_?{`K5! zn1kt*|H9k```NU; z$LOHWvbrZNqY8iJ0XjEK-6;0Gq%cVMIg!w|sYS>G!`ZkIhFaV*;NzO2+*E)3&47@) zb3+YIP7fE>jC9Mcs_E4Y?q93fj%L^EdV7j)HU8?iWkc`cA1U{QE{t^+o=tDJ<{kB0 zR5VnvdlmeA3!6I>jz-!$^XA{u!wa1yrxRPfnF-aR832Kms~3JOhfkcaNdoR{co{;e z1VmBehm7WddTKxdoL=sE;PtTWzL^c43;>82o+5p|A1o3QBV7~Hu`KohFHwGraf>l# zU@{sP$|q*!9#-VVFLUlt@4}}>J%*y$as$MY>Bt+R0*!5b_ieVFp z=uQHZaSxuYkyimsGAo&0HvrSaHn!E1KGxudvUaB>K(7terr>BQB7JEp)mv(i?Qsi9 zYA06gZh13^#Nbf?kZFJ0k{MgwBW-(!gJdE@{p+>1S%VjuZs zD}N^TJ}mawkwjlsI#(6)N8GWe=r}2pTF2@=LFG9~vpA`H(#C$&akJ_Ara@~no#M4g zP?`L>sxK0nq)*g)Rk3L8?7Mui&vTUO(&0`8uwyw)#2SiNcI_4DD&J0b z3Z=I%|EY@fnEJh4$PGM45lx*Z}P}X_!GP26cof%8F;FNW;Xwtb6<>btUJ?27G zgkPK<0j(~*=t+`P90kcBnp@i2pkCs~Kv82NAz_z(%B&wJH=KqumbCvpn}KREebLJP zXl>^WJGQk(Q)dk;%f8zVTB}LtJdhXueEY=Ql&(9@_VD&n609!f1y&~bLpLe z$fTW3Pl6+K#)NK&x_G`5k@c`AdSf3ZKg%mK%bN8E&97^EeS|(>AunU3)ra$)I zi_$oCbhM>;G?|d(`GyLQfg5K85@8#tntTr}9Ih3qvVs_d;A^}(?skD}{COZ4uz6#E zLUQzpM+$F}Dtg#+>|-L_Oj;qL%4a<`-&rzkNYN9ZYoW^ zn|7}JvKa882HblbQy!@q&B))LW-_J9>q^$!mLlPI|O)SLpZkg--4eXi2y9K7+^ zH8xBlcaTjIYN~JA3FE-ChCCO;)@FVspZyn!=ICYF?8PAv#gyUNao!*GdAj+d;Jocf zmBP9u6bol;w0&JbjuzI15$>2GbKUB{lGrSBpL%D7Pu~i#R(!EBzN(hfr)He z*EgPOdO0`k`%Cj@`0^paCyYRR16;^<@Qgt7$H9VusIN1SpR<31?rpoesZrK(FY1L@ zmavW;^+LFToF;65%7Mier5soaY9Z?7dUhgVhE3_5cB;Ki%p+9nF}P4~2VR!Avz^8Q zdQJ)PqJwQVVwZD09-*HpkNv5wgWVeZwP-Kh8l5t`eTUe17h83_3|6jbwMY#Z>TEmB zLX#3gEWk0L!V*R3g9_TDl-0=dNf;S|q-&?f4GKX*6k=A1qz#>Dh0(liyC)v2@gO8Y za0n(45Zi+S=KVN-XQJe}^#f-x)-{{C78^K%D#fcxSuOTJt)Pc{u2V`Dw=O7)Vfce7 zI4Lj7)X`#xbVoT@Fq|vjXP}y+*3peYfMf|r<0^bee;l1+9KD;(hyk;COgyRW);tWp z|5kZ|qIIi^>CalI&_bmkx^mz-vJ;wc9u;_zpy{VGb6ve?3<7f|{4_eYvUgYZ^mh$A zIlx5hEfU#3kr*%)$&jx|I1)}14+R-sf250ZhAyc;c^@)asjOX;CLh8ima0IE%?X+P z`3TC=O?`C2QVlc;Xuj+B3eDjPg%D!;v)DE%twUk4T})|iJ(U}zwDHo<&GfxAmICvr zz%+W}{@ZW-((qO9>{?UeW=_n_DRDg~=Ju30&55{TjjR$^bE1it8ftPP7pj($i#ZWz zdPyAQ#NA78eEJj_gPK$j`Ygn3Q;f8~h#6Cp5;l|df}+vuffSQ6n}-r2n&*$i`N4;5 zA2R-%9)FATW?74gUqcAoq*MwHNeLQLq-}IpfT1l9S&A%Yo7sT0Bp!tAEfYcwO&%-R zS(}yQ&1|!3>r9fu!}q_Dw_a>V8k8xbG`c%$icF(pWXbMOsVUdaWQ8XzD|J=2t#`|% z621o2=nM#VKyJ+rgaU?y7Z~oq?39}zb$QKq$ovr? zYdBU(d3H`k8DTA*0Jy)iVXa4%#)RuE7Yb_@jtT^PihvL41bUS!O}cb52A^GNMLh^i zkXz=FYDq7?Mb5MUkU1&kZR{nz(`p2fpXv0-6t$+Y#fzvlDjp(NQvN^v@PpK&`wo7AqiQ`IT6Nr^s&%ot|bSY6xNg23nJg_CEG=brwF4Av) zZSade#IMO-j3K8ja$gR=*4W13G2P4M(pqUKNz(vZeOlQWB-XMTz~oYM1NrXT+wRx4 z4%aw{Z~=Z@l#ub;+2`NcbhP>iTUZOVPvxN@P7nZoNKfEDs3$$Rs3&Cj08dFI+qHU} zjK`699FE5!ODnFAi^F!|Ym+!Hw4eMnuoGp-5m-sxE1OT~^pND&ehoFdK6*&*(W`y; z5Ea;*Y(J+nKkb8q9FF6{ACMQm`A8f;x;X$SZPI)qX5Vu{8hA=v%!%jK1D4IVc6rM= z?@X80WWc9#Z*IFc=xjh&@Y?c-|JGyj;1t&GIF;vop;J?e20R8Za%jwBq;4nHi=+j(l&#>%i`UdlwyB zt8t6AIPw4)5?jN#k=iJ=SlJ8q`IYe$F+@}kxgN)Rd@Pw;x5NR$rS!*RX0WF~iJ*}M z`5QhJoSpj}gJ-AW;cT|MTR1R~M#Cwr$-e%PNSm@1P%|6)T_!25y8U#^4GE&>q~jwL z5Jhpv6;@Kh0sWD!m&^pc=2d!$gQ#r5)N-m8=T}`Ppc)TkLrGUmsBOT4XxJl}V$t(O z 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

M@uQ=izX4AEroydZ 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Π=u6syY&3Ed`mT;8N>omT>>I9>P@C+={ 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%0Dr~= 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

IbTqsWAyT$dV)fC!;rM3=k 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%0A-{w>-o#Py07z1@x4#7` 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:_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() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# 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/experimental/http_get_cache/example/windows/flutter/CMakeLists.txt b/experimental/http_get_cache/example/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/experimental/http_get_cache/example/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# 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") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === 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" + ${FLUTTER_TARGET_PLATFORM} $ + 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/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.cc b/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..988f3c8 --- /dev/null +++ b/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,14 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + Sqlite3FlutterLibsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); +} diff --git a/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.h b/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/experimental/http_get_cache/example/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/experimental/http_get_cache/example/windows/flutter/generated_plugins.cmake b/experimental/http_get_cache/example/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..8abff95 --- /dev/null +++ b/experimental/http_get_cache/example/windows/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + sqlite3_flutter_libs +) + +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/experimental/http_get_cache/example/windows/runner/CMakeLists.txt b/experimental/http_get_cache/example/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/experimental/http_get_cache/example/windows/runner/Runner.rc b/experimental/http_get_cache/example/windows/runner/Runner.rc new file mode 100644 index 0000000..687e6bd --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "example" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "example" "\0" + VALUE "LegalCopyright", "Copyright (C) 2024 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "example.exe" "\0" + VALUE "ProductName", "example" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/experimental/http_get_cache/example/windows/runner/flutter_window.cpp b/experimental/http_get_cache/example/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#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(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + 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/experimental/http_get_cache/example/windows/runner/flutter_window.h b/experimental/http_get_cache/example/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/experimental/http_get_cache/example/windows/runner/main.cpp b/experimental/http_get_cache/example/windows/runner/main.cpp new file mode 100644 index 0000000..a61bf80 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"example", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/experimental/http_get_cache/example/windows/runner/resource.h b/experimental/http_get_cache/example/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/experimental/http_get_cache/example/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/experimental/http_get_cache/example/windows/runner/resources/app_icon.ico b/experimental/http_get_cache/example/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/experimental/http_get_cache/example/windows/runner/runner.exe.manifest b/experimental/http_get_cache/example/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..a42ea76 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/experimental/http_get_cache/example/windows/runner/utils.cpp b/experimental/http_get_cache/example/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#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(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + 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, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/experimental/http_get_cache/example/windows/runner/utils.h b/experimental/http_get_cache/example/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/experimental/http_get_cache/example/windows/runner/win32_window.cpp b/experimental/http_get_cache/example/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar 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/experimental/http_get_cache/example/windows/runner/win32_window.h b/experimental/http_get_cache/example/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/experimental/http_get_cache/example/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/experimental/http_get_cache/lib/http_get_cache.dart b/experimental/http_get_cache/lib/http_get_cache.dart new file mode 100644 index 0000000..c0c3d0a --- /dev/null +++ b/experimental/http_get_cache/lib/http_get_cache.dart @@ -0,0 +1,44 @@ +export 'src/client/http_client.dart'; +export 'src/http_get_cache.dart'; + +import 'dart:typed_data'; + +import 'package:sqlite3/common.dart'; + +import 'http_get_cache.dart'; +import 'src/constants.dart'; + +export 'src/store/base.dart'; +export 'src/store/sqlite.dart'; +export 'src/database/settings.dart'; +export 'src/database/connection/connect.dart'; +export 'src/database/database.dart'; + +Future initHttpGetCache({ + String name = 'http-get-cache', + bool logStatements = false, + String driftWorkerUri = 'drift_worker.js', + String sqlite3Uri = kDebugMode ? 'sqlite3.debug.wasm' : 'sqlite3.wasm', + void Function(CommonDatabase)? setup, + Future Function()? initializeDatabase, + required String cachePath, + required String databasePath, +}) async { + final settings = DatabaseSettings( + name, + logStatements: logStatements, + driftWorkerUri: driftWorkerUri, + sqlite3Uri: sqlite3Uri, + setup: setup, + initializeDatabase: initializeDatabase, + cacheDir: cachePath, + databaseDir: databasePath, + ); + final e = createExecutor(settings); + final database = HttpGetCacheDatabase(settings, e); + HttpGetCacheDatabase.instance = database; + if (!kIsWeb) { + SqliteHttpCacheStore.deleteExpired(database).ignore(); + } + return database; +} diff --git a/experimental/http_get_cache/lib/http_get_cache_flutter.dart b/experimental/http_get_cache/lib/http_get_cache_flutter.dart new file mode 100644 index 0000000..783d37c --- /dev/null +++ b/experimental/http_get_cache/lib/http_get_cache_flutter.dart @@ -0,0 +1,28 @@ +import 'package:drift/drift.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:sqlite3/common.dart'; + +import 'http_get_cache.dart'; +import 'src/constants.dart'; + +Future initFlutterHttpGetCache({ + String name = 'http-get-cache', + bool logStatements = false, + String driftWorkerUri = 'drift_worker.js', + String sqlite3Uri = kDebugMode ? 'sqlite3.debug.wasm' : 'sqlite3.wasm', + void Function(CommonDatabase)? setup, + Future Function()? initializeDatabase, +}) async { + final cacheDir = await getApplicationCacheDirectory(); + final databaseDir = await getApplicationDocumentsDirectory(); + return await initHttpGetCache( + cachePath: cacheDir.path, + databasePath: databaseDir.path, + name: name, + driftWorkerUri: driftWorkerUri, + sqlite3Uri: sqlite3Uri, + setup: setup, + initializeDatabase: initializeDatabase, + logStatements: logStatements, + ); +} diff --git a/experimental/http_get_cache/lib/http_image_provider.dart b/experimental/http_get_cache/lib/http_image_provider.dart new file mode 100644 index 0000000..c7db126 --- /dev/null +++ b/experimental/http_get_cache/lib/http_image_provider.dart @@ -0,0 +1,188 @@ +import 'dart:async'; +import 'dart:ui' as ui; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; + +import 'package:http/http.dart'; + +import 'http_get_cache.dart'; + +/// Fetches the given URL from the network, associating it with the given scale. +/// +/// The image will be cached regardless of cache headers from the server. +/// +/// See also: +/// +/// * [Image.network]. +/// * https://pub.dev/packages/dio_image_provider +/// * https://github.com/dart-lang/http/tree/master/pkgs/flutter_http_example +@immutable +class HttpImageProvider extends ImageProvider { + /// Can be set to override the default [Client] for the + /// [HttpImageProvider]. + static Client defaultClient = httpClient(); + + final Future Function(Request request)? readFromCache; + final Future Function(Request request, Uint8List bytes)? writeToCache; + + /// Creates an object that fetches the image at the given URL. + /// + /// The arguments [url] and [scale] must not be null. + /// [client] will be the default [Client] if not set. + HttpImageProvider.string( + String url, { + this.scale = 1.0, + this.headers, + Client? client, + this.readFromCache, + this.writeToCache, + }) : client = client ?? defaultClient, + url = Uri.parse(url); + + /// Creates an object that fetches the image at the given URL. + /// + /// The arguments [url] and [scale] must not be null. + /// [client] will be the default [Client] if not set. + HttpImageProvider( + this.url, { + this.scale = 1.0, + this.headers, + Client? client, + this.readFromCache, + this.writeToCache, + }) : client = client ?? defaultClient; + + /// The URL from which the image will be fetched. + final Uri url; + + /// The scale to place in the [ImageInfo] object of the image. + final double scale; + + /// The HTTP headers that will be used with [Client.get] to fetch image from network. + /// + /// When running flutter on the web, headers are not used. + final Map? headers; + + /// [client] will be the default [Client] if not set. + final Client client; + + @override + Future obtainKey(ImageConfiguration configuration) { + return SynchronousFuture(this); + } + + final controller = StreamController(); + + @override + ImageStreamCompleter loadImage( + HttpImageProvider key, + ImageDecoderCallback decode, + ) { + return MultiFrameImageStreamCompleter( + codec: _loadAsync(key, decode), + scale: key.scale, + debugLabel: key.url.toString(), + informationCollector: () => [ + DiagnosticsProperty('Image provider', this), + DiagnosticsProperty('Image key', key), + ], + chunkEvents: controller.stream, + ); + } + + Future _loadAsync( + HttpImageProvider key, + ImageDecoderCallback decode, + ) async { + try { + assert(key == this); + + // final head = await client.head(url, headers: headers); + // if (head.statusCode == 200) { + // final contentLength = head.headers['content-length']; + // if (contentLength != null) { + // totalBytes = int.tryParse(contentLength); + // } + // } + + int? totalBytes; + int currentBytes = 0; + final list = []; + final req = Request('GET', url); + if (headers != null) req.headers.addAll(headers!); + + // Check cache + if (readFromCache != null) { + final bytes = await readFromCache!(req); + if (bytes != null) { + final buffer = await ui.ImmutableBuffer.fromUint8List(bytes); + return decode(buffer); + } + } + + final res = await client.send(req); + totalBytes = res.contentLength; + if (res.statusCode != 200) { + throw NetworkImageLoadException( + uri: url, + statusCode: res.statusCode, + ); + } + + await res.stream.asyncMap((e) { + currentBytes += e.length; + controller.add(ImageChunkEvent( + expectedTotalBytes: totalBytes, + cumulativeBytesLoaded: currentBytes, + )); + list.addAll(e); + return e; + }).last; + + final bytes = Uint8List.fromList(list); + if (bytes.lengthInBytes == 0) { + throw NetworkImageLoadException( + uri: url, + statusCode: res.statusCode, + ); + } + + // Write to cache + if (writeToCache != null) { + await writeToCache!(req, bytes); + } + + final buffer = await ui.ImmutableBuffer.fromUint8List(bytes); + return decode(buffer); + } catch (e) { + // Depending on where the exception was thrown, the image cache may not + // have had a chance to track the key in the cache at all. + // Schedule a microtask to give the cache a chance to add the key. + scheduleMicrotask(() { + PaintingBinding.instance.imageCache.evict(key); + }); + rethrow; + } + } + + @override + bool operator ==(Object other) { + if (other.runtimeType != runtimeType) { + return false; + } + return other is HttpImageProvider && + other.url == url && + other.scale == scale; + } + + @override + int get hashCode => Object.hash(url, scale); + + @override + String toString() => + '${objectRuntimeType(this, 'HttpImageProvider')}("$url", scale: $scale)'; +} + +@Deprecated('Use HttpImageProvider instead') +typedef HttpImage = HttpImageProvider; diff --git a/experimental/http_get_cache/lib/src/cache_control.dart b/experimental/http_get_cache/lib/src/cache_control.dart new file mode 100644 index 0000000..cf01348 --- /dev/null +++ b/experimental/http_get_cache/lib/src/cache_control.dart @@ -0,0 +1,56 @@ +import 'package:collection/collection.dart'; + +// Clear-Site-Data: cache can be used to clear every stored response for a site in the browser cache, so use this with care. Note that this will not affected shared or intermediate caches. +class CacheControl { + final String value; + CacheControl(this.value); + + Iterable<(String, String?)> get parts => value.split(',').map((e) { + final p = e.split('=').map((e) => e.trim()).toList(); + return (p.first, p.length > 1 ? p.last : null); + }); + + int _getSeconds(String key, [bool allowBool = false]) { + final part = parts.firstWhereOrNull((e) { + return e.$1.toLowerCase() == key.toLowerCase(); + }); + final val = int.tryParse(part?.$2 ?? ''); + if (val != null) return val; + if (allowBool && _getBool(key)) return double.minPositive.toInt(); + return 0; + } + + bool _getBool(String key) { + return parts.any((e) => e.$1.toLowerCase() == key.toLowerCase()); + } + + (int, bool) _getMixed(String key) => (_getSeconds(key), _getBool(key)); +} + +class RequestCacheControl extends CacheControl { + RequestCacheControl(super.value); + int get maxAge => _getSeconds('max-age'); + int get maxStale => _getSeconds('max-stale'); + int get minFresh => _getSeconds('min-fresh'); + bool get noCache => _getBool('no-cache'); + bool get noStore => _getBool('no-store'); + bool get noTransform => _getBool('no-transform'); + bool get onlyIfCached => _getBool('only-of-cached'); + (int, bool) get staleIfError => _getMixed('stale-if-error'); +} + +class ResponseCacheControl extends CacheControl { + ResponseCacheControl(super.value); + int get maxAge => _getSeconds('max-age'); + int get sMaxAge => _getSeconds('s-maxage'); + bool get noCache => _getBool('no-cache'); + bool get noStore => _getBool('no-store'); + bool get noTransform => _getBool('no-transform'); + bool get mustRevalidate => _getBool('must-revalidate'); + bool get mustUnderstand => _getBool('must-understand'); + bool get private => _getBool('private'); + bool get public => _getBool('public'); + bool get immutable => _getBool('immutable'); + (int, bool) get staleWhileRevalidate => _getMixed('stale-while-revalidate'); + (int, bool) get staleIfError => _getMixed('stale-if-error'); +} diff --git a/experimental/http_get_cache/lib/src/client/http_client.dart b/experimental/http_get_cache/lib/src/client/http_client.dart new file mode 100644 index 0000000..4fdaf57 --- /dev/null +++ b/experimental/http_get_cache/lib/src/client/http_client.dart @@ -0,0 +1,2 @@ +export 'http_client_factory.dart' + if (dart.library.js_interop) 'http_client_factory_web.dart'; diff --git a/experimental/http_get_cache/lib/src/client/http_client_factory.dart b/experimental/http_get_cache/lib/src/client/http_client_factory.dart new file mode 100644 index 0000000..4e9b381 --- /dev/null +++ b/experimental/http_get_cache/lib/src/client/http_client_factory.dart @@ -0,0 +1,30 @@ +import 'dart:io'; + +import 'package:http/http.dart'; +import 'package:http/io_client.dart'; + +import '../database/database.dart'; +import '../http_get_cache.dart'; +import '../store/base.dart'; +import '../store/sqlite.dart'; + +Client httpClient({ + String userAgent = 'Example', + Client? innerClient, + HttpCacheStore? store, +}) { + final db = HttpGetCacheDatabase.instance; + assert( + db != null, + 'Database not initialized "HttpGetCacheDatabase.instance = ..."', + ); + return HttpGetCache( + () { + if (innerClient != null) return innerClient; + final client = HttpClient(); + client.userAgent = userAgent; + return IOClient(client); + }(), + store ?? SqliteHttpCacheStore(db!), + ); +} diff --git a/experimental/http_get_cache/lib/src/client/http_client_factory_web.dart b/experimental/http_get_cache/lib/src/client/http_client_factory_web.dart new file mode 100644 index 0000000..df9f064 --- /dev/null +++ b/experimental/http_get_cache/lib/src/client/http_client_factory_web.dart @@ -0,0 +1,23 @@ +import 'package:fetch_client/fetch_client.dart'; +import 'package:http/http.dart'; + +import '../http_get_cache.dart'; +import '../store/base.dart'; + +Client httpClient({ + String userAgent = 'Example', + Client? innerClient, + HttpCacheStore? store, +}) { + return HttpGetCache( + () { + if (innerClient != null) return innerClient; + return FetchClient( + mode: RequestMode.cors, + cache: RequestCache.byDefault, + // streamRequests: true, + ); + }(), + store ?? HttpCacheStore(), + ); +} diff --git a/experimental/http_get_cache/lib/src/constants.dart b/experimental/http_get_cache/lib/src/constants.dart new file mode 100644 index 0000000..f90a92b --- /dev/null +++ b/experimental/http_get_cache/lib/src/constants.dart @@ -0,0 +1,4 @@ +const bool kReleaseMode = bool.fromEnvironment('dart.vm.product'); +const bool kProfileMode = bool.fromEnvironment('dart.vm.profile'); +const bool kDebugMode = !kReleaseMode && !kProfileMode; +bool kIsWeb = const bool.fromEnvironment('dart.library.js_util'); \ No newline at end of file diff --git a/experimental/http_get_cache/lib/src/database/connection/connect.dart b/experimental/http_get_cache/lib/src/database/connection/connect.dart new file mode 100644 index 0000000..a10d4b7 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/connection/connect.dart @@ -0,0 +1 @@ +export 'connect.web.dart' if (dart.library.ffi) 'connect.io.dart'; diff --git a/experimental/http_get_cache/lib/src/database/connection/connect.io.dart b/experimental/http_get_cache/lib/src/database/connection/connect.io.dart new file mode 100644 index 0000000..d5a3ac5 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/connection/connect.io.dart @@ -0,0 +1,27 @@ +import 'dart:io'; + +import 'package:path/path.dart' as p; +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; + +import '../settings.dart'; + +LazyDatabase createExecutor(DatabaseSettings settings) { + return LazyDatabase(() async { + final dbFile = File(p.join(settings.dbPath, settings.name)); + if (!dbFile.existsSync()) { + await dbFile.create(recursive: true); + if (settings.initializeDatabase != null) { + final bytes = await settings.initializeDatabase!(); + if (bytes != null) { + await dbFile.writeAsBytes(bytes); + } + } + } + return NativeDatabase.createInBackground( + dbFile, + setup: settings.setup, + logStatements: settings.logStatements, + ); + }); +} diff --git a/experimental/http_get_cache/lib/src/database/connection/connect.memory.dart b/experimental/http_get_cache/lib/src/database/connection/connect.memory.dart new file mode 100644 index 0000000..5d004b9 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/connection/connect.memory.dart @@ -0,0 +1,12 @@ +import 'package:drift/native.dart'; + +import '../database.dart'; +import '../settings.dart'; + +HttpGetCacheDatabase createMemoryDatabase(DatabaseSettings settings) { + final e = NativeDatabase.memory( + logStatements: settings.logStatements, + setup: settings.setup, + ); + return HttpGetCacheDatabase(settings, e); +} diff --git a/experimental/http_get_cache/lib/src/database/connection/connect.web.dart b/experimental/http_get_cache/lib/src/database/connection/connect.web.dart new file mode 100644 index 0000000..381ff23 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/connection/connect.web.dart @@ -0,0 +1,27 @@ +import 'dart:developer'; + +import 'package:drift/drift.dart'; +import 'package:drift/wasm.dart'; + +import '../settings.dart'; + +QueryExecutor createExecutor(DatabaseSettings settings) { + return DatabaseConnection.delayed(Future(() async { + final db = await WasmDatabase.open( + databaseName: settings.name.split('.').first, + sqlite3Uri: Uri.parse(settings.sqlite3Uri), + driftWorkerUri: Uri.parse(settings.driftWorkerUri), + localSetup: settings.setup, + initializeDatabase: settings.initializeDatabase, + ); + + if (db.missingFeatures.isNotEmpty) { + log( + 'Using ${db.chosenImplementation} due to unsupported ' + 'browser features: ${db.missingFeatures}', + ); + } + + return db.resolvedExecutor; + })); +} diff --git a/experimental/http_get_cache/lib/src/database/database.dart b/experimental/http_get_cache/lib/src/database/database.dart new file mode 100644 index 0000000..c892e07 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/database.dart @@ -0,0 +1,35 @@ +import 'package:drift/drift.dart'; +import 'settings.dart'; + +part 'database.g.dart'; + +@DriftDatabase(include: { + "sql/http_cache.drift", +}) +class HttpGetCacheDatabase extends _$HttpGetCacheDatabase { + final DatabaseSettings settings; + + HttpGetCacheDatabase(this.settings, super.e); + + @override + int get schemaVersion => 2; + + static HttpGetCacheDatabase? instance; + + @override + MigrationStrategy get migration { + return MigrationStrategy( + onCreate: (Migrator m) async { + await m.createAll(); + }, + onUpgrade: (Migrator m, int from, int to) async { + if (from < 1) { + await m.createAll(); + } + if (from < 2) { + await m.addColumn(httpCache, httpCache.requestHeaders); + } + }, + ); + } +} diff --git a/experimental/http_get_cache/lib/src/database/database.g.dart b/experimental/http_get_cache/lib/src/database/database.g.dart new file mode 100644 index 0000000..3d1b80a --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/database.g.dart @@ -0,0 +1,865 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'database.dart'; + +// ignore_for_file: type=lint +class HttpCache extends Table with TableInfo { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + HttpCache(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + $customConstraints: 'NOT NULL PRIMARY KEY AUTOINCREMENT'); + static const VerificationMeta _urlMeta = const VerificationMeta('url'); + late final GeneratedColumn url = GeneratedColumn( + 'url', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _headersMeta = + const VerificationMeta('headers'); + late final GeneratedColumn headers = GeneratedColumn( + 'headers', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _requestHeadersMeta = + const VerificationMeta('requestHeaders'); + late final GeneratedColumn requestHeaders = GeneratedColumn( + 'request_headers', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _bodyMeta = const VerificationMeta('body'); + late final GeneratedColumn body = GeneratedColumn( + 'body', aliasedName, false, + type: DriftSqlType.string, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _dateMeta = const VerificationMeta('date'); + late final GeneratedColumn date = GeneratedColumn( + 'date', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _maxAgeMeta = const VerificationMeta('maxAge'); + late final GeneratedColumn maxAge = GeneratedColumn( + 'max_age', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _staleWhileRevalidateMeta = + const VerificationMeta('staleWhileRevalidate'); + late final GeneratedColumn staleWhileRevalidate = GeneratedColumn( + 'stale_while_revalidate', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _staleIfErrorMeta = + const VerificationMeta('staleIfError'); + late final GeneratedColumn staleIfError = GeneratedColumn( + 'stale_if_error', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + static const VerificationMeta _immutableMeta = + const VerificationMeta('immutable'); + late final GeneratedColumn immutable = GeneratedColumn( + 'immutable', aliasedName, false, + type: DriftSqlType.bool, + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + @override + List get $columns => [ + id, + url, + headers, + requestHeaders, + body, + date, + maxAge, + staleWhileRevalidate, + staleIfError, + immutable + ]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'http_cache'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('url')) { + context.handle( + _urlMeta, url.isAcceptableOrUnknown(data['url']!, _urlMeta)); + } else if (isInserting) { + context.missing(_urlMeta); + } + if (data.containsKey('headers')) { + context.handle(_headersMeta, + headers.isAcceptableOrUnknown(data['headers']!, _headersMeta)); + } else if (isInserting) { + context.missing(_headersMeta); + } + if (data.containsKey('request_headers')) { + context.handle( + _requestHeadersMeta, + requestHeaders.isAcceptableOrUnknown( + data['request_headers']!, _requestHeadersMeta)); + } else if (isInserting) { + context.missing(_requestHeadersMeta); + } + if (data.containsKey('body')) { + context.handle( + _bodyMeta, body.isAcceptableOrUnknown(data['body']!, _bodyMeta)); + } else if (isInserting) { + context.missing(_bodyMeta); + } + if (data.containsKey('date')) { + context.handle( + _dateMeta, date.isAcceptableOrUnknown(data['date']!, _dateMeta)); + } else if (isInserting) { + context.missing(_dateMeta); + } + if (data.containsKey('max_age')) { + context.handle(_maxAgeMeta, + maxAge.isAcceptableOrUnknown(data['max_age']!, _maxAgeMeta)); + } else if (isInserting) { + context.missing(_maxAgeMeta); + } + if (data.containsKey('stale_while_revalidate')) { + context.handle( + _staleWhileRevalidateMeta, + staleWhileRevalidate.isAcceptableOrUnknown( + data['stale_while_revalidate']!, _staleWhileRevalidateMeta)); + } else if (isInserting) { + context.missing(_staleWhileRevalidateMeta); + } + if (data.containsKey('stale_if_error')) { + context.handle( + _staleIfErrorMeta, + staleIfError.isAcceptableOrUnknown( + data['stale_if_error']!, _staleIfErrorMeta)); + } else if (isInserting) { + context.missing(_staleIfErrorMeta); + } + if (data.containsKey('immutable')) { + context.handle(_immutableMeta, + immutable.isAcceptableOrUnknown(data['immutable']!, _immutableMeta)); + } else if (isInserting) { + context.missing(_immutableMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + List> get uniqueKeys => [ + {url, requestHeaders}, + ]; + @override + HttpCacheData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return HttpCacheData( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + url: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}url'])!, + headers: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}headers'])!, + requestHeaders: attachedDatabase.typeMapping.read( + DriftSqlType.string, data['${effectivePrefix}request_headers'])!, + body: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}body'])!, + date: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}date'])!, + maxAge: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}max_age'])!, + staleWhileRevalidate: attachedDatabase.typeMapping.read( + DriftSqlType.int, data['${effectivePrefix}stale_while_revalidate'])!, + staleIfError: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}stale_if_error'])!, + immutable: attachedDatabase.typeMapping + .read(DriftSqlType.bool, data['${effectivePrefix}immutable'])!, + ); + } + + @override + HttpCache createAlias(String alias) { + return HttpCache(attachedDatabase, alias); + } + + @override + List get customConstraints => const ['UNIQUE(url, request_headers)']; + @override + bool get dontWriteConstraints => true; +} + +class HttpCacheData extends DataClass implements Insertable { + int id; + String url; + String headers; + String requestHeaders; + String body; + int date; + int maxAge; + int staleWhileRevalidate; + int staleIfError; + bool immutable; + HttpCacheData( + {required this.id, + required this.url, + required this.headers, + required this.requestHeaders, + required this.body, + required this.date, + required this.maxAge, + required this.staleWhileRevalidate, + required this.staleIfError, + required this.immutable}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['url'] = Variable(url); + map['headers'] = Variable(headers); + map['request_headers'] = Variable(requestHeaders); + map['body'] = Variable(body); + map['date'] = Variable(date); + map['max_age'] = Variable(maxAge); + map['stale_while_revalidate'] = Variable(staleWhileRevalidate); + map['stale_if_error'] = Variable(staleIfError); + map['immutable'] = Variable(immutable); + return map; + } + + HttpCacheCompanion toCompanion(bool nullToAbsent) { + return HttpCacheCompanion( + id: Value(id), + url: Value(url), + headers: Value(headers), + requestHeaders: Value(requestHeaders), + body: Value(body), + date: Value(date), + maxAge: Value(maxAge), + staleWhileRevalidate: Value(staleWhileRevalidate), + staleIfError: Value(staleIfError), + immutable: Value(immutable), + ); + } + + factory HttpCacheData.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return HttpCacheData( + id: serializer.fromJson(json['id']), + url: serializer.fromJson(json['url']), + headers: serializer.fromJson(json['headers']), + requestHeaders: serializer.fromJson(json['request_headers']), + body: serializer.fromJson(json['body']), + date: serializer.fromJson(json['date']), + maxAge: serializer.fromJson(json['max_age']), + staleWhileRevalidate: + serializer.fromJson(json['stale_while_revalidate']), + staleIfError: serializer.fromJson(json['stale_if_error']), + immutable: serializer.fromJson(json['immutable']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'url': serializer.toJson(url), + 'headers': serializer.toJson(headers), + 'request_headers': serializer.toJson(requestHeaders), + 'body': serializer.toJson(body), + 'date': serializer.toJson(date), + 'max_age': serializer.toJson(maxAge), + 'stale_while_revalidate': serializer.toJson(staleWhileRevalidate), + 'stale_if_error': serializer.toJson(staleIfError), + 'immutable': serializer.toJson(immutable), + }; + } + + HttpCacheData copyWith( + {int? id, + String? url, + String? headers, + String? requestHeaders, + String? body, + int? date, + int? maxAge, + int? staleWhileRevalidate, + int? staleIfError, + bool? immutable}) => + HttpCacheData( + id: id ?? this.id, + url: url ?? this.url, + headers: headers ?? this.headers, + requestHeaders: requestHeaders ?? this.requestHeaders, + body: body ?? this.body, + date: date ?? this.date, + maxAge: maxAge ?? this.maxAge, + staleWhileRevalidate: staleWhileRevalidate ?? this.staleWhileRevalidate, + staleIfError: staleIfError ?? this.staleIfError, + immutable: immutable ?? this.immutable, + ); + HttpCacheData copyWithCompanion(HttpCacheCompanion data) { + return HttpCacheData( + id: data.id.present ? data.id.value : this.id, + url: data.url.present ? data.url.value : this.url, + headers: data.headers.present ? data.headers.value : this.headers, + requestHeaders: data.requestHeaders.present + ? data.requestHeaders.value + : this.requestHeaders, + body: data.body.present ? data.body.value : this.body, + date: data.date.present ? data.date.value : this.date, + maxAge: data.maxAge.present ? data.maxAge.value : this.maxAge, + staleWhileRevalidate: data.staleWhileRevalidate.present + ? data.staleWhileRevalidate.value + : this.staleWhileRevalidate, + staleIfError: data.staleIfError.present + ? data.staleIfError.value + : this.staleIfError, + immutable: data.immutable.present ? data.immutable.value : this.immutable, + ); + } + + @override + String toString() { + return (StringBuffer('HttpCacheData(') + ..write('id: $id, ') + ..write('url: $url, ') + ..write('headers: $headers, ') + ..write('requestHeaders: $requestHeaders, ') + ..write('body: $body, ') + ..write('date: $date, ') + ..write('maxAge: $maxAge, ') + ..write('staleWhileRevalidate: $staleWhileRevalidate, ') + ..write('staleIfError: $staleIfError, ') + ..write('immutable: $immutable') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, url, headers, requestHeaders, body, date, + maxAge, staleWhileRevalidate, staleIfError, immutable); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is HttpCacheData && + other.id == this.id && + other.url == this.url && + other.headers == this.headers && + other.requestHeaders == this.requestHeaders && + other.body == this.body && + other.date == this.date && + other.maxAge == this.maxAge && + other.staleWhileRevalidate == this.staleWhileRevalidate && + other.staleIfError == this.staleIfError && + other.immutable == this.immutable); +} + +class HttpCacheCompanion extends UpdateCompanion { + Value id; + Value url; + Value headers; + Value requestHeaders; + Value body; + Value date; + Value maxAge; + Value staleWhileRevalidate; + Value staleIfError; + Value immutable; + HttpCacheCompanion({ + this.id = const Value.absent(), + this.url = const Value.absent(), + this.headers = const Value.absent(), + this.requestHeaders = const Value.absent(), + this.body = const Value.absent(), + this.date = const Value.absent(), + this.maxAge = const Value.absent(), + this.staleWhileRevalidate = const Value.absent(), + this.staleIfError = const Value.absent(), + this.immutable = const Value.absent(), + }); + HttpCacheCompanion.insert({ + this.id = const Value.absent(), + required String url, + required String headers, + required String requestHeaders, + required String body, + required int date, + required int maxAge, + required int staleWhileRevalidate, + required int staleIfError, + required bool immutable, + }) : url = Value(url), + headers = Value(headers), + requestHeaders = Value(requestHeaders), + body = Value(body), + date = Value(date), + maxAge = Value(maxAge), + staleWhileRevalidate = Value(staleWhileRevalidate), + staleIfError = Value(staleIfError), + immutable = Value(immutable); + static Insertable custom({ + Expression? id, + Expression? url, + Expression? headers, + Expression? requestHeaders, + Expression? body, + Expression? date, + Expression? maxAge, + Expression? staleWhileRevalidate, + Expression? staleIfError, + Expression? immutable, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (url != null) 'url': url, + if (headers != null) 'headers': headers, + if (requestHeaders != null) 'request_headers': requestHeaders, + if (body != null) 'body': body, + if (date != null) 'date': date, + if (maxAge != null) 'max_age': maxAge, + if (staleWhileRevalidate != null) + 'stale_while_revalidate': staleWhileRevalidate, + if (staleIfError != null) 'stale_if_error': staleIfError, + if (immutable != null) 'immutable': immutable, + }); + } + + HttpCacheCompanion copyWith( + {Value? id, + Value? url, + Value? headers, + Value? requestHeaders, + Value? body, + Value? date, + Value? maxAge, + Value? staleWhileRevalidate, + Value? staleIfError, + Value? immutable}) { + return HttpCacheCompanion( + id: id ?? this.id, + url: url ?? this.url, + headers: headers ?? this.headers, + requestHeaders: requestHeaders ?? this.requestHeaders, + body: body ?? this.body, + date: date ?? this.date, + maxAge: maxAge ?? this.maxAge, + staleWhileRevalidate: staleWhileRevalidate ?? this.staleWhileRevalidate, + staleIfError: staleIfError ?? this.staleIfError, + immutable: immutable ?? this.immutable, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (url.present) { + map['url'] = Variable(url.value); + } + if (headers.present) { + map['headers'] = Variable(headers.value); + } + if (requestHeaders.present) { + map['request_headers'] = Variable(requestHeaders.value); + } + if (body.present) { + map['body'] = Variable(body.value); + } + if (date.present) { + map['date'] = Variable(date.value); + } + if (maxAge.present) { + map['max_age'] = Variable(maxAge.value); + } + if (staleWhileRevalidate.present) { + map['stale_while_revalidate'] = Variable(staleWhileRevalidate.value); + } + if (staleIfError.present) { + map['stale_if_error'] = Variable(staleIfError.value); + } + if (immutable.present) { + map['immutable'] = Variable(immutable.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('HttpCacheCompanion(') + ..write('id: $id, ') + ..write('url: $url, ') + ..write('headers: $headers, ') + ..write('requestHeaders: $requestHeaders, ') + ..write('body: $body, ') + ..write('date: $date, ') + ..write('maxAge: $maxAge, ') + ..write('staleWhileRevalidate: $staleWhileRevalidate, ') + ..write('staleIfError: $staleIfError, ') + ..write('immutable: $immutable') + ..write(')')) + .toString(); + } +} + +abstract class _$HttpGetCacheDatabase extends GeneratedDatabase { + _$HttpGetCacheDatabase(QueryExecutor e) : super(e); + $HttpGetCacheDatabaseManager get managers => + $HttpGetCacheDatabaseManager(this); + late final HttpCache httpCache = HttpCache(this); + late final Index httpCacheIdx = Index('http_cache_idx', + 'CREATE UNIQUE INDEX http_cache_idx ON http_cache (url, request_headers, date, max_age, stale_if_error, stale_while_revalidate)'); + Future> setHttpCache( + {required String url, + required String headers, + required String requestHeaders, + required String body, + required int date, + required int maxAge, + required int staleWhileRevalidate, + required int staleIfError, + required bool immutable}) { + return customWriteReturning( + 'INSERT OR REPLACE INTO http_cache (url, headers, request_headers, body, date, max_age, stale_while_revalidate, stale_if_error, immutable) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9) RETURNING *', + variables: [ + Variable(url), + Variable(headers), + Variable(requestHeaders), + Variable(body), + Variable(date), + Variable(maxAge), + Variable(staleWhileRevalidate), + Variable(staleIfError), + Variable(immutable) + ], + updates: { + httpCache + }).then((rows) => Future.wait(rows.map(httpCache.mapFromRow))); + } + + Selectable getHttpCacheByUrl({required String url}) { + return customSelect('SELECT * FROM http_cache WHERE url = ?1', variables: [ + Variable(url) + ], readsFrom: { + httpCache, + }).asyncMap(httpCache.mapFromRow); + } + + Selectable getHttpCache({required String url}) { + return customSelect('SELECT * FROM http_cache WHERE url = ?1', variables: [ + Variable(url) + ], readsFrom: { + httpCache, + }).asyncMap(httpCache.mapFromRow); + } + + Future deleteHttpCache({required String url}) { + return customUpdate( + 'DELETE FROM http_cache WHERE url = ?1', + variables: [Variable(url)], + updates: {httpCache}, + updateKind: UpdateKind.delete, + ); + } + + Future deleteHttpCacheStale() { + return customUpdate( + 'DELETE FROM http_cache WHERE unixepoch() >(date +(max_age * 1000)+(MAX(stale_while_revalidate, stale_if_error) * 1000))', + variables: [], + updates: {httpCache}, + updateKind: UpdateKind.delete, + ); + } + + Future deleteHttpCacheStaleWithoutRevalidate() { + return customUpdate( + 'DELETE FROM http_cache WHERE unixepoch() >(date +(max_age * 1000))', + variables: [], + updates: {httpCache}, + updateKind: UpdateKind.delete, + ); + } + + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [httpCache, httpCacheIdx]; + @override + DriftDatabaseOptions get options => + const DriftDatabaseOptions(storeDateTimeAsText: true); +} + +typedef $HttpCacheCreateCompanionBuilder = HttpCacheCompanion Function({ + Value id, + required String url, + required String headers, + required String requestHeaders, + required String body, + required int date, + required int maxAge, + required int staleWhileRevalidate, + required int staleIfError, + required bool immutable, +}); +typedef $HttpCacheUpdateCompanionBuilder = HttpCacheCompanion Function({ + Value id, + Value url, + Value headers, + Value requestHeaders, + Value body, + Value date, + Value maxAge, + Value staleWhileRevalidate, + Value staleIfError, + Value immutable, +}); + +class $HttpCacheFilterComposer + extends Composer<_$HttpGetCacheDatabase, HttpCache> { + $HttpCacheFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnFilters(column)); + + ColumnFilters get url => $composableBuilder( + column: $table.url, builder: (column) => ColumnFilters(column)); + + ColumnFilters get headers => $composableBuilder( + column: $table.headers, builder: (column) => ColumnFilters(column)); + + ColumnFilters get requestHeaders => $composableBuilder( + column: $table.requestHeaders, + builder: (column) => ColumnFilters(column)); + + ColumnFilters get body => $composableBuilder( + column: $table.body, builder: (column) => ColumnFilters(column)); + + ColumnFilters get date => $composableBuilder( + column: $table.date, builder: (column) => ColumnFilters(column)); + + ColumnFilters get maxAge => $composableBuilder( + column: $table.maxAge, builder: (column) => ColumnFilters(column)); + + ColumnFilters get staleWhileRevalidate => $composableBuilder( + column: $table.staleWhileRevalidate, + builder: (column) => ColumnFilters(column)); + + ColumnFilters get staleIfError => $composableBuilder( + column: $table.staleIfError, builder: (column) => ColumnFilters(column)); + + ColumnFilters get immutable => $composableBuilder( + column: $table.immutable, builder: (column) => ColumnFilters(column)); +} + +class $HttpCacheOrderingComposer + extends Composer<_$HttpGetCacheDatabase, HttpCache> { + $HttpCacheOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get url => $composableBuilder( + column: $table.url, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get headers => $composableBuilder( + column: $table.headers, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get requestHeaders => $composableBuilder( + column: $table.requestHeaders, + builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get body => $composableBuilder( + column: $table.body, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get date => $composableBuilder( + column: $table.date, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get maxAge => $composableBuilder( + column: $table.maxAge, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get staleWhileRevalidate => $composableBuilder( + column: $table.staleWhileRevalidate, + builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get staleIfError => $composableBuilder( + column: $table.staleIfError, + builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get immutable => $composableBuilder( + column: $table.immutable, builder: (column) => ColumnOrderings(column)); +} + +class $HttpCacheAnnotationComposer + extends Composer<_$HttpGetCacheDatabase, HttpCache> { + $HttpCacheAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get url => + $composableBuilder(column: $table.url, builder: (column) => column); + + GeneratedColumn get headers => + $composableBuilder(column: $table.headers, builder: (column) => column); + + GeneratedColumn get requestHeaders => $composableBuilder( + column: $table.requestHeaders, builder: (column) => column); + + GeneratedColumn get body => + $composableBuilder(column: $table.body, builder: (column) => column); + + GeneratedColumn get date => + $composableBuilder(column: $table.date, builder: (column) => column); + + GeneratedColumn get maxAge => + $composableBuilder(column: $table.maxAge, builder: (column) => column); + + GeneratedColumn get staleWhileRevalidate => $composableBuilder( + column: $table.staleWhileRevalidate, builder: (column) => column); + + GeneratedColumn get staleIfError => $composableBuilder( + column: $table.staleIfError, builder: (column) => column); + + GeneratedColumn get immutable => + $composableBuilder(column: $table.immutable, builder: (column) => column); +} + +class $HttpCacheTableManager extends RootTableManager< + _$HttpGetCacheDatabase, + HttpCache, + HttpCacheData, + $HttpCacheFilterComposer, + $HttpCacheOrderingComposer, + $HttpCacheAnnotationComposer, + $HttpCacheCreateCompanionBuilder, + $HttpCacheUpdateCompanionBuilder, + ( + HttpCacheData, + BaseReferences<_$HttpGetCacheDatabase, HttpCache, HttpCacheData> + ), + HttpCacheData, + PrefetchHooks Function()> { + $HttpCacheTableManager(_$HttpGetCacheDatabase db, HttpCache table) + : super(TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $HttpCacheFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $HttpCacheOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $HttpCacheAnnotationComposer($db: db, $table: table), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value url = const Value.absent(), + Value headers = const Value.absent(), + Value requestHeaders = const Value.absent(), + Value body = const Value.absent(), + Value date = const Value.absent(), + Value maxAge = const Value.absent(), + Value staleWhileRevalidate = const Value.absent(), + Value staleIfError = const Value.absent(), + Value immutable = const Value.absent(), + }) => + HttpCacheCompanion( + id: id, + url: url, + headers: headers, + requestHeaders: requestHeaders, + body: body, + date: date, + maxAge: maxAge, + staleWhileRevalidate: staleWhileRevalidate, + staleIfError: staleIfError, + immutable: immutable, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String url, + required String headers, + required String requestHeaders, + required String body, + required int date, + required int maxAge, + required int staleWhileRevalidate, + required int staleIfError, + required bool immutable, + }) => + HttpCacheCompanion.insert( + id: id, + url: url, + headers: headers, + requestHeaders: requestHeaders, + body: body, + date: date, + maxAge: maxAge, + staleWhileRevalidate: staleWhileRevalidate, + staleIfError: staleIfError, + immutable: immutable, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $HttpCacheProcessedTableManager = ProcessedTableManager< + _$HttpGetCacheDatabase, + HttpCache, + HttpCacheData, + $HttpCacheFilterComposer, + $HttpCacheOrderingComposer, + $HttpCacheAnnotationComposer, + $HttpCacheCreateCompanionBuilder, + $HttpCacheUpdateCompanionBuilder, + ( + HttpCacheData, + BaseReferences<_$HttpGetCacheDatabase, HttpCache, HttpCacheData> + ), + HttpCacheData, + PrefetchHooks Function()>; + +class $HttpGetCacheDatabaseManager { + final _$HttpGetCacheDatabase _db; + $HttpGetCacheDatabaseManager(this._db); + $HttpCacheTableManager get httpCache => + $HttpCacheTableManager(_db, _db.httpCache); +} diff --git a/experimental/http_get_cache/lib/src/database/settings.dart b/experimental/http_get_cache/lib/src/database/settings.dart new file mode 100644 index 0000000..b6c5228 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/settings.dart @@ -0,0 +1,31 @@ +import 'dart:typed_data'; + +import 'package:path/path.dart' as p; +import 'package:sqlite3/common.dart'; + +import '../constants.dart'; + +class DatabaseSettings { + final String name; + final bool logStatements; + final String driftWorkerUri; + final String sqlite3Uri; + final String databaseDir; + final String cacheDir; + final void Function(CommonDatabase)? setup; + final Future Function()? initializeDatabase; + + const DatabaseSettings( + this.name, { + this.logStatements = false, + this.driftWorkerUri = 'drift_worker.js', + this.sqlite3Uri = kDebugMode ? 'sqlite3.debug.wasm' : 'sqlite3.wasm', + this.setup, + this.initializeDatabase, + required this.databaseDir, + required this.cacheDir, + }); + + String get dbPath => p.join(databaseDir, name); + String get cachePath => p.join(cacheDir, 'cache'); +} diff --git a/experimental/http_get_cache/lib/src/database/sql/http_cache.drift b/experimental/http_get_cache/lib/src/database/sql/http_cache.drift new file mode 100644 index 0000000..b0c34b3 --- /dev/null +++ b/experimental/http_get_cache/lib/src/database/sql/http_cache.drift @@ -0,0 +1,68 @@ +CREATE TABLE http_cache ( + id INT NOT NULL PRIMARY KEY AUTOINCREMENT, + url TEXT NOT NULL, + headers TEXT NOT NULL, + request_headers TEXT NOT NULL, + body TEXT NOT NULL, + date INT NOT NULL, + max_age INT NOT NULL, + stale_while_revalidate INT NOT NULL, + stale_if_error INT NOT NULL, + immutable BOOLEAN NOT NULL, + UNIQUE(url, request_headers) +); + +CREATE UNIQUE INDEX http_cache_idx ON http_cache ( + url, + request_headers, + date, + max_age, + stale_if_error, + stale_while_revalidate +); + +setHttpCache: +INSERT OR REPLACE +INTO http_cache ( + url, + headers, + request_headers, + body, + date, + max_age, + stale_while_revalidate, + stale_if_error, + immutable +) +VALUES ( + :url, + :headers, + :requestHeaders, + :body, + :date, + :maxAge, + :staleWhileRevalidate, + :staleIfError, + :immutable +) +RETURNING *; + +getHttpCacheByUrl: +SELECT * FROM http_cache +WHERE url = :url; + +getHttpCache: +SELECT * FROM http_cache +WHERE url = :url; + +deleteHttpCache: +DELETE FROM http_cache +WHERE url = :url; + +deleteHttpCacheStale: +DELETE FROM http_cache +WHERE unixepoch() > (date + (max_age * 1000) + (MAX(stale_while_revalidate, stale_if_error) * 1000)); + +deleteHttpCacheStaleWithoutRevalidate: +DELETE FROM http_cache +WHERE unixepoch() > (date + (max_age * 1000)); diff --git a/experimental/http_get_cache/lib/src/date_parser.dart b/experimental/http_get_cache/lib/src/date_parser.dart new file mode 100644 index 0000000..a7f85ee --- /dev/null +++ b/experimental/http_get_cache/lib/src/date_parser.dart @@ -0,0 +1,48 @@ +/// Parse a date from a request/response header value into +/// a valid dart DateTime. +/// +/// Example: Wed, 17 Jul 2024 23:19:37 GMT +class DateParser { + const DateParser(); + DateTime? call(String value) { + if (value.isEmpty) return null; + final d = DateTime.tryParse(value); + if (d != null) return d; + final [ + _, + dayOfMonth, + monthName, + yearName, + time, + _, + ] = value.trim().split(' '); + var year = int.parse(yearName).toString(); + var month = (switch (monthName.toLowerCase()) { + 'jan' => DateTime.january, + 'feb' => DateTime.february, + 'mar' => DateTime.march, + 'apr' => DateTime.april, + 'may' => DateTime.may, + 'jun' => DateTime.june, + 'jul' => DateTime.july, + 'aug' => DateTime.august, + 'sep' => DateTime.september, + 'oct' => DateTime.october, + 'nov' => DateTime.november, + 'dec' => DateTime.december, + (_) => -1, + }) + .toString() + .padLeft(2, '0'); + var day = int.parse(dayOfMonth).toString().padLeft(2, '0'); + final str = '$year-$month-$day $time'; + return DateTime.tryParse(str); + } +} + +DateTime getDate() => DateTime.now(); +int getDateInt() => getDate().toSeconds(); + +extension DateTimeUtils on DateTime { + int toSeconds() => Duration(milliseconds: millisecondsSinceEpoch).inSeconds; +} diff --git a/experimental/http_get_cache/lib/src/extensions.dart b/experimental/http_get_cache/lib/src/extensions.dart new file mode 100644 index 0000000..3f576b0 --- /dev/null +++ b/experimental/http_get_cache/lib/src/extensions.dart @@ -0,0 +1,26 @@ +import 'package:cachecontrol/cachecontrol.dart'; +import 'package:http/http.dart'; + +const _cacheControlHeader = 'cache-control'; + +extension CacheControlRequest on BaseRequest { + RequestCacheControl get cacheControl { + final raw = headers[_cacheControlHeader] ?? ''; + return RequestCacheControl.parse(raw); + } + + set cacheControl(RequestCacheControl value) { + headers[_cacheControlHeader] = value.toString(); + } +} + +extension CacheControlBaseResponse on BaseResponse { + ResponseCacheControl get cacheControl { + final raw = headers[_cacheControlHeader] ?? ''; + return ResponseCacheControl.parse(raw); + } + + set cacheControl(ResponseCacheControl value) { + headers[_cacheControlHeader] = value.toString(); + } +} diff --git a/experimental/http_get_cache/lib/src/http_get_cache.dart b/experimental/http_get_cache/lib/src/http_get_cache.dart new file mode 100644 index 0000000..74992ef --- /dev/null +++ b/experimental/http_get_cache/lib/src/http_get_cache.dart @@ -0,0 +1,145 @@ +import 'dart:convert'; +import 'dart:math'; + +import 'package:http/http.dart'; + +import 'constants.dart'; +import 'request_headers.dart'; +import 'date_parser.dart'; +import 'store/base.dart'; + +class HttpGetCache extends BaseClient { + final HttpCacheStore store; + final Client inner; + + HttpGetCache(this.inner, this.store); + + static Future networkError(Object? error) async { + return StreamedResponse( + Stream.value(utf8.encode('$error')), + 500, + ); + } + + static Future offlineError(Object? error) async { + return StreamedResponse( + Stream.value(utf8.encode('$error')), + 503, + ); + } + + static Future gatewayTimeout() async { + return StreamedResponse( + Stream.value(utf8.encode('Gateway Timeout')), + 504, + ); + } + + Future save(BaseRequest request) async { + final reqCC = request.cacheControl; + final res = await inner.send(request); + final resCC = res.cacheControl; + if (res.statusCode == 200) { + if (reqCC.noStore || resCC.noStore || resCC.noCache) { + return res; + } else { + return await store.set(request, res); + } + } else { + final cached = await store.get(request); + if (cached != null) { + final cachedCC = cached.cacheControl; + final now = getDateInt(); + final date = cached.requestHeaders.created; + if (reqCC.staleIfError.$2 || resCC.staleIfError.$2) { + return cached; + } else if (date != null && + now < + (date + + cachedCC.maxAge + + max( + cachedCC.staleIfError.$1, + reqCC.staleIfError.$1, + ))) { + return cached; + } + } + } + return res; + } + + Stream stream(BaseRequest request) async* { + final method = request.method.toLowerCase(); + final reqCC = request.cacheControl; + + if (kIsWeb || method != 'get') { + yield await inner.send(request); + return; + } + + // Check for early fetch + var cached = await store.get(request); + bool needsUpdate = true; + + if (cached == null && reqCC.onlyIfCached) { + yield await gatewayTimeout(); + return; + } + + // Check for cache + if (cached != null) { + final cachedCC = cached.cacheControl; + if (cachedCC.mustRevalidate || cachedCC.noCache || reqCC.noCache) { + needsUpdate = true; + } else { + final now = getDateInt(); + final date = cached.requestHeaders.created; + if (date != null && now < (date + cachedCC.maxAge)) { + needsUpdate = false; + yield cached; + } else if (date != null && + now < (date + cachedCC.maxAge + cachedCC.staleWhileRevalidate.$1)) { + yield cached; + } else if (cachedCC.staleWhileRevalidate.$2) { + yield cached; + } + + if (!cachedCC.immutable && needsUpdate) { + // Check for new eTag, Last-Modified change + final headRes = await inner.head(request.url); + final headHeaders = headRes.requestHeaders; + if (headRes.statusCode == 200) { + // Check eTag + if ((cached.requestHeaders.eTag + headHeaders.eTag).isNotEmpty && + cached.requestHeaders.eTag == headHeaders.eTag) { + needsUpdate = false; + } + if ((max( + cached.requestHeaders.lastModified ?? 0, + headHeaders.lastModified ?? 0, + ) > + 0) && + cached.requestHeaders.lastModified == + headHeaders.lastModified) { + needsUpdate = false; + } + } else if (headRes.statusCode == 304) { + // Or 304 cache is still good to reuse + needsUpdate = false; + if (cachedCC.mustRevalidate || cachedCC.noCache || reqCC.noCache) { + yield cached; + } + } + } + } + } + + if (!needsUpdate) return; + yield await save(request); + } + + @override + Future send(BaseRequest request) { + return stream(request).last; + } +} diff --git a/experimental/http_get_cache/lib/src/request_headers.dart b/experimental/http_get_cache/lib/src/request_headers.dart new file mode 100644 index 0000000..fa3de11 --- /dev/null +++ b/experimental/http_get_cache/lib/src/request_headers.dart @@ -0,0 +1,75 @@ +import 'package:collection/collection.dart'; +import 'package:http/http.dart'; + +import 'cache_control.dart'; +import 'date_parser.dart'; + +class RequestHeaders { + final Map value; + RequestHeaders(this.value); + + static DateParser dateParser = const DateParser(); + + String getValue(String key) { + final result = value.entries.firstWhere( + (e) => e.key.toLowerCase() == key.toLowerCase(), + orElse: () => MapEntry(key, ''), + ); + return result.value; + } + + String get eTag => getValue('eTag'); + + int get age => int.tryParse(getValue('Age')) ?? 0; + + int? get lastModified => dateParser(getValue('Last-Modified'))?.toSeconds(); + + int? get date => dateParser(getValue('Date'))?.toSeconds(); + + int? get expires => dateParser(getValue('Expires'))?.toSeconds(); + + int? get created { + final lastModifiedKey = value.keys.firstWhereOrNull( + (e) => e.toLowerCase() == 'last-modified', + ); + final dateKey = value.keys.firstWhereOrNull( + (e) => e.toLowerCase() == 'date', + ); + final key = lastModifiedKey ?? dateKey; + if (key != null) { + final d = dateParser(value[key]!); + if (d != null) return d.millisecondsSinceEpoch; + } + return null; + } +} + +extension BaseRequestCCUtils on BaseRequest { + RequestHeaders get requestHeaders { + return RequestHeaders(headers); + } + + RequestCacheControl get cacheControl { + return RequestCacheControl(requestHeaders.getValue('cache-control')); + } +} + +extension StreamedResponseCCUtils on StreamedResponse { + RequestHeaders get requestHeaders { + return RequestHeaders(headers); + } + + ResponseCacheControl get cacheControl { + return ResponseCacheControl(requestHeaders.getValue('cache-control')); + } +} + +extension ResponseCCUtils on Response { + RequestHeaders get requestHeaders { + return RequestHeaders(headers); + } + + ResponseCacheControl get cacheControl { + return ResponseCacheControl(requestHeaders.getValue('cache-control')); + } +} diff --git a/experimental/http_get_cache/lib/src/store/base.dart b/experimental/http_get_cache/lib/src/store/base.dart new file mode 100644 index 0000000..ede6aca --- /dev/null +++ b/experimental/http_get_cache/lib/src/store/base.dart @@ -0,0 +1,14 @@ +import 'package:http/http.dart'; + +class HttpCacheStore { + Future get(BaseRequest request) async { + return null; + } + + Future set( + BaseRequest request, + StreamedResponse response, + ) async { + return response; + } +} diff --git a/experimental/http_get_cache/lib/src/store/sqlite.dart b/experimental/http_get_cache/lib/src/store/sqlite.dart new file mode 100644 index 0000000..b0fc12d --- /dev/null +++ b/experimental/http_get_cache/lib/src/store/sqlite.dart @@ -0,0 +1,221 @@ +import 'dart:convert'; +import 'dart:io'; + +import 'package:crypto/crypto.dart'; +import 'package:http/http.dart'; +import 'package:path/path.dart' as p; + +import '../constants.dart'; +import '../database/database.dart'; +import '../date_parser.dart'; +import '../request_headers.dart'; +import 'base.dart'; + +class SqliteHttpCacheStore extends HttpCacheStore { + final HttpGetCacheDatabase database; + + SqliteHttpCacheStore(this.database); + + static Future getCacheDir(HttpGetCacheDatabase database) async { + if (kIsWeb) return ''; + final cachePath = database.settings.cachePath; + final cacheDir = Directory(cachePath); + if (!cacheDir.existsSync()) { + await cacheDir.create(recursive: true); + } + return cacheDir.path; + } + + static Future deleteCacheDir(HttpGetCacheDatabase database) async { + if (kIsWeb) return; + final cachePath = await getCacheDir(database); + if (cachePath.isEmpty) return; + final cacheDir = Directory(cachePath); + + if (cacheDir.existsSync()) { + cacheDir.deleteSync(recursive: true); + } + } + + static Future getCacheDirSize(HttpGetCacheDatabase database) async { + if (kIsWeb) return 0; + final cachePath = await getCacheDir(database); + if (cachePath.isEmpty) return 0; + final cacheDir = Directory(cachePath); + + if (cacheDir.existsSync()) { + final files = await cacheDir.list(recursive: true).toList(); + final dirSize = + files.fold(0, (int sum, file) => sum + file.statSync().size); + return dirSize; + } + + return 0; + } + + static Future deleteExpired(HttpGetCacheDatabase database) async { + await database.deleteHttpCacheStale(); + } + + Stream> _streamAndSaveBytes( + BaseRequest req, + StreamedResponse res, + File file, + ) async* { + final date = res.requestHeaders.created ?? getDateInt(); + if (!file.existsSync()) { + await file.create(recursive: true); + } + final writer = file.openWrite(); + await for (final event in res.stream) { + yield event; + writer.add(event); + } + await writer.flush(); + await writer.close(); + + final vary = res.headers['vary'] ?? ''; + final requestHeaders = {}; + if (vary.isNotEmpty && vary != '*') { + final keys = + vary.split(',').map((e) => e.trim()).where((e) => e.isNotEmpty); + for (final key in keys) { + requestHeaders[key] = req.headers[key] ?? ''; + } + } + + await database.setHttpCache( + url: req.url.key, + headers: jsonEncode(res.headers), + requestHeaders: jsonEncode(requestHeaders), + body: file.path, + maxAge: res.cacheControl.maxAge, + staleWhileRevalidate: res.cacheControl.staleWhileRevalidate.$1, + staleIfError: res.cacheControl.staleIfError.$1, + immutable: res.cacheControl.immutable, + date: date, + ); + } + + @override + Future set( + BaseRequest request, + StreamedResponse response, + ) async { + if (kIsWeb) return response; + // Don't cache if Vary is * + if (response.headers['vary'] == '*') { + return response; + } + + if (response.cacheControl.noStore || request.cacheControl.noStore) { + return response; + } + final dirPath = await getCacheDir(database); + if (dirPath.isEmpty) return response; + final dir = Directory(dirPath); + // Use a unique file name to allow multiple responses per URL. + // We can't rely just on URL key anymore. + // We'll append a random string or use UUID if we had it, but here just use random hash or + // simply use the existing method but append request headers hash. + // To safe space and keep it simple, let's use a combination. + // However, if we change the file naming, we orphan old files or we need to manage them. + // Since we delete by DB entry (which stores path), it's fine. + // Just need a unique name. + + // Simple unique name strategy: hash(url + vary request headers) + // But we don't know vary headers yet... wait, we do get them from response. + // We computed `requestHeaders` in _streamAndSaveBytes. + // Ideally we compute path there too? But we pass file into it. + + // Let's modify behavior: Generate a random ID for the file? + // Or just make `key` unique-ish. + // sha256(url + timestamp + random) is safe enough. + + final uniqueId = sha256 + .convert(utf8.encode( + '${request.url.key}${DateTime.now().microsecondsSinceEpoch}')) + .toString(); + final file = File(p.join(dir.path, uniqueId)); + + return StreamedResponse( + _streamAndSaveBytes(request, response, file), + response.statusCode, + contentLength: response.contentLength, + request: response.request, + headers: response.headers, + isRedirect: response.isRedirect, + persistentConnection: response.persistentConnection, + reasonPhrase: response.reasonPhrase, + ); + } + + @override + Future get(BaseRequest request) async { + final candidates = await database // + .getHttpCache(url: request.url.key) + .get(); + + for (final candidate in candidates) { + final responseHeaders = _parseHeaders(candidate.headers); + final vary = responseHeaders['vary']; + + if (vary == '*') { + continue; // Should not happen if we don't store it, but check anyway. + } + + bool match = true; + if (vary != null && vary.isNotEmpty) { + final storedRequestHeaders = _parseHeaders(candidate.requestHeaders); + final varyKeys = + vary.split(',').map((e) => e.trim()).where((e) => e.isNotEmpty); + for (final key in varyKeys) { + if (request.headers[key] != storedRequestHeaders[key]) { + match = false; + break; + } + } + } + + if (match) { + final path = candidate.body; + final file = File(path); + if (await file.exists()) { + final stats = await file.stat(); + final h = {...responseHeaders}; + final rq = RequestHeaders(h); + if (rq.created == null) { + final d = DateTime.fromMillisecondsSinceEpoch(candidate.date); + h['Date'] = d.toIso8601String(); + } + return StreamedResponse( + file.openRead(), + 200, + contentLength: stats.size, + headers: h, + ); + } + } + } + return null; + } +} + +// extension on BaseRequest { +// String get key => sha256.convert(utf8.encode(url.key)).toString(); +// } + +extension on Uri { + String get key => toString(); +} + +Map _parseHeaders(String key) { + final headers = {}; + if (key.isNotEmpty) { + final data = jsonDecode(key) as Map; + for (final entry in data.entries) { + headers[entry.key] = entry.value?.toString() ?? ''; + } + } + return headers; +} diff --git a/experimental/http_get_cache/pubspec.yaml b/experimental/http_get_cache/pubspec.yaml new file mode 100644 index 0000000..2199409 --- /dev/null +++ b/experimental/http_get_cache/pubspec.yaml @@ -0,0 +1,33 @@ +name: http_get_cache +description: "HTTP Compliant cache for Flutter" +version: 0.1.0 +homepage: https://github.com/rodydavis/packages.dart +repository: https://github.com/rodydavis/packages.dart +maintainer: Rody Davis (@rodydavis) + +environment: + sdk: ^3.5.0 + flutter: ">=1.17.0" + +dependencies: + cachecontrol: ^0.1.0 + collection: ^1.19.0 + crypto: ^3.0.6 + drift: ^2.24.2 + drift_flutter: ^0.2.8 + fetch_client: ^1.1.2 + flutter: + sdk: flutter + http: ^1.3.0 + path: ^1.9.0 + path_provider: ^2.1.3 + sqlite3: ^2.5.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^6.0.0 + drift_dev: ^2.24.2 + build_runner: ^2.4.11 + +flutter: diff --git a/experimental/http_get_cache/test/date_parser_test.dart b/experimental/http_get_cache/test/date_parser_test.dart new file mode 100644 index 0000000..aafe05b --- /dev/null +++ b/experimental/http_get_cache/test/date_parser_test.dart @@ -0,0 +1,11 @@ +import 'package:http_get_cache/src/date_parser.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('date-parse', () { + const str = 'Wed, 17 Jul 2024 23:19:37 GMT'; + const parser = DateParser(); + final date = parser(str); + expect(date != null, true); + }); +} diff --git a/experimental/http_get_cache/test/flutter_http_cache_test.dart b/experimental/http_get_cache/test/flutter_http_cache_test.dart new file mode 100644 index 0000000..a3d5720 --- /dev/null +++ b/experimental/http_get_cache/test/flutter_http_cache_test.dart @@ -0,0 +1,204 @@ +import 'dart:convert'; +import 'dart:io'; + +import 'package:http_get_cache/http_get_cache.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:http/http.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + late HttpGetCacheDatabase db; + late SqliteHttpCacheStore store; + + setUp(() async { + db = await initHttpGetCache( + cachePath: 'temp', + databasePath: 'temp' + ); + store = SqliteHttpCacheStore(db); + }); + + tearDown(() async { + await db.close(); + }); + + tearDownAll(() async { + await Directory(db.settings.cacheDir).delete(recursive: true); + // await Directory(db.settings.databaseDir).delete(recursive: true); + }); + + group('HttpGetCache', () { + test('check for no cache headers', () async { + final inner = TestHttpClient(); + final client = HttpGetCache(inner, store); + + var res = await client.get(Uri.http('example.com')); + + expect(res.statusCode, 200); + expect(inner.calls, 1); + + res = await client.get(Uri.http('example.com')); + + expect(res.statusCode, 200); + expect(inner.calls, 2); + }); + + test('check if cache-control header is respected', () async { + final inner = TestHttpClient(); + const target = 'http://example.com/cache-control'; + inner.handle = (req) async { + return Response('', 200, headers: { + 'Cache-Control': 'public, immutable', + }); + }; + final client = HttpGetCache(inner, store); + + var res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], 'public, immutable'); + expect(inner.calls, 1); + + res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], 'public, immutable'); + expect(inner.calls, 2); + }); + + test('check if max-age is respected', () async { + final inner = TestHttpClient(); + const target = 'http://example.com/max-age'; + const ma = 5; + inner.handle = (req) async { + return Response.bytes(utf8.encode('Success!'), 200, headers: { + 'Cache-Control': 'max-age=$ma', + }); + }; + final client = HttpGetCache(inner, store); + + var res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], 'max-age=$ma'); + expect(inner.calls, 1); + + res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], 'max-age=$ma'); + expect(inner.calls, 1); + + await Future.delayed(const Duration(seconds: ma + 1)); + res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], 'max-age=$ma'); + expect(inner.calls, 2); + }); + + test('check if max-age + stale-while-revalidate is respected', () async { + final inner = TestHttpClient(); + const target = 'http://example.com/max-age/stale-while-revalidate'; + const ma = 3; + const swr = 5; + inner.handle = (req) async { + return Response.bytes(utf8.encode('Success!'), 200, headers: { + 'Cache-Control': 'max-age=$ma, stale-while-revalidate=$swr', + }); + }; + final client = HttpGetCache(inner, store); + + var res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], + 'max-age=$ma, stale-while-revalidate=$swr'); + expect(inner.calls, 1); + + res = await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], + 'max-age=$ma, stale-while-revalidate=$swr'); + expect(inner.calls, 1); + + await Future.delayed(const Duration(seconds: ma)); + await client.stream(Request('GET', Uri.parse(target))).first; + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], + 'max-age=$ma, stale-while-revalidate=$swr'); + expect(inner.calls, 1); + + await Future.delayed(const Duration(seconds: swr + 1)); + await client.get(Uri.parse(target)); + + expect(res.statusCode, 200); + expect(res.headers['Cache-Control'], + 'max-age=$ma, stale-while-revalidate=$swr'); + expect(inner.calls, 2); + }); + + test('stale-if-error', () async { + final inner = TestHttpClient(); + const ma = 3; + const sie = 5; + const target = 'http://example.com/error-check'; + int count = 0; + bool error = false; + inner.handle = (req) async { + if (error) return Response('', 500); + if (req.method == 'GET') count++; + return Response.bytes(utf8.encode('count: $count'), 200, headers: { + 'Cache-Control': 'max-age=$ma, stale-if-error=$sie', + }); + }; + final client = HttpGetCache(inner, store); + final url = Uri.parse(target); + + var res = await client.get(url); + + expect(res.statusCode, 200); + expect(res.body, 'count: 1'); + + error = true; + await Future.delayed(const Duration(seconds: ma + 1)); + res = await client.get(url); + + expect(res.statusCode, 200); + expect(res.body, 'count: 1'); + + await Future.delayed(const Duration(seconds: sie + 1)); + res = await client.get(url); + + expect(res.statusCode, 500); + }); + }); +} + +class TestHttpClient extends BaseClient { + TestHttpClient(); + + int calls = 0; + + Future Function(BaseRequest request) handle = (req) async { + return Response('', 200); + }; + + @override + Future send(BaseRequest request) async { + final res = await handle(request); + if (request.method == 'GET') calls++; + return StreamedResponse( + Stream.value(res.bodyBytes), + res.statusCode, + headers: res.headers, + request: request, + isRedirect: res.isRedirect, + persistentConnection: res.persistentConnection, + reasonPhrase: res.reasonPhrase, + contentLength: res.contentLength, + ); + } +} diff --git a/experimental/http_get_cache/test/vary_header_test.dart b/experimental/http_get_cache/test/vary_header_test.dart new file mode 100644 index 0000000..15f60b9 --- /dev/null +++ b/experimental/http_get_cache/test/vary_header_test.dart @@ -0,0 +1,77 @@ +import 'dart:io'; + +import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:http/http.dart'; +import 'package:http/testing.dart'; +import 'package:http_get_cache/http_get_cache.dart'; + +void main() { + late Directory tempDir; + late HttpGetCacheDatabase db; + late SqliteHttpCacheStore store; + + setUp(() { + tempDir = Directory.systemTemp.createTempSync('http_get_cache_test_'); + final settings = DatabaseSettings( + 'test.db', + databaseDir: tempDir.path, + cacheDir: tempDir.path, + ); + db = HttpGetCacheDatabase(settings, NativeDatabase.memory()); + store = SqliteHttpCacheStore(db); + }); + + tearDown(() { + db.close(); + if (tempDir.existsSync()) { + tempDir.deleteSync(recursive: true); + } + }); + + test('Vary header differentiates cache entries', () async { + final client = MockClient((request) async { + return Response( + 'Response for ${request.headers['User-Agent']}', + 200, + headers: { + 'cache-control': 'max-age=100', + 'vary': 'User-Agent', + }, + ); + }); + + final cache = HttpGetCache(client, store); + + // Request 1: User-Agent A + final req1 = Request('GET', Uri.parse('https://example.com/api')); + req1.headers['User-Agent'] = 'AgentA'; + final res1 = await cache.save(req1); + expect(await res1.stream.bytesToString(), 'Response for AgentA'); + + // Request 2: User-Agent B + final req2 = Request('GET', Uri.parse('https://example.com/api')); + req2.headers['User-Agent'] = 'AgentB'; + final res2 = await cache.save(req2); + expect(await res2.stream.bytesToString(), 'Response for AgentB'); + + // Verify correct cache hits + + // Using a fail-client to ensure we hit the cache + final clientFail = + MockClient((req) async => throw Exception('Network call made!')); + final cacheHit = HttpGetCache(clientFail, store); + + // Request 3: User-Agent A again -> Should get Cached A + final req3 = Request('GET', Uri.parse('https://example.com/api')); + req3.headers['User-Agent'] = 'AgentA'; + final res3 = await (cacheHit.send(req3)); + expect(await res3.stream.bytesToString(), 'Response for AgentA'); + + // Request 4: User-Agent B again -> Should get Cached B + final req4 = Request('GET', Uri.parse('https://example.com/api')); + req4.headers['User-Agent'] = 'AgentB'; + final res4 = await (cacheHit.send(req4)); + expect(await res4.stream.bytesToString(), 'Response for AgentB'); + }); +}

4rXNMF?YtnmQ_HlReN1^dM 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