diff --git a/example/.gitignore b/example/.gitignore index 29a3a501..3d3d8995 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related @@ -30,6 +32,7 @@ migrate_working_dir/ .pub-cache/ .pub/ /build/ +pubspec.lock # Symbolication related app.*.symbols diff --git a/example/.metadata b/example/.metadata index 357f8d93..9a674c61 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "7482962148e8d758338d8a28f589f317e1e42ba4" + revision: "35c388afb57ef061d06a39b537336c87e0e3d1b1" channel: "stable" project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 - base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + - platform: android + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + - platform: ios + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + - platform: linux + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + - platform: macos + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 - platform: web - create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 - base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + - platform: windows + create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 + base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1 # User provided section diff --git a/example/android/.gitignore b/example/android/.gitignore new file mode 100644 index 00000000..be3943c9 --- /dev/null +++ b/example/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle deleted file mode 100644 index 77d4110f..00000000 --- a/example/android/app/build.gradle +++ /dev/null @@ -1,58 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion flutter.compileSdkVersion - - 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 "io.vitus.example" - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { -} diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts new file mode 100644 index 00000000..e83ebbe1 --- /dev/null +++ b/example/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +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") +} + +android { + namespace = "com.example.updated_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.updated_example" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + 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.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 7ea2d316..1a97b5f4 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,34 +1,45 @@ - - - - + + android:icon="@mipmap/ic_launcher"> - + + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme" + /> - - + + + + + + + + + + diff --git a/example/android/app/src/main/java/io/vitus/example/MainActivity.java b/example/android/app/src/main/java/io/vitus/example/MainActivity.java deleted file mode 100644 index 2a6bbee6..00000000 --- a/example/android/app/src/main/java/io/vitus/example/MainActivity.java +++ /dev/null @@ -1,6 +0,0 @@ -package io.vitus.example; - -import io.flutter.embedding.android.FlutterActivity; - -public class MainActivity extends FlutterActivity { -} diff --git a/example/android/app/src/main/kotlin/com/example/updated_example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/updated_example/MainActivity.kt new file mode 100644 index 00000000..6450d35d --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/updated_example/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.updated_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 00000000..f74085f3 --- /dev/null +++ b/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..06952be7 --- /dev/null +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml index 8a7dbd02..cb1ef880 100644 --- a/example/android/app/src/main/res/values/styles.xml +++ b/example/android/app/src/main/res/values/styles.xml @@ -1,11 +1,10 @@ - - - diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example/android/build.gradle b/example/android/build.gradle deleted file mode 100644 index 68230ee9..00000000 --- a/example/android/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -buildscript { - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' - } -} - -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/example/android/build.gradle.kts b/example/android/build.gradle.kts new file mode 100644 index 00000000..89176ef4 --- /dev/null +++ b/example/android/build.gradle.kts @@ -0,0 +1,21 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 94adc3a3..f018a618 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 6b665338..afa1e8eb 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Jun 23 08:50:38 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle deleted file mode 100644 index 5a2f14fb..00000000 --- a/example/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -include ':app' - -def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() - -def plugins = new Properties() -def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') -if (pluginsFile.exists()) { - pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } -} - -plugins.each { name, path -> - def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() - include ":$name" - project(":$name").projectDir = pluginDirectory -} diff --git a/example/android/settings.gradle.kts b/example/android/settings.gradle.kts new file mode 100644 index 00000000..a439442c --- /dev/null +++ b/example/android/settings.gradle.kts @@ -0,0 +1,25 @@ +pluginManagement { + val flutterSdkPath = run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + 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 "8.7.0" apply false + id("org.jetbrains.kotlin.android") version "1.8.22" apply false +} + +include(":app") diff --git a/example/ios/.gitignore b/example/ios/.gitignore new file mode 100644 index 00000000..7a7f9873 --- /dev/null +++ b/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/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist index 9367d483..7c569640 100644 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 8.0 + 12.0 diff --git a/example/ios/Flutter/Debug.xcconfig b/example/ios/Flutter/Debug.xcconfig index b2f5fae9..ec97fc6f 100644 --- a/example/ios/Flutter/Debug.xcconfig +++ b/example/ios/Flutter/Debug.xcconfig @@ -1,3 +1,2 @@ #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/example/ios/Flutter/Release.xcconfig b/example/ios/Flutter/Release.xcconfig index 88c29144..c4855bfe 100644 --- a/example/ios/Flutter/Release.xcconfig +++ b/example/ios/Flutter/Release.xcconfig @@ -1,3 +1,2 @@ #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/example/ios/Podfile b/example/ios/Podfile index d077b08b..e549ee22 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -10,60 +10,34 @@ project 'Runner', { 'Release' => :release, } -def parse_KV_file(file, separator='=') - file_abs_path = File.expand_path(file) - if !File.exists? file_abs_path - return []; +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 - pods_ary = [] - skip_line_start_symbols = ["#", "/"] - File.foreach(file_abs_path) { |line| - next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } - plugin = line.split(pattern=separator) - if plugin.length == 2 - podname = plugin[0].strip() - path = plugin[1].strip() - podpath = File.expand_path("#{path}", file_abs_path) - pods_ary.push({:name => podname, :path => podpath}); - else - puts "Invalid plugin specification: #{line}" - end - } - return pods_ary + + 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 - # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock - # referring to absolute paths on developers' machines. - system('rm -rf .symlinks') - system('mkdir -p .symlinks/plugins') + use_frameworks! - # Flutter Pods - generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig') - if generated_xcode_build_settings.empty? - puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first." + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths end - generated_xcode_build_settings.map { |p| - if p[:name] == 'FLUTTER_FRAMEWORK_DIR' - symlink = File.join('.symlinks', 'flutter') - File.symlink(File.dirname(p[:path]), symlink) - pod 'Flutter', :path => File.join(symlink, File.basename(p[:path])) - end - } - - # Plugin Pods - plugin_pods = parse_KV_file('../.flutter-plugins') - plugin_pods.map { |p| - symlink = File.join('.symlinks', 'plugins', p[:name]) - File.symlink(p[:path], symlink) - pod p[:name], :path => File.join(symlink, 'ios') - } end post_install do |installer| installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['ENABLE_BITCODE'] = 'NO' - end + flutter_additional_ios_build_settings(target) end end diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index d4fc6969..e6f52fec 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,21 +3,29 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ - 0971C0EA5B81A2E96140B8BA /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B7BCC0007C3DDEAA87CBF7AE /* libPods-Runner.a */; }; 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 */; }; - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 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; @@ -34,22 +42,19 @@ /* 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 = ""; }; - 1E5AC63251E5084E18C704B8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; 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 = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 87B0299D2F6253F586058FE7 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.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; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 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 = ""; }; - B7BCC0007C3DDEAA87CBF7AE /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - DABA83F17ED6239A7AC89CAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -57,29 +62,18 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0971C0EA5B81A2E96140B8BA /* libPods-Runner.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2B0303C777C2A7C36A797920 /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B7BCC0007C3DDEAA87CBF7AE /* libPods-Runner.a */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; - sourceTree = ""; - }; - 8848A5CBAC196E551DC9292D /* Pods */ = { - isa = PBXGroup; - children = ( - 1E5AC63251E5084E18C704B8 /* Pods-Runner.debug.xcconfig */, - 87B0299D2F6253F586058FE7 /* Pods-Runner.release.xcconfig */, - DABA83F17ED6239A7AC89CAE /* Pods-Runner.profile.xcconfig */, - ); - name = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -99,8 +93,7 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, - 8848A5CBAC196E551DC9292D /* Pods */, - 2B0303C777C2A7C36A797920 /* Frameworks */, + 331C8082294A63A400263BE5 /* RunnerTests */, ); sourceTree = ""; }; @@ -108,6 +101,7 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -115,42 +109,48 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, ); path = Runner; sourceTree = ""; }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - 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 = ( - 92EB0C67E72C7921967CBE14 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - E62E850C06B92A582AAB7B05 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -167,17 +167,23 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0910; - ORGANIZATIONNAME = "The Chromium Authors"; + 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 3.2"; - developmentRegion = English; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -189,18 +195,25 @@ 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 */, - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, ); @@ -211,10 +224,12 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -223,26 +238,9 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 92EB0C67E72C7921967CBE14 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -255,39 +253,36 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - E62E850C06B92A582AAB7B05 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework", + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, + 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; @@ -312,6 +307,7 @@ 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++"; @@ -321,12 +317,14 @@ 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; @@ -339,6 +337,7 @@ 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; @@ -347,9 +346,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -360,29 +360,75 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = S8QB4VV633; + DEVELOPMENT_TEAM = 4BT84R5QV6; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = io.vitus.example; + PRODUCT_BUNDLE_IDENTIFIER = com.example.updatedExample; 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.updatedExample.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.updatedExample.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.updatedExample.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++"; @@ -392,12 +438,14 @@ 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; @@ -410,6 +458,7 @@ 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; @@ -424,7 +473,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -436,6 +485,7 @@ 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++"; @@ -445,12 +495,14 @@ 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; @@ -463,6 +515,7 @@ 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; @@ -471,9 +524,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + 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; }; @@ -484,20 +540,20 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 4BT84R5QV6; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = io.vitus.example; + PRODUCT_BUNDLE_IDENTIFIER = com.example.updatedExample; 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; @@ -507,20 +563,19 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 4BT84R5QV6; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Flutter", + "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = io.vitus.example; + PRODUCT_BUNDLE_IDENTIFIER = com.example.updatedExample; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; @@ -528,6 +583,16 @@ /* 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 = ( diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 786d6aad..15cada48 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ - - - - + + + + + + @@ -63,8 +71,6 @@ ReferencedContainer = "container:Runner.xcodeproj"> - - - - diff --git a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/example/ios/Runner/AppDelegate.h b/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bbf..00000000 --- a/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/example/ios/Runner/AppDelegate.m b/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 59a72e90..00000000 --- a/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#include "AppDelegate.h" -#include "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift new file mode 100644 index 00000000..62666446 --- /dev/null +++ b/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@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/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index 3d43d11e..dc9ada47 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index 28c6bf03..7353c41e 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 2ccbfd96..797d452e 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index f091b6b0..6ed2d933 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index 4cde1211..4cd7b009 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index d0ef06e7..fe730945 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index dcdc2306..321773cd 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 2ccbfd96..797d452e 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index c8f9ed8f..502f463a 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index a6d6b860..0ec30343 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index a6d6b860..0ec30343 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index 75b2d164..e9f5fea2 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index c4df70d3..84ac32ae 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index 6a84f41e..8953cba0 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index d0e1f585..0467bf12 100644 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist index 0513117f..ae80de94 100644 --- a/example/ios/Runner/Info.plist +++ b/example/ios/Runner/Info.plist @@ -3,7 +3,9 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Updated Example CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -11,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - example + updated_example CFBundlePackageType APPL CFBundleShortVersionString @@ -39,7 +41,9 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + diff --git a/example/ios/Runner/Runner-Bridging-Header.h b/example/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 00000000..308a2a56 --- /dev/null +++ b/example/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/example/ios/Runner/main.m b/example/ios/Runner/main.m deleted file mode 100644 index dff6597e..00000000 --- a/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/example/ios/RunnerTests/RunnerTests.swift b/example/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..86a7c3b1 --- /dev/null +++ b/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/example/lib/database.g.dart b/example/lib/database.g.dart index 39dcf3a9..7ee08f52 100644 --- a/example/lib/database.g.dart +++ b/example/lib/database.g.dart @@ -54,15 +54,12 @@ class _$FlutterDatabaseBuilder implements $FlutterDatabaseBuilderContract { @override Future build() async { - final path = name != null - ? await sqfliteDatabaseFactory.getDatabasePath(name!) - : ':memory:'; + final path = + name != null + ? await sqfliteDatabaseFactory.getDatabasePath(name!) + : ':memory:'; final database = _$FlutterDatabase(); - database.database = await database.open( - path, - _migrations, - _callback, - ); + database.database = await database.open(path, _migrations, _callback); return database; } } @@ -90,13 +87,18 @@ class _$FlutterDatabase extends FlutterDatabase { }, onUpgrade: (database, startVersion, endVersion) async { await MigrationAdapter.runMigrations( - database, startVersion, endVersion, migrations); + database, + startVersion, + endVersion, + migrations, + ); await callback?.onUpgrade?.call(database, startVersion, endVersion); }, onCreate: (database, version) async { await database.execute( - 'CREATE TABLE IF NOT EXISTS `Task` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` TEXT NOT NULL, `isRead` INTEGER, `timestamp` INTEGER NOT NULL, `status` INTEGER, `type` TEXT)'); + 'CREATE TABLE IF NOT EXISTS `Task` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` TEXT NOT NULL, `isRead` INTEGER, `timestamp` INTEGER NOT NULL, `status` INTEGER, `type` TEXT)', + ); await callback?.onCreate?.call(database, version); }, @@ -111,48 +113,49 @@ class _$FlutterDatabase extends FlutterDatabase { } class _$TaskDao extends TaskDao { - _$TaskDao( - this.database, - this.changeListener, - ) : _queryAdapter = QueryAdapter(database, changeListener), - _taskInsertionAdapter = InsertionAdapter( - database, - 'Task', - (Task item) => { - 'id': item.id, - 'message': item.message, - 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), - 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'status': item.status?.index, - 'type': _taskTypeConverter.encode(item.type) - }, - changeListener), - _taskUpdateAdapter = UpdateAdapter( - database, - 'Task', - ['id'], - (Task item) => { - 'id': item.id, - 'message': item.message, - 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), - 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'status': item.status?.index, - 'type': _taskTypeConverter.encode(item.type) - }, - changeListener), - _taskDeletionAdapter = DeletionAdapter( - database, - 'Task', - ['id'], - (Task item) => { - 'id': item.id, - 'message': item.message, - 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), - 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'status': item.status?.index, - 'type': _taskTypeConverter.encode(item.type) - }, - changeListener); + _$TaskDao(this.database, this.changeListener) + : _queryAdapter = QueryAdapter(database, changeListener), + _taskInsertionAdapter = InsertionAdapter( + database, + 'Task', + (Task item) => { + 'id': item.id, + 'message': item.message, + 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), + 'timestamp': _dateTimeConverter.encode(item.timestamp), + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type), + }, + changeListener, + ), + _taskUpdateAdapter = UpdateAdapter( + database, + 'Task', + ['id'], + (Task item) => { + 'id': item.id, + 'message': item.message, + 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), + 'timestamp': _dateTimeConverter.encode(item.timestamp), + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type), + }, + changeListener, + ), + _taskDeletionAdapter = DeletionAdapter( + database, + 'Task', + ['id'], + (Task item) => { + 'id': item.id, + 'message': item.message, + 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), + 'timestamp': _dateTimeConverter.encode(item.timestamp), + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type), + }, + changeListener, + ); final sqflite.DatabaseExecutor database; @@ -168,8 +171,10 @@ class _$TaskDao extends TaskDao { @override Future findTaskById(int id) async { - return _queryAdapter.query('SELECT * FROM task WHERE id = ?1', - mapper: (Map row) => Task( + return _queryAdapter.query( + 'SELECT * FROM task WHERE id = ?1', + mapper: + (Map row) => Task( row['id'] as int?, row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, @@ -177,14 +182,18 @@ class _$TaskDao extends TaskDao { row['status'] == null ? null : TaskStatus.values[row['status'] as int], - _taskTypeConverter.decode(row['type'] as String?)), - arguments: [id]); + _taskTypeConverter.decode(row['type'] as String?), + ), + arguments: [id], + ); } @override Future> findAllTasks() async { - return _queryAdapter.queryList('SELECT * FROM task', - mapper: (Map row) => Task( + return _queryAdapter.queryList( + 'SELECT * FROM task', + mapper: + (Map row) => Task( row['id'] as int?, row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, @@ -192,13 +201,17 @@ class _$TaskDao extends TaskDao { row['status'] == null ? null : TaskStatus.values[row['status'] as int], - _taskTypeConverter.decode(row['type'] as String?))); + _taskTypeConverter.decode(row['type'] as String?), + ), + ); } @override Stream> findAllTasksAsStream() { - return _queryAdapter.queryListStream('SELECT * FROM task', - mapper: (Map row) => Task( + return _queryAdapter.queryListStream( + 'SELECT * FROM task', + mapper: + (Map row) => Task( row['id'] as int?, row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, @@ -206,23 +219,29 @@ class _$TaskDao extends TaskDao { row['status'] == null ? null : TaskStatus.values[row['status'] as int], - _taskTypeConverter.decode(row['type'] as String?)), - queryableName: 'task', - isView: false); + _taskTypeConverter.decode(row['type'] as String?), + ), + queryableName: 'task', + isView: false, + ); } @override Stream findUniqueMessagesCountAsStream() { - return _queryAdapter.queryStream('SELECT DISTINCT COUNT(message) FROM task', - mapper: (Map row) => row.values.first as int, - queryableName: 'task', - isView: false); + return _queryAdapter.queryStream( + 'SELECT DISTINCT COUNT(message) FROM task', + mapper: (Map row) => row.values.first as int, + queryableName: 'task', + isView: false, + ); } @override Stream> findAllTasksByStatusAsStream(TaskStatus status) { - return _queryAdapter.queryListStream('SELECT * FROM task WHERE status = ?1', - mapper: (Map row) => Task( + return _queryAdapter.queryListStream( + 'SELECT * FROM task WHERE status = ?1', + mapper: + (Map row) => Task( row['id'] as int?, row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, @@ -230,21 +249,21 @@ class _$TaskDao extends TaskDao { row['status'] == null ? null : TaskStatus.values[row['status'] as int], - _taskTypeConverter.decode(row['type'] as String?)), - arguments: [status.index], - queryableName: 'task', - isView: false); + _taskTypeConverter.decode(row['type'] as String?), + ), + arguments: [status.index], + queryableName: 'task', + isView: false, + ); } @override - Future updateTypeById( - TaskType type, - int id, - ) async { + Future updateTypeById(TaskType type, int id) async { return _queryAdapter.query( - 'UPDATE OR ABORT Task SET type = ?1 WHERE id = ?2', - mapper: (Map row) => row.values.first as int, - arguments: [type.index, id]); + 'UPDATE OR ABORT Task SET type = ?1 WHERE id = ?2', + mapper: (Map row) => row.values.first as int, + arguments: [type.index, id], + ); } @override diff --git a/example/macos/.gitignore b/example/macos/.gitignore new file mode 100644 index 00000000..746adbb6 --- /dev/null +++ b/example/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/example/macos/Flutter/Flutter-Debug.xcconfig b/example/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 00000000..4b81f9b2 --- /dev/null +++ b/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/example/macos/Flutter/Flutter-Release.xcconfig b/example/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 00000000..5caa9d15 --- /dev/null +++ b/example/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 00000000..29d4e7f0 --- /dev/null +++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,12 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import sqflite_darwin + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) +} diff --git a/example/macos/Podfile b/example/macos/Podfile new file mode 100644 index 00000000..29c8eb32 --- /dev/null +++ b/example/macos/Podfile @@ -0,0 +1,42 @@ +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! + + 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/example/macos/Podfile.lock b/example/macos/Podfile.lock new file mode 100644 index 00000000..55d1270a --- /dev/null +++ b/example/macos/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - FlutterMacOS (1.0.0) + - sqflite_darwin (0.0.4): + - Flutter + - FlutterMacOS + +DEPENDENCIES: + - FlutterMacOS (from `Flutter/ephemeral`) + - sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`) + +EXTERNAL SOURCES: + FlutterMacOS: + :path: Flutter/ephemeral + sqflite_darwin: + :path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin + +SPEC CHECKSUMS: + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + +PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82 + +COCOAPODS: 1.16.2 diff --git a/example/macos/Runner.xcodeproj/project.pbxproj b/example/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..50c9c4b9 --- /dev/null +++ b/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 */ + 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 */; }; + 42E952E3EEFA1F58E43E9E38 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBD51213CB50FA673567BF72 /* Pods_Runner.framework */; }; + 90039C321DD9A180F8D6D5C6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB41777ABCFEF256D2C19D0B /* Pods_RunnerTests.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 */ + 089B288F16832FB6AEA7C4FA /* 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 = ""; }; + 0D6AA6E2664A227A53A91FF0 /* 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 = ""; }; + 27780C56597FD988A51ABD32 /* 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 = ""; }; + 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 /* another_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = another_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 = ""; }; + 779A21C4EE7A19DBCD1A2381 /* 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 = ""; }; + 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 = ""; }; + A31EDC2674B45077191C1822 /* 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 = ""; }; + AB41777ABCFEF256D2C19D0B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E0BCB057B128D7382ABD6DD9 /* 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 = ""; }; + FBD51213CB50FA673567BF72 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 90039C321DD9A180F8D6D5C6 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 42E952E3EEFA1F58E43E9E38 /* 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 */, + 3EDC1B0170C61F264F0F5C8F /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* another_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 = ""; + }; + 3EDC1B0170C61F264F0F5C8F /* Pods */ = { + isa = PBXGroup; + children = ( + E0BCB057B128D7382ABD6DD9 /* Pods-Runner.debug.xcconfig */, + A31EDC2674B45077191C1822 /* Pods-Runner.release.xcconfig */, + 779A21C4EE7A19DBCD1A2381 /* Pods-Runner.profile.xcconfig */, + 089B288F16832FB6AEA7C4FA /* Pods-RunnerTests.debug.xcconfig */, + 27780C56597FD988A51ABD32 /* Pods-RunnerTests.release.xcconfig */, + 0D6AA6E2664A227A53A91FF0 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FBD51213CB50FA673567BF72 /* Pods_Runner.framework */, + AB41777ABCFEF256D2C19D0B /* 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 = ( + 59E392D113F81EF9666B38E7 /* [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 = ( + DF6817F55FDCE0D479CE317D /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + D8546D0A77F7B309A4C83B7D /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* another_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 */ + 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"; + }; + 59E392D113F81EF9666B38E7 /* [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; + }; + D8546D0A77F7B309A4C83B7D /* [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; + }; + DF6817F55FDCE0D479CE317D /* [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 = 089B288F16832FB6AEA7C4FA /* 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.anotherExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/another_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/another_example"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 27780C56597FD988A51ABD32 /* 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.anotherExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/another_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/another_example"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0D6AA6E2664A227A53A91FF0 /* 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.anotherExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/another_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/another_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/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 00000000..25f99eff --- /dev/null +++ b/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/example/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..21a3cc14 --- /dev/null +++ b/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/example/macos/Runner/AppDelegate.swift b/example/macos/Runner/AppDelegate.swift new file mode 100644 index 00000000..b3c17614 --- /dev/null +++ b/example/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } +} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..a2ec33f1 --- /dev/null +++ b/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/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 00000000..82b6f9d9 Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 00000000..13b35eba Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 00000000..0a3f5fa4 Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png new file mode 100644 index 00000000..bdb57226 Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png new file mode 100644 index 00000000..f083318e Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png new file mode 100644 index 00000000..326c0e72 Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 00000000..2f1632cf Binary files /dev/null and b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/example/macos/Runner/Base.lproj/MainMenu.xib b/example/macos/Runner/Base.lproj/MainMenu.xib new file mode 100644 index 00000000..80e867a4 --- /dev/null +++ b/example/macos/Runner/Base.lproj/MainMenu.xib @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example/macos/Runner/Configs/AppInfo.xcconfig b/example/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 00000000..c842a104 --- /dev/null +++ b/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 = another_example + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.anotherExample + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved. diff --git a/example/macos/Runner/Configs/Debug.xcconfig b/example/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 00000000..36b0fd94 --- /dev/null +++ b/example/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Release.xcconfig b/example/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 00000000..dff4f495 --- /dev/null +++ b/example/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Warnings.xcconfig b/example/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 00000000..42bcbf47 --- /dev/null +++ b/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/example/macos/Runner/DebugProfile.entitlements b/example/macos/Runner/DebugProfile.entitlements new file mode 100644 index 00000000..dddb8a30 --- /dev/null +++ b/example/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/example/macos/Runner/Info.plist b/example/macos/Runner/Info.plist new file mode 100644 index 00000000..4789daa6 --- /dev/null +++ b/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/example/macos/Runner/MainFlutterWindow.swift b/example/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 00000000..3cc05eb2 --- /dev/null +++ b/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/example/macos/Runner/Release.entitlements b/example/macos/Runner/Release.entitlements new file mode 100644 index 00000000..852fa1a4 --- /dev/null +++ b/example/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/example/macos/RunnerTests/RunnerTests.swift b/example/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..61f3bd1f --- /dev/null +++ b/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/example/pubspec.lock b/example/pubspec.lock deleted file mode 100644 index 841a53a7..00000000 --- a/example/pubspec.lock +++ /dev/null @@ -1,689 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" - url: "https://pub.dev" - source: hosted - version: "67.0.0" - analyzer: - dependency: "direct dev" - description: - name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" - url: "https://pub.dev" - source: hosted - version: "6.4.1" - args: - dependency: transitive - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - build: - dependency: transitive - description: - name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - build_config: - dependency: transitive - description: - name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.dev" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" - url: "https://pub.dev" - source: hosted - version: "4.0.1" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" - source: hosted - version: "2.4.2" - build_runner: - dependency: "direct dev" - description: - name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" - url: "https://pub.dev" - source: hosted - version: "2.4.8" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" - url: "https://pub.dev" - source: hosted - version: "7.3.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e - url: "https://pub.dev" - source: hosted - version: "8.9.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - charcode: - dependency: transitive - description: - name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 - url: "https://pub.dev" - source: hosted - version: "1.3.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" - source: hosted - version: "2.0.3" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 - url: "https://pub.dev" - source: hosted - version: "4.10.0" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" - url: "https://pub.dev" - source: hosted - version: "2.3.6" - dev_build: - dependency: transitive - description: - name: dev_build - sha256: e5d575f3de4b0e5f004e065e1e2d98fa012d634b61b5855216b5698ed7f1e443 - url: "https://pub.dev" - source: hosted - version: "0.16.4+3" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - floor: - dependency: "direct main" - description: - path: "../floor" - relative: true - source: path - version: "1.4.2" - floor_annotation: - dependency: transitive - description: - path: "../floor_annotation" - relative: true - source: path - version: "1.4.2" - floor_common: - dependency: transitive - description: - path: "../floor_common" - relative: true - source: path - version: "1.2.0" - floor_generator: - dependency: "direct dev" - description: - path: "../floor_generator" - relative: true - source: path - version: "1.4.2" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 - url: "https://pub.dev" - source: hosted - version: "3.0.1" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - graphs: - dependency: transitive - description: - name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - http: - dependency: transitive - description: - name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" - url: "https://pub.dev" - source: hosted - version: "10.0.0" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - lints: - dependency: transitive - description: - name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 - url: "https://pub.dev" - source: hosted - version: "3.0.0" - lists: - dependency: transitive - description: - name: lists - sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" - url: "https://pub.dev" - source: hosted - version: "0.8.0" - meta: - dependency: transitive - description: - name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - mime: - dependency: transitive - description: - name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - process_run: - dependency: transitive - description: - name: process_run - sha256: "8d9c6198b98fbbfb511edd42e7364e24d85c163e47398919871b952dc86a423e" - url: "https://pub.dev" - source: hosted - version: "0.14.2" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 - url: "https://pub.dev" - source: hosted - version: "1.2.3" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sqflite: - dependency: "direct main" - description: - name: sqflite - sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 - url: "https://pub.dev" - source: hosted - version: "2.3.2" - sqflite_common: - dependency: transitive - description: - name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" - url: "https://pub.dev" - source: hosted - version: "2.5.4" - sqflite_common_ffi: - dependency: transitive - description: - name: sqflite_common_ffi - sha256: "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - sqflite_common_ffi_web: - dependency: transitive - description: - name: sqflite_common_ffi_web - sha256: "323e6db355c9eac7d3d834e35be339cedbd04f43ef5bcef4e8158bd290c2a94e" - url: "https://pub.dev" - source: hosted - version: "0.4.3" - sqlite3: - dependency: transitive - description: - name: sqlite3 - sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" - url: "https://pub.dev" - source: hosted - version: "2.4.0" - sqlparser: - dependency: transitive - description: - name: sqlparser - sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0" - url: "https://pub.dev" - source: hosted - version: "0.34.1" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - strings: - dependency: transitive - description: - name: strings - sha256: b33f40c4dd3e597bf6d9e7f4f4dc282dad0f19b07d9f320cb5c2183859cbccf5 - url: "https://pub.dev" - source: hosted - version: "3.1.1" - synchronized: - dependency: transitive - description: - name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" - url: "https://pub.dev" - source: hosted - version: "3.1.0+1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - unicode: - dependency: transitive - description: - name: unicode - sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 - url: "https://pub.dev" - source: hosted - version: "13.0.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" - url: "https://pub.dev" - source: hosted - version: "0.5.1" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" - url: "https://pub.dev" - source: hosted - version: "2.4.4" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.7.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 0b074ef2..4a03f959 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,26 +1,28 @@ name: example -description: > - The typesafe, reactive and lightweight SQLite abstraction for your Flutter applications. - This is an example on how to use the library. -version: 1.0.0 +description: "This is an example on how to use the typesafe, reactive and lightweight SQLite abstraction within your Flutter applications." homepage: https://pinchbv.github.io/floor/ -publish_to: none +publish_to: 'none' + +version: 1.0.0+1 environment: - sdk: '>=3.2.6 <4.0.0' + sdk: ^3.7.0 dependencies: - floor: - path: ../floor/ flutter: sdk: flutter - sqflite: any # This dependency is needed to solve the problem with warning about transitive dependencies + floor: + path: ../floor/ + cupertino_icons: ^1.0.8 dev_dependencies: - analyzer: ^6.4.1 - build_runner: ^2.4.8 + flutter_test: + sdk: flutter + flutter_lints: ^5.0.0 + analyzer: ^7.0.0 + build_runner: ^2.4.15 floor_generator: path: ../floor_generator/ - flutter_lints: ^3.0.1 - flutter_test: - sdk: flutter \ No newline at end of file + +flutter: + uses-material-design: true diff --git a/example/web/favicon.png b/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/example/web/favicon.png and /dev/null differ diff --git a/example/web/icons/Icon-192.png b/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/example/web/icons/Icon-192.png and /dev/null differ diff --git a/example/web/icons/Icon-512.png b/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/example/web/icons/Icon-512.png and /dev/null differ diff --git a/example/web/icons/Icon-maskable-192.png b/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/example/web/icons/Icon-maskable-512.png b/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/example/web/index.html b/example/web/index.html deleted file mode 100644 index 45cf2ca3..00000000 --- a/example/web/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - example - - - - - - - - - - diff --git a/example/web/manifest.json b/example/web/manifest.json deleted file mode 100644 index 096edf8f..00000000 --- a/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "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/example/web/sqflite_sw.js b/example/web/sqflite_sw.js deleted file mode 100644 index 8289d55e..00000000 --- a/example/web/sqflite_sw.js +++ /dev/null @@ -1,11525 +0,0 @@ -(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) -for(var r=0;r=0)return true -if(typeof version=="function"&&version.length==0){var q=version() -if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() -function inherit(a,b){a.prototype.constructor=a -a.prototype["$i"+a.name]=a -if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) -return}var s=Object.create(b.prototype) -copyProperties(a.prototype,s) -a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.b(A.am(a,0,4294967295,"length",null)) -return J.t_(new Array(a),b)}, -rZ(a,b){if(a<0)throw A.b(A.ak("Length must be a non-negative integer: "+a,null)) -return A.u(new Array(a),b.h("M<0>"))}, -p9(a,b){if(a<0)throw A.b(A.ak("Length must be a non-negative integer: "+a,null)) -return A.u(new Array(a),b.h("M<0>"))}, -t_(a,b){return J.jM(A.u(a,b.h("M<0>")),b)}, -jM(a,b){a.fixed$length=Array -return a}, -pb(a){a.fixed$length=Array -a.immutable$list=Array -return a}, -t0(a,b){var s=t.bP -return J.rq(s.a(a),s.a(b))}, -pc(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 -default:return!1}switch(a){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!0 -default:return!1}}, -t1(a,b){var s,r -for(s=a.length;b0;b=r){r=b-1 -if(!(r>>0===b&&b").b(a))return new A.el(a,b.h("@<0>").t(c).h("el<1,2>")) -return new A.c5(a,b.h("@<0>").t(c).h("c5<1,2>"))}, -t3(a){return new A.ce("Field '"+a+"' has not been initialized.")}, -nq(a){var s,r=a^48 -if(r<=9)return r -s=a|32 -if(97<=s&&s<=102)return s-87 -return-1}, -bV(a,b){a=a+b&536870911 -a=a+((a&524287)<<10)&536870911 -return a^a>>>6}, -o6(a){a=a+((a&67108863)<<3)&536870911 -a^=a>>>11 -return a+((a&16383)<<15)&536870911}, -cx(a,b,c){return a}, -oE(a){var s,r -for(s=$.aT.length,r=0;rc)A.O(A.am(b,0,c,"start",null))}return new A.ci(a,b,c,d.h("ci<0>"))}, -pg(a,b,c,d){if(t.O.b(a))return new A.c7(a,b,c.h("@<0>").t(d).h("c7<1,2>")) -return new A.br(a,b,c.h("@<0>").t(d).h("br<1,2>"))}, -pp(a,b,c){var s="count" -if(t.O.b(a)){A.ji(b,s,t.S) -A.aC(b,s) -return new A.cF(a,b,c.h("cF<0>"))}A.ji(b,s,t.S) -A.aC(b,s) -return new A.bt(a,b,c.h("bt<0>"))}, -bp(){return new A.bv("No element")}, -p8(){return new A.bv("Too few elements")}, -t6(a,b){return new A.dN(a,b.h("dN<0>"))}, -c_:function c_(){}, -dx:function dx(a,b){this.a=a -this.$ti=b}, -c5:function c5(a,b){this.a=a -this.$ti=b}, -el:function el(a,b){this.a=a -this.$ti=b}, -eh:function eh(){}, -b0:function b0(a,b){this.a=a -this.$ti=b}, -dy:function dy(a,b){this.a=a -this.$ti=b}, -jx:function jx(a,b){this.a=a -this.b=b}, -jw:function jw(a){this.a=a}, -ce:function ce(a){this.a=a}, -dz:function dz(a){this.a=a}, -nz:function nz(){}, -ki:function ki(){}, -l:function l(){}, -a4:function a4(){}, -ci:function ci(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.$ti=d}, -b4:function b4(a,b,c){var _=this -_.a=a -_.b=b -_.c=0 -_.d=null -_.$ti=c}, -br:function br(a,b,c){this.a=a -this.b=b -this.$ti=c}, -c7:function c7(a,b,c){this.a=a -this.b=b -this.$ti=c}, -dQ:function dQ(a,b,c){var _=this -_.a=null -_.b=a -_.c=b -_.$ti=c}, -ag:function ag(a,b,c){this.a=a -this.b=b -this.$ti=c}, -lq:function lq(a,b,c){this.a=a -this.b=b -this.$ti=c}, -cl:function cl(a,b,c){this.a=a -this.b=b -this.$ti=c}, -bt:function bt(a,b,c){this.a=a -this.b=b -this.$ti=c}, -cF:function cF(a,b,c){this.a=a -this.b=b -this.$ti=c}, -e1:function e1(a,b,c){this.a=a -this.b=b -this.$ti=c}, -c8:function c8(a){this.$ti=a}, -dE:function dE(a){this.$ti=a}, -ec:function ec(a,b){this.a=a -this.$ti=b}, -ed:function ed(a,b){this.a=a -this.$ti=b}, -au:function au(){}, -bX:function bX(){}, -d7:function d7(){}, -ie:function ie(a){this.a=a}, -dN:function dN(a,b){this.a=a -this.$ti=b}, -e0:function e0(a,b){this.a=a -this.$ti=b}, -d5:function d5(a){this.a=a}, -eQ:function eQ(){}, -qV(a){var s=v.mangledGlobalNames[a] -if(s!=null)return s -return"minified:"+a}, -vI(a,b){var s -if(b!=null){s=b.x -if(s!=null)return s}return t.dX.b(a)}, -t(a){var s -if(typeof a=="string")return a -if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" -else if(!1===a)return"false" -else if(a==null)return"null" -s=J.ba(a) -return s}, -dY(a){var s,r=$.pk -if(r==null)r=$.pk=Symbol("identityHashCode") -s=a[r] -if(s==null){s=Math.random()*0x3fffffff|0 -a[r]=s}return s}, -nU(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a) -if(m==null)return n -if(3>=m.length)return A.c(m,3) -s=m[3] -if(b==null){if(s!=null)return parseInt(a,10) -if(m[2]!=null)return parseInt(a,16) -return n}if(b<2||b>36)throw A.b(A.am(b,2,36,"radix",n)) -if(b===10&&s!=null)return parseInt(a,10) -if(b<10||s==null){r=b<=10?47+b:86+b -q=m[1] -for(p=q.length,o=0;or)return n}return parseInt(a,b)}, -k6(a){return A.tc(a)}, -tc(a){var s,r,q,p -if(a instanceof A.r)return A.aJ(A.a3(a),null) -s=J.bi(a) -if(s===B.X||s===B.Z||t.cx.b(a)){r=B.u(a) -if(r!=="Object"&&r!=="")return r -q=a.constructor -if(typeof q=="function"){p=q.name -if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.aJ(A.a3(a),null)}, -pl(a){if(a==null||typeof a=="number"||A.c2(a))return J.ba(a) -if(typeof a=="string")return JSON.stringify(a) -if(a instanceof A.bN)return a.k(0) -if(a instanceof A.cu)return a.dw(!0) -return"Instance of '"+A.k6(a)+"'"}, -te(){if(!!self.location)return self.location.href -return null}, -tm(a,b,c){var s,r,q,p -if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) -for(s=b,r="";s>>0,s&1023|56320)}}throw A.b(A.am(a,0,1114111,null,null))}, -aO(a){if(a.date===void 0)a.date=new Date(a.a) -return a.date}, -tl(a){return a.b?A.aO(a).getUTCFullYear()+0:A.aO(a).getFullYear()+0}, -tj(a){return a.b?A.aO(a).getUTCMonth()+1:A.aO(a).getMonth()+1}, -tf(a){return a.b?A.aO(a).getUTCDate()+0:A.aO(a).getDate()+0}, -tg(a){return a.b?A.aO(a).getUTCHours()+0:A.aO(a).getHours()+0}, -ti(a){return a.b?A.aO(a).getUTCMinutes()+0:A.aO(a).getMinutes()+0}, -tk(a){return a.b?A.aO(a).getUTCSeconds()+0:A.aO(a).getSeconds()+0}, -th(a){return a.b?A.aO(a).getUTCMilliseconds()+0:A.aO(a).getMilliseconds()+0}, -bT(a,b,c){var s,r,q={} -q.a=0 -s=[] -r=[] -q.a=b.length -B.a.aW(s,b) -q.b="" -if(c!=null&&c.a!==0)c.B(0,new A.k5(q,r,s)) -return J.ry(a,new A.fF(B.a2,0,s,r,0))}, -td(a,b,c){var s,r,q -if(Array.isArray(b))s=c==null||c.a===0 -else s=!1 -if(s){r=b.length -if(r===0){if(!!a.$0)return a.$0()}else if(r===1){if(!!a.$1)return a.$1(b[0])}else if(r===2){if(!!a.$2)return a.$2(b[0],b[1])}else if(r===3){if(!!a.$3)return a.$3(b[0],b[1],b[2])}else if(r===4){if(!!a.$4)return a.$4(b[0],b[1],b[2],b[3])}else if(r===5)if(!!a.$5)return a.$5(b[0],b[1],b[2],b[3],b[4]) -q=a[""+"$"+r] -if(q!=null)return q.apply(a,b)}return A.tb(a,b,c)}, -tb(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g=Array.isArray(b)?b:A.fJ(b,!0,t.z),f=g.length,e=a.$R -if(fn)return A.bT(a,g,null) -if(fe)return A.bT(a,g,c) -if(g===b)g=A.fJ(g,!0,t.z) -l=Object.keys(q) -if(c==null)for(r=l.length,k=0;k=s)return A.V(b,s,a,null,r) -return A.pm(b,r)}, -vu(a,b,c){if(a>c)return A.am(a,0,c,"start",null) -if(b!=null)if(bc)return A.am(b,a,c,"end",null) -return new A.bb(!0,b,"end",null)}, -nj(a){return new A.bb(!0,a,null,null)}, -b(a){return A.qK(new Error(),a)}, -qK(a,b){var s -if(b==null)b=new A.bw() -a.dartException=b -s=A.vS -if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) -a.name=""}else a.toString=s -return a}, -vS(){return J.ba(this.dartException)}, -O(a){throw A.b(a)}, -qU(a,b){throw A.qK(b,a)}, -aS(a){throw A.b(A.as(a))}, -bx(a){var s,r,q,p,o,n -a=A.qR(a.replace(String({}),"$receiver$")) -s=a.match(/\\\$[a-zA-Z]+\\\$/g) -if(s==null)s=A.u([],t.s) -r=s.indexOf("\\$arguments\\$") -q=s.indexOf("\\$argumentsExpr\\$") -p=s.indexOf("\\$expr\\$") -o=s.indexOf("\\$method\\$") -n=s.indexOf("\\$receiver\\$") -return new A.lc(a.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])*)"),r,q,p,o,n)}, -ld(a){return function($expr$){var $argumentsExpr$="$arguments$" -try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, -pv(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, -nQ(a,b){var s=b==null,r=s?null:b.method -return new A.fH(a,r,s?null:b.receiver)}, -T(a){var s -if(a==null)return new A.k1(a) -if(a instanceof A.dF){s=a.a -return A.c4(a,s==null?t.K.a(s):s)}if(typeof a!=="object")return a -if("dartException" in a)return A.c4(a,a.dartException) -return A.vh(a)}, -c4(a,b){if(t.U.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a -return b}, -vh(a){var s,r,q,p,o,n,m,l,k,j,i,h,g -if(!("message" in a))return a -s=a.message -if("number" in a&&typeof a.number=="number"){r=a.number -q=r&65535 -if((B.c.R(r,16)&8191)===10)switch(q){case 438:return A.c4(a,A.nQ(A.t(s)+" (Error "+q+")",null)) -case 445:case 5007:A.t(s) -return A.c4(a,new A.dV())}}if(a instanceof TypeError){p=$.qZ() -o=$.r_() -n=$.r0() -m=$.r1() -l=$.r4() -k=$.r5() -j=$.r3() -$.r2() -i=$.r7() -h=$.r6() -g=p.a1(s) -if(g!=null)return A.c4(a,A.nQ(A.U(s),g)) -else{g=o.a1(s) -if(g!=null){g.method="call" -return A.c4(a,A.nQ(A.U(s),g))}else if(n.a1(s)!=null||m.a1(s)!=null||l.a1(s)!=null||k.a1(s)!=null||j.a1(s)!=null||m.a1(s)!=null||i.a1(s)!=null||h.a1(s)!=null){A.U(s) -return A.c4(a,new A.dV())}}return A.c4(a,new A.ht(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.e6() -s=function(b){try{return String(b)}catch(f){}return null}(a) -return A.c4(a,new A.bb(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.e6() -return a}, -a0(a){var s -if(a instanceof A.dF)return a.b -if(a==null)return new A.eB(a) -s=a.$cachedTrace -if(s!=null)return s -s=new A.eB(a) -if(typeof a==="object")a.$cachedTrace=s -return s}, -oG(a){if(a==null)return J.bl(a) -if(typeof a=="object")return A.dY(a) -return J.bl(a)}, -vy(a,b){var s,r,q,p=a.length -for(s=0;s=0 -else if(b instanceof A.cP){s=B.b.a_(a,c) -return b.b.test(s)}else return!J.rp(b,B.b.a_(a,c)).gY(0)}, -vw(a){if(a.indexOf("$",0)>=0)return a.replace(/\$/g,"$$$$") -return a}, -qR(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") -return a}, -vP(a,b,c){var s=A.vQ(a,b,c) -return s}, -vQ(a,b,c){var s,r,q -if(b===""){if(a==="")return c -s=a.length -r=""+c -for(q=0;q=0)return a.split(b).join(c) -return a.replace(new RegExp(A.qR(b),"g"),A.vw(c))}, -dh:function dh(a,b){this.a=a -this.b=b}, -dB:function dB(a,b){this.a=a -this.$ti=b}, -dA:function dA(){}, -c6:function c6(a,b,c){this.a=a -this.b=b -this.$ti=c}, -cs:function cs(a,b){this.a=a -this.$ti=b}, -en:function en(a,b,c){var _=this -_.a=a -_.b=b -_.c=0 -_.d=null -_.$ti=c}, -fF:function fF(a,b,c,d,e){var _=this -_.a=a -_.c=b -_.d=c -_.e=d -_.f=e}, -k5:function k5(a,b,c){this.a=a -this.b=b -this.c=c}, -lc:function lc(a,b,c,d,e,f){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f}, -dV:function dV(){}, -fH:function fH(a,b,c){this.a=a -this.b=b -this.c=c}, -ht:function ht(a){this.a=a}, -k1:function k1(a){this.a=a}, -dF:function dF(a,b){this.a=a -this.b=b}, -eB:function eB(a){this.a=a -this.b=null}, -bN:function bN(){}, -fc:function fc(){}, -fd:function fd(){}, -hk:function hk(){}, -hh:function hh(){}, -cB:function cB(a,b){this.a=a -this.b=b}, -hU:function hU(a){this.a=a}, -h9:function h9(a){this.a=a}, -hO:function hO(a){this.a=a}, -mL:function mL(){}, -b2:function b2(a){var _=this -_.a=0 -_.f=_.e=_.d=_.c=_.b=null -_.r=0 -_.$ti=a}, -jP:function jP(a){this.a=a}, -jO:function jO(a){this.a=a}, -jQ:function jQ(a,b){var _=this -_.a=a -_.b=b -_.d=_.c=null}, -b3:function b3(a,b){this.a=a -this.$ti=b}, -dM:function dM(a,b,c){var _=this -_.a=a -_.b=b -_.d=_.c=null -_.$ti=c}, -nr:function nr(a){this.a=a}, -ns:function ns(a){this.a=a}, -nt:function nt(a){this.a=a}, -cu:function cu(){}, -dg:function dg(){}, -cP:function cP(a,b){var _=this -_.a=a -_.b=b -_.d=_.c=null}, -es:function es(a){this.b=a}, -hM:function hM(a,b,c){this.a=a -this.b=b -this.c=c}, -hN:function hN(a,b,c){var _=this -_.a=a -_.b=b -_.c=c -_.d=null}, -e7:function e7(a,b){this.a=a -this.c=b}, -iI:function iI(a,b,c){this.a=a -this.b=b -this.c=c}, -iJ:function iJ(a,b,c){var _=this -_.a=a -_.b=b -_.c=c -_.d=null}, -bj(a){A.qU(new A.ce("Field '"+a+"' has not been initialized."),new Error())}, -jc(a){A.qU(new A.ce("Field '"+a+"' has been assigned during initialization."),new Error())}, -ei(a){var s=new A.lE(a) -return s.b=s}, -lE:function lE(a){this.a=a -this.b=null}, -uK(a){return a}, -or(a,b,c){}, -uO(a){return a}, -ph(a,b,c){A.or(a,b,c) -c=B.c.H(a.byteLength-b,4) -return new Int32Array(a,b,c)}, -t8(a){return new Uint8Array(a)}, -b5(a,b,c){A.or(a,b,c) -return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)}, -bE(a,b,c){if(a>>>0!==a||a>=c)throw A.b(A.eV(b,a))}, -uL(a,b,c){var s -if(!(a>>>0!==a))s=b>>>0!==b||a>b||b>c -else s=!0 -if(s)throw A.b(A.vu(a,b,c)) -return b}, -cW:function cW(){}, -a6:function a6(){}, -dR:function dR(){}, -ah:function ah(){}, -bS:function bS(){}, -aM:function aM(){}, -fQ:function fQ(){}, -fR:function fR(){}, -fS:function fS(){}, -fT:function fT(){}, -fU:function fU(){}, -fV:function fV(){}, -fW:function fW(){}, -dS:function dS(){}, -dT:function dT(){}, -eu:function eu(){}, -ev:function ev(){}, -ew:function ew(){}, -ex:function ex(){}, -pn(a,b){var s=b.c -return s==null?b.c=A.on(a,b.x,!0):s}, -nW(a,b){var s=b.c -return s==null?b.c=A.eJ(a,"I",[b.x]):s}, -po(a){var s=a.w -if(s===6||s===7||s===8)return A.po(a.x) -return s===12||s===13}, -tq(a){return a.as}, -aw(a){return A.iV(v.typeUniverse,a,!1)}, -c3(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w -switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 -case 6:s=a2.x -r=A.c3(a1,s,a3,a4) -if(r===s)return a2 -return A.pW(a1,r,!0) -case 7:s=a2.x -r=A.c3(a1,s,a3,a4) -if(r===s)return a2 -return A.on(a1,r,!0) -case 8:s=a2.x -r=A.c3(a1,s,a3,a4) -if(r===s)return a2 -return A.pU(a1,r,!0) -case 9:q=a2.y -p=A.ds(a1,q,a3,a4) -if(p===q)return a2 -return A.eJ(a1,a2.x,p) -case 10:o=a2.x -n=A.c3(a1,o,a3,a4) -m=a2.y -l=A.ds(a1,m,a3,a4) -if(n===o&&l===m)return a2 -return A.ol(a1,n,l) -case 11:k=a2.x -j=a2.y -i=A.ds(a1,j,a3,a4) -if(i===j)return a2 -return A.pV(a1,k,i) -case 12:h=a2.x -g=A.c3(a1,h,a3,a4) -f=a2.y -e=A.ve(a1,f,a3,a4) -if(g===h&&e===f)return a2 -return A.pT(a1,g,e) -case 13:d=a2.y -a4+=d.length -c=A.ds(a1,d,a3,a4) -o=a2.x -n=A.c3(a1,o,a3,a4) -if(c===d&&n===o)return a2 -return A.om(a1,n,c,!0) -case 14:b=a2.x -if(b=p)return A.c(q,0) -s=A.eL(v.typeUniverse,A.ox(q[0]),"@<0>") -for(r=1;r=0)p+=" "+r[q];++q}return p+"})"}, -qn(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=", " -if(a6!=null){s=a6.length -if(a5==null){a5=A.u([],t.s) -r=null}else r=a5.length -q=a5.length -for(p=s;p>0;--p)B.a.m(a5,"T"+(q+p)) -for(o=t.X,n=t._,m="<",l="",p=0;p=0))return A.c(a5,j) -m=B.b.b5(m+l,a5[j]) -i=a6[p] -h=i.w -if(!(h===2||h===3||h===4||h===5||i===o))if(!(i===n))k=!1 -else k=!0 -else k=!0 -if(!k)m+=" extends "+A.aJ(i,a5)}m+=">"}else{m="" -r=null}o=a4.x -g=a4.y -f=g.a -e=f.length -d=g.b -c=d.length -b=g.c -a=b.length -a0=A.aJ(o,a5) -for(a1="",a2="",p=0;p0){a1+=a2+"[" -for(a2="",p=0;p0){a1+=a2+"{" -for(a2="",p=0;p "+a0}, -aJ(a,b){var s,r,q,p,o,n,m,l=a.w -if(l===5)return"erased" -if(l===2)return"dynamic" -if(l===3)return"void" -if(l===1)return"Never" -if(l===4)return"any" -if(l===6)return A.aJ(a.x,b) -if(l===7){s=a.x -r=A.aJ(s,b) -q=s.w -return(q===12||q===13?"("+r+")":r)+"?"}if(l===8)return"FutureOr<"+A.aJ(a.x,b)+">" -if(l===9){p=A.vg(a.x) -o=a.y -return o.length>0?p+("<"+A.qx(o,b)+">"):p}if(l===11)return A.va(a,b) -if(l===12)return A.qn(a,b,null) -if(l===13)return A.qn(a.x,b,a.y) -if(l===14){n=a.x -m=b.length -n=m-1-n -if(!(n>=0&&n0)p+="<"+A.eI(c)+">" -s=a.eC.get(p) -if(s!=null)return s -r=new A.aV(null,null) -r.w=9 -r.x=b -r.y=c -if(c.length>0)r.c=c[0] -r.as=p -q=A.bD(a,r) -a.eC.set(p,q) -return q}, -ol(a,b,c){var s,r,q,p,o,n -if(b.w===10){s=b.x -r=b.y.concat(c)}else{r=c -s=b}q=s.as+(";<"+A.eI(r)+">") -p=a.eC.get(q) -if(p!=null)return p -o=new A.aV(null,null) -o.w=10 -o.x=s -o.y=r -o.as=q -n=A.bD(a,o) -a.eC.set(q,n) -return n}, -pV(a,b,c){var s,r,q="+"+(b+"("+A.eI(c)+")"),p=a.eC.get(q) -if(p!=null)return p -s=new A.aV(null,null) -s.w=11 -s.x=b -s.y=c -s.as=q -r=A.bD(a,s) -a.eC.set(q,r) -return r}, -pT(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.eI(m) -if(j>0){s=l>0?",":"" -g+=s+"["+A.eI(k)+"]"}if(h>0){s=l>0?",":"" -g+=s+"{"+A.uf(i)+"}"}r=n+(g+")") -q=a.eC.get(r) -if(q!=null)return q -p=new A.aV(null,null) -p.w=12 -p.x=b -p.y=c -p.as=r -o=A.bD(a,p) -a.eC.set(r,o) -return o}, -om(a,b,c,d){var s,r=b.as+("<"+A.eI(c)+">"),q=a.eC.get(r) -if(q!=null)return q -s=A.uh(a,b,c,r,d) -a.eC.set(r,s) -return s}, -uh(a,b,c,d,e){var s,r,q,p,o,n,m,l -if(e){s=c.length -r=A.n_(s) -for(q=0,p=0;p0){n=A.c3(a,b,r,0) -m=A.ds(a,c,r,0) -return A.om(a,n,m,c!==m)}}l=new A.aV(null,null) -l.w=13 -l.x=b -l.y=c -l.as=d -return A.bD(a,l)}, -pN(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, -pP(a){var s,r,q,p,o,n,m,l=a.r,k=a.s -for(s=l.length,r=0;r=48&&q<=57)r=A.u8(r+1,q,l,k) -else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.pO(a,r,l,k,!1) -else if(q===46)r=A.pO(a,r,l,k,!0) -else{++r -switch(q){case 44:break -case 58:k.push(!1) -break -case 33:k.push(!0) -break -case 59:k.push(A.c0(a.u,a.e,k.pop())) -break -case 94:k.push(A.uk(a.u,k.pop())) -break -case 35:k.push(A.eK(a.u,5,"#")) -break -case 64:k.push(A.eK(a.u,2,"@")) -break -case 126:k.push(A.eK(a.u,3,"~")) -break -case 60:k.push(a.p) -a.p=k.length -break -case 62:A.ua(a,k) -break -case 38:A.u9(a,k) -break -case 42:p=a.u -k.push(A.pW(p,A.c0(p,a.e,k.pop()),a.n)) -break -case 63:p=a.u -k.push(A.on(p,A.c0(p,a.e,k.pop()),a.n)) -break -case 47:p=a.u -k.push(A.pU(p,A.c0(p,a.e,k.pop()),a.n)) -break -case 40:k.push(-3) -k.push(a.p) -a.p=k.length -break -case 41:A.u7(a,k) -break -case 91:k.push(a.p) -a.p=k.length -break -case 93:o=k.splice(a.p) -A.pQ(a.u,a.e,o) -a.p=k.pop() -k.push(o) -k.push(-1) -break -case 123:k.push(a.p) -a.p=k.length -break -case 125:o=k.splice(a.p) -A.uc(a.u,a.e,o) -a.p=k.pop() -k.push(o) -k.push(-2) -break -case 43:n=l.indexOf("(",r) -k.push(l.substring(r,n)) -k.push(-4) -k.push(a.p) -a.p=k.length -r=n+1 -break -default:throw"Bad character "+q}}}m=k.pop() -return A.c0(a.u,a.e,m)}, -u8(a,b,c,d){var s,r,q=b-48 -for(s=c.length;a=48&&r<=57))break -q=q*10+(r-48)}d.push(q) -return a}, -pO(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 -for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 -else q=!0 -if(!q)break}}p=c.substring(b,m) -if(e){s=a.u -o=a.e -if(o.w===10)o=o.x -n=A.uo(s,o.x)[p] -if(n==null)A.O('No "'+p+'" in "'+A.tq(o)+'"') -d.push(A.eL(s,o,n))}else d.push(p) -return m}, -ua(a,b){var s,r=a.u,q=A.pM(a,b),p=b.pop() -if(typeof p=="string")b.push(A.eJ(r,p,q)) -else{s=A.c0(r,a.e,p) -switch(s.w){case 12:b.push(A.om(r,s,q,a.n)) -break -default:b.push(A.ol(r,s,q)) -break}}}, -u7(a,b){var s,r,q,p,o,n=null,m=a.u,l=b.pop() -if(typeof l=="number")switch(l){case-1:s=b.pop() -r=n -break -case-2:r=b.pop() -s=n -break -default:b.push(l) -r=n -s=r -break}else{b.push(l) -r=n -s=r}q=A.pM(a,b) -l=b.pop() -switch(l){case-3:l=b.pop() -if(s==null)s=m.sEA -if(r==null)r=m.sEA -p=A.c0(m,a.e,l) -o=new A.i4() -o.a=q -o.b=s -o.c=r -b.push(A.pT(m,p,o)) -return -case-4:b.push(A.pV(m,b.pop(),q)) -return -default:throw A.b(A.f2("Unexpected state under `()`: "+A.t(l)))}}, -u9(a,b){var s=b.pop() -if(0===s){b.push(A.eK(a.u,1,"0&")) -return}if(1===s){b.push(A.eK(a.u,4,"1&")) -return}throw A.b(A.f2("Unexpected extended operation "+A.t(s)))}, -pM(a,b){var s=b.splice(a.p) -A.pQ(a.u,a.e,s) -a.p=b.pop() -return s}, -c0(a,b,c){if(typeof c=="string")return A.eJ(a,c,a.sEA) -else if(typeof c=="number"){b.toString -return A.ub(a,b,c)}else return c}, -pQ(a,b,c){var s,r=c.length -for(s=0;sn)return!1 -m=n-o -l=s.b -k=r.b -j=l.length -i=k.length -if(o+j=d)return!1 -a1=f[b] -b+=3 -if(a00?new Array(q):v.typeUniverse.sEA -for(o=0;o0?new Array(a):v.typeUniverse.sEA}, -aV:function aV(a,b){var _=this -_.a=a -_.b=b -_.r=_.f=_.d=_.c=null -_.w=0 -_.as=_.Q=_.z=_.y=_.x=null}, -i4:function i4(){this.c=this.b=this.a=null}, -mW:function mW(a){this.a=a}, -i0:function i0(){}, -eH:function eH(a){this.a=a}, -tU(){var s,r,q={} -if(self.scheduleImmediate!=null)return A.vl() -if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") -r=self.document.createElement("span") -q.a=null -new self.MutationObserver(A.bH(new A.lv(q),1)).observe(s,{childList:true}) -return new A.lu(q,s,r)}else if(self.setImmediate!=null)return A.vm() -return A.vn()}, -tV(a){self.scheduleImmediate(A.bH(new A.lw(t.M.a(a)),0))}, -tW(a){self.setImmediate(A.bH(new A.lx(t.M.a(a)),0))}, -tX(a){A.pu(B.y,t.M.a(a))}, -pu(a,b){var s=B.c.H(a.a,1000) -return A.ud(s<0?0:s,b)}, -ud(a,b){var s=new A.mU(!0) -s.ey(a,b) -return s}, -y(a){return new A.ee(new A.C($.E,a.h("C<0>")),a.h("ee<0>"))}, -x(a,b){a.$2(0,null) -b.b=!0 -return b.a}, -o(a,b){A.uH(a,b)}, -w(a,b){b.W(0,a)}, -v(a,b){b.bq(A.T(a),A.a0(a))}, -uH(a,b){var s,r,q=new A.n2(b),p=new A.n3(b) -if(a instanceof A.C)a.dv(q,p,t.z) -else{s=t.z -if(a instanceof A.C)a.bF(q,p,s) -else{r=new A.C($.E,t.c) -r.a=8 -r.c=a -r.dv(q,p,s)}}}, -z(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) -break}catch(r){e=r -d=c}}}}(a,1) -return $.E.cJ(new A.ni(s),t.H,t.S,t.z)}, -pS(a,b,c){return 0}, -jj(a,b){var s=A.cx(a,"error",t.K) -return new A.dw(s,b==null?A.f3(a):b)}, -f3(a){var s -if(t.U.b(a)){s=a.gaM() -if(s!=null)return s}return B.V}, -rT(a,b){var s=new A.C($.E,b.h("C<0>")) -A.tP(B.y,new A.jH(s,a)) -return s}, -p4(a,b){var s,r,q,p,o,n,m -try{s=a.$0() -n=b.h("I<0>").b(s)?s:A.pK(s,b) -return n}catch(m){r=A.T(m) -q=A.a0(m) -n=$.E -p=new A.C(n,b.h("C<0>")) -o=n.aY(r,q) -if(o!=null)p.an(o.a,o.b) -else p.an(r,q) -return p}}, -p5(a,b){var s -b.a(a) -s=new A.C($.E,b.h("C<0>")) -s.b9(a) -return s}, -dH(a,b,c){var s,r -A.cx(a,"error",t.K) -s=$.E -if(s!==B.d){r=s.aY(a,b) -if(r!=null){a=r.a -b=r.b}}if(b==null)b=A.f3(a) -s=new A.C($.E,c.h("C<0>")) -s.an(a,b) -return s}, -nM(a,b){var s,r,q,p,o,n,m,l,k,j,i={},h=null,g=!1,f=new A.C($.E,b.h("C>")) -i.a=null -i.b=0 -s=A.ei("error") -r=A.ei("stackTrace") -q=new A.jJ(i,h,g,f,s,r) -try{for(l=J.ar(a),k=t.P;l.n();){p=l.gq(l) -o=i.b -p.bF(new A.jI(i,o,f,h,g,s,r,b),q,k);++i.b}l=i.b -if(l===0){l=f -l.aS(A.u([],b.h("M<0>"))) -return l}i.a=A.dO(l,null,!1,b.h("0?"))}catch(j){n=A.T(j) -m=A.a0(j) -if(i.b===0||A.bG(g))return A.dH(n,m,b.h("n<0>")) -else{s.b=n -r.b=m}}return f}, -qh(a,b,c){var s=$.E.aY(b,c) -if(s!=null){b=s.a -c=s.b}else if(c==null)c=A.f3(b) -a.P(b,c)}, -pK(a,b){var s=new A.C($.E,b.h("C<0>")) -b.a(a) -s.a=8 -s.c=a -return s}, -oj(a,b){var s,r,q -for(s=t.c;r=a.a,(r&4)!==0;)a=s.a(a.c) -if((r&24)!==0){q=b.bi() -b.bb(a) -A.df(b,q)}else{q=t.d.a(b.c) -b.dn(a) -a.cf(q)}}, -u5(a,b){var s,r,q,p={},o=p.a=a -for(s=t.c;r=o.a,(r&4)!==0;o=a){a=s.a(o.c) -p.a=a}if((r&24)===0){q=t.d.a(b.c) -b.dn(o) -p.a.cf(q) -return}if((r&16)===0&&b.c==null){b.bb(o) -return}b.a^=2 -b.b.am(new A.lR(p,b))}, -df(a,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c={},b=c.a=a -for(s=t.n,r=t.d,q=t.g7;!0;){p={} -o=b.a -n=(o&16)===0 -m=!n -if(a0==null){if(m&&(o&1)===0){l=s.a(b.c) -b.b.dP(l.a,l.b)}return}p.a=a0 -k=a0.a -for(b=a0;k!=null;b=k,k=j){b.a=null -A.df(c.a,b) -p.a=k -j=k.a}o=c.a -i=o.c -p.b=m -p.c=i -if(n){h=b.c -h=(h&1)!==0||(h&15)===8}else h=!0 -if(h){g=b.b.b -if(m){b=o.b -b=!(b===g||b.gaw()===g.gaw())}else b=!1 -if(b){b=c.a -l=s.a(b.c) -b.b.dP(l.a,l.b) -return}f=$.E -if(f!==g)$.E=g -else f=null -b=p.a.c -if((b&15)===8)new A.lY(p,c,m).$0() -else if(n){if((b&1)!==0)new A.lX(p,i).$0()}else if((b&2)!==0)new A.lW(c,p).$0() -if(f!=null)$.E=f -b=p.c -if(b instanceof A.C){o=p.a.$ti -o=o.h("I<2>").b(b)||!o.y[1].b(b)}else o=!1 -if(o){q.a(b) -e=p.a.b -if((b.a&24)!==0){d=r.a(e.c) -e.c=null -a0=e.bj(d) -e.a=b.a&30|e.a&1 -e.c=b.c -c.a=b -continue}else A.oj(b,e) -return}}e=p.a.b -d=r.a(e.c) -e.c=null -a0=e.bj(d) -b=p.b -o=p.c -if(!b){e.$ti.c.a(o) -e.a=8 -e.c=o}else{s.a(o) -e.a=e.a&1|16 -e.c=o}c.a=e -b=e}}, -vb(a,b){if(t.Q.b(a))return b.cJ(a,t.z,t.K,t.l) -if(t.v.b(a))return b.bD(a,t.z,t.K) -throw A.b(A.bm(a,"onError",u.c))}, -v8(){var s,r -for(s=$.dr;s!=null;s=$.dr){$.eT=null -r=s.b -$.dr=r -if(r==null)$.eS=null -s.a.$0()}}, -vd(){$.ov=!0 -try{A.v8()}finally{$.eT=null -$.ov=!1 -if($.dr!=null)$.oK().$1(A.qF())}}, -qz(a){var s=new A.hP(a),r=$.eS -if(r==null){$.dr=$.eS=s -if(!$.ov)$.oK().$1(A.qF())}else $.eS=r.b=s}, -vc(a){var s,r,q,p=$.dr -if(p==null){A.qz(a) -$.eT=$.eS -return}s=new A.hP(a) -r=$.eT -if(r==null){s.b=p -$.dr=$.eT=s}else{q=r.b -s.b=q -$.eT=r.b=s -if(q==null)$.eS=s}}, -qS(a){var s,r=null,q=$.E -if(B.d===q){A.ng(r,r,B.d,a) -return}if(B.d===q.gfm().a)s=B.d.gaw()===q.gaw() -else s=!1 -if(s){A.ng(r,r,q,q.cK(a,t.H)) -return}s=$.E -s.am(s.co(a))}, -wp(a,b){return new A.iH(A.cx(a,"stream",t.K),b.h("iH<0>"))}, -ow(a){return}, -pI(a,b,c){var s=b==null?A.vo():b -return a.bD(s,t.H,c)}, -u4(a,b){if(t.k.b(b))return a.cJ(b,t.z,t.K,t.l) -if(t.i6.b(b))return a.bD(b,t.z,t.K) -throw A.b(A.ak("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, -v9(a){}, -uJ(a,b,c){var s=a.S(0),r=$.eY() -if(s!==r)s.aH(new A.n4(b,c)) -else b.aR(c)}, -tP(a,b){var s=$.E -if(s===B.d)return s.dI(a,b) -return s.dI(a,s.co(b))}, -ne(a,b){A.vc(new A.nf(a,b))}, -qu(a,b,c,d,e){var s,r -t.R.a(a) -t.r.a(b) -t.x.a(c) -e.h("0()").a(d) -r=$.E -if(r===c)return d.$0() -$.E=c -s=r -try{r=d.$0() -return r}finally{$.E=s}}, -qw(a,b,c,d,e,f,g){var s,r -t.R.a(a) -t.r.a(b) -t.x.a(c) -f.h("@<0>").t(g).h("1(2)").a(d) -g.a(e) -r=$.E -if(r===c)return d.$1(e) -$.E=c -s=r -try{r=d.$1(e) -return r}finally{$.E=s}}, -qv(a,b,c,d,e,f,g,h,i){var s,r -t.R.a(a) -t.r.a(b) -t.x.a(c) -g.h("@<0>").t(h).t(i).h("1(2,3)").a(d) -h.a(e) -i.a(f) -r=$.E -if(r===c)return d.$2(e,f) -$.E=c -s=r -try{r=d.$2(e,f) -return r}finally{$.E=s}}, -ng(a,b,c,d){var s,r -t.M.a(d) -if(B.d!==c){s=B.d.gaw() -r=c.gaw() -d=s!==r?c.co(d):c.fE(d,t.H)}A.qz(d)}, -lv:function lv(a){this.a=a}, -lu:function lu(a,b,c){this.a=a -this.b=b -this.c=c}, -lw:function lw(a){this.a=a}, -lx:function lx(a){this.a=a}, -mU:function mU(a){this.a=a -this.b=null -this.c=0}, -mV:function mV(a,b){this.a=a -this.b=b}, -ee:function ee(a,b){this.a=a -this.b=!1 -this.$ti=b}, -n2:function n2(a){this.a=a}, -n3:function n3(a){this.a=a}, -ni:function ni(a){this.a=a}, -eE:function eE(a,b){var _=this -_.a=a -_.e=_.d=_.c=_.b=null -_.$ti=b}, -dk:function dk(a,b){this.a=a -this.$ti=b}, -dw:function dw(a,b){this.a=a -this.b=b}, -jH:function jH(a,b){this.a=a -this.b=b}, -jJ:function jJ(a,b,c,d,e,f){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f}, -jI:function jI(a,b,c,d,e,f,g,h){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g -_.w=h}, -co:function co(){}, -cn:function cn(a,b){this.a=a -this.$ti=b}, -a9:function a9(a,b){this.a=a -this.$ti=b}, -bC:function bC(a,b,c,d,e){var _=this -_.a=null -_.b=a -_.c=b -_.d=c -_.e=d -_.$ti=e}, -C:function C(a,b){var _=this -_.a=0 -_.b=a -_.c=null -_.$ti=b}, -lO:function lO(a,b){this.a=a -this.b=b}, -lV:function lV(a,b){this.a=a -this.b=b}, -lS:function lS(a){this.a=a}, -lT:function lT(a){this.a=a}, -lU:function lU(a,b,c){this.a=a -this.b=b -this.c=c}, -lR:function lR(a,b){this.a=a -this.b=b}, -lQ:function lQ(a,b){this.a=a -this.b=b}, -lP:function lP(a,b,c){this.a=a -this.b=b -this.c=c}, -lY:function lY(a,b,c){this.a=a -this.b=b -this.c=c}, -lZ:function lZ(a){this.a=a}, -lX:function lX(a,b){this.a=a -this.b=b}, -lW:function lW(a,b){this.a=a -this.b=b}, -hP:function hP(a){this.a=a -this.b=null}, -d3:function d3(){}, -l8:function l8(a,b){this.a=a -this.b=b}, -l9:function l9(a,b){this.a=a -this.b=b}, -l6:function l6(a){this.a=a}, -l7:function l7(a,b,c){this.a=a -this.b=b -this.c=c}, -dj:function dj(){}, -mQ:function mQ(a){this.a=a}, -mP:function mP(a){this.a=a}, -iO:function iO(){}, -dl:function dl(a,b,c,d,e){var _=this -_.a=null -_.b=0 -_.c=null -_.d=a -_.e=b -_.f=c -_.r=d -_.$ti=e}, -da:function da(a,b){this.a=a -this.$ti=b}, -db:function db(a,b,c,d,e,f,g){var _=this -_.w=a -_.a=b -_.b=c -_.c=d -_.d=e -_.e=f -_.r=_.f=null -_.$ti=g}, -eg:function eg(){}, -lD:function lD(a,b,c){this.a=a -this.b=b -this.c=c}, -lC:function lC(a){this.a=a}, -eD:function eD(){}, -bB:function bB(){}, -cq:function cq(a,b){this.b=a -this.a=null -this.$ti=b}, -ej:function ej(a,b){this.b=a -this.c=b -this.a=null}, -hW:function hW(){}, -aX:function aX(a){var _=this -_.a=0 -_.c=_.b=null -_.$ti=a}, -mI:function mI(a,b){this.a=a -this.b=b}, -iH:function iH(a,b){var _=this -_.a=null -_.b=a -_.c=!1 -_.$ti=b}, -n4:function n4(a,b){this.a=a -this.b=b}, -iW:function iW(a,b,c){this.a=a -this.b=b -this.$ti=c}, -eP:function eP(){}, -nf:function nf(a,b){this.a=a -this.b=b}, -iw:function iw(){}, -mN:function mN(a,b,c){this.a=a -this.b=b -this.c=c}, -mM:function mM(a,b){this.a=a -this.b=b}, -mO:function mO(a,b,c){this.a=a -this.b=b -this.c=c}, -t4(a,b){return new A.b2(a.h("@<0>").t(b).h("b2<1,2>"))}, -az(a,b,c){return b.h("@<0>").t(c).h("pe<1,2>").a(A.vy(a,new A.b2(b.h("@<0>").t(c).h("b2<1,2>"))))}, -W(a,b){return new A.b2(a.h("@<0>").t(b).h("b2<1,2>"))}, -t5(a){return new A.eo(a.h("eo<0>"))}, -ok(){var s=Object.create(null) -s[""]=s -delete s[""] -return s}, -pL(a,b,c){var s=new A.ct(a,b,c.h("ct<0>")) -s.c=a.e -return s}, -nR(a,b,c){var s=A.t4(b,c) -J.bk(a,new A.jR(s,b,c)) -return s}, -fL(a){var s,r={} -if(A.oE(a))return"{...}" -s=new A.aj("") -try{B.a.m($.aT,a) -s.a+="{" -r.a=!0 -J.bk(a,new A.jU(r,s)) -s.a+="}"}finally{if(0>=$.aT.length)return A.c($.aT,-1) -$.aT.pop()}r=s.a -return r.charCodeAt(0)==0?r:r}, -eo:function eo(a){var _=this -_.a=0 -_.f=_.e=_.d=_.c=_.b=null -_.r=0 -_.$ti=a}, -id:function id(a){this.a=a -this.c=this.b=null}, -ct:function ct(a,b,c){var _=this -_.a=a -_.b=b -_.d=_.c=null -_.$ti=c}, -jR:function jR(a,b,c){this.a=a -this.b=b -this.c=c}, -cS:function cS(a){var _=this -_.b=_.a=0 -_.c=null -_.$ti=a}, -ep:function ep(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=null -_.d=c -_.e=!1 -_.$ti=d}, -af:function af(){}, -i:function i(){}, -D:function D(){}, -jT:function jT(a){this.a=a}, -jU:function jU(a,b){this.a=a -this.b=b}, -d8:function d8(){}, -eq:function eq(a,b){this.a=a -this.$ti=b}, -er:function er(a,b,c){var _=this -_.a=a -_.b=b -_.c=null -_.$ti=c}, -c1:function c1(){}, -cT:function cT(){}, -ea:function ea(){}, -cY:function cY(){}, -ey:function ey(){}, -dn:function dn(){}, -uA(a,b,c){var s,r,q,p,o=c-b -if(o<=4096)s=$.re() -else s=new Uint8Array(o) -for(r=J.Y(a),q=0;q=16)return null -r=r*16+o}n=h-1 -if(!(h>=0&&h=0&&s=16)return null -r=r*16+o}m=n-1 -if(!(n>=0&&n=j)return A.c(i,0) -l=i[0]===0}else l=!1 -if(l)return $.bJ() -l=A.aW(j,i) -return new A.a7(l===0?!1:c,i,l)}, -oi(a,b){var s,r,q,p,o,n -if(a==="")return null -s=$.r9().fS(a) -if(s==null)return null -r=s.b -q=r.length -if(1>=q)return A.c(r,1) -p=r[1]==="-" -if(4>=q)return A.c(r,4) -o=r[4] -n=r[3] -if(5>=q)return A.c(r,5) -if(o!=null)return A.u0(o,p) -if(n!=null)return A.u1(n,2,p) -return null}, -aW(a,b){var s,r=b.length -while(!0){if(a>0){s=a-1 -if(!(s=0&&q=0;--s){p=s+c -if(!(s=0&&p=0;--s){if(!(s=0;--s){if(!(s=0&&n>>0 -p=B.c.aK((o&i)>>>0,k)}if(!(l>=0&&l=0;){if(!(q=0&&p=0&&m>>0,k) -if(!(p>>0 -s=B.c.aL(n,l)}if(!(r>=0&&r=0;--s){if(!(s=0&&o=0&&b=0&&o=0;e=m,c=p){p=c+1 -if(!(c=0&&e=0&&e=0&&c=0&&r>>0,a) -if(q>65535)return 65535 -return q}, -nu(a,b){var s=A.nU(a,b) -if(s!=null)return s -throw A.b(A.ae(a,null,null))}, -rO(a,b){a=A.b(a) -if(a==null)a=t.K.a(a) -a.stack=b.k(0) -throw a -throw A.b("unreachable")}, -dO(a,b,c,d){var s,r=c?J.rZ(a,d):J.pa(a,d) -if(a!==0&&b!=null)for(s=0;s")) -for(s=J.ar(a);s.n();)B.a.m(r,c.a(s.gq(s))) -if(b)return r -return J.jM(r,c)}, -fJ(a,b,c){var s -if(b)return A.pf(a,c) -s=J.jM(A.pf(a,c),c) -return s}, -pf(a,b){var s,r -if(Array.isArray(a))return A.u(a.slice(0),b.h("M<0>")) -s=A.u([],b.h("M<0>")) -for(r=J.ar(a);r.n();)B.a.m(s,r.gq(r)) -return s}, -dP(a,b){return J.pb(A.jS(a,!1,b))}, -pt(a,b,c){var s,r -A.aC(b,"start") -if(c!=null){s=c-b -if(s<0)throw A.b(A.am(c,b,null,"end",null)) -if(s===0)return""}r=A.tN(a,b,c) -return r}, -tM(a){return A.be(a)}, -tN(a,b,c){var s=a.length -if(b>=s)return"" -return A.tm(a,b,c==null||c>s?s:c)}, -aU(a,b){return new A.cP(a,A.pd(a,!1,b,!1,!1,!1))}, -la(a,b,c){var s=J.ar(b) -if(!s.n())return a -if(c.length===0){do a+=A.t(s.gq(s)) -while(s.n())}else{a+=A.t(s.gq(s)) -for(;s.n();)a=a+c+A.t(s.gq(s))}return a}, -pi(a,b){return new A.fX(a,b.ghh(),b.ghr(),b.ghi())}, -o8(){var s,r,q=A.te() -if(q==null)throw A.b(A.F("'Uri.base' is not supported")) -s=$.py -if(s!=null&&q===$.px)return s -r=A.pz(q) -$.py=r -$.px=q -return r}, -rM(a){var s=Math.abs(a),r=a<0?"-":"" -if(s>=1000)return""+a -if(s>=100)return r+"0"+s -if(s>=10)return r+"00"+s -return r+"000"+s}, -rN(a){if(a>=100)return""+a -if(a>=10)return"0"+a -return"00"+a}, -fp(a){if(a>=10)return""+a -return"0"+a}, -c9(a){if(typeof a=="number"||A.c2(a)||a==null)return J.ba(a) -if(typeof a=="string")return JSON.stringify(a) -return A.pl(a)}, -rP(a,b){A.cx(a,"error",t.K) -A.cx(b,"stackTrace",t.l) -A.rO(a,b)}, -f2(a){return new A.dv(a)}, -ak(a,b){return new A.bb(!1,null,b,a)}, -bm(a,b,c){return new A.bb(!0,a,b,c)}, -ji(a,b,c){return a}, -pm(a,b){return new A.cX(null,null,!0,a,b,"Value not in range")}, -am(a,b,c,d,e){return new A.cX(b,c,!0,a,d,"Invalid value")}, -to(a,b,c,d){if(ac)throw A.b(A.am(a,b,c,d,null)) -return a}, -cg(a,b,c){if(0>a||a>c)throw A.b(A.am(a,0,c,"start",null)) -if(b!=null){if(a>b||b>c)throw A.b(A.am(b,a,c,"end",null)) -return b}return c}, -aC(a,b){if(a<0)throw A.b(A.am(a,0,null,b,null)) -return a}, -V(a,b,c,d,e){return new A.fB(b,!0,a,e,"Index out of range")}, -F(a){return new A.hv(a)}, -hs(a){return new A.hr(a)}, -K(a){return new A.bv(a)}, -as(a){return new A.fg(a)}, -p3(a){return new A.lL(a)}, -ae(a,b,c){return new A.jG(a,b,c)}, -rY(a,b,c){var s,r -if(A.oE(a)){if(b==="("&&c===")")return"(...)" -return b+"..."+c}s=A.u([],t.s) -B.a.m($.aT,a) -try{A.v7(a,s)}finally{if(0>=$.aT.length)return A.c($.aT,-1) -$.aT.pop()}r=A.la(b,t.e7.a(s),", ")+c -return r.charCodeAt(0)==0?r:r}, -nN(a,b,c){var s,r -if(A.oE(a))return b+"..."+c -s=new A.aj(b) -B.a.m($.aT,a) -try{r=s -r.a=A.la(r.a,a,", ")}finally{if(0>=$.aT.length)return A.c($.aT,-1) -$.aT.pop()}s.a+=c -r=s.a -return r.charCodeAt(0)==0?r:r}, -v7(a,b){var s,r,q,p,o,n,m,l=a.gC(a),k=0,j=0 -while(!0){if(!(k<80||j<3))break -if(!l.n())return -s=A.t(l.gq(l)) -B.a.m(b,s) -k+=s.length+2;++j}if(!l.n()){if(j<=5)return -if(0>=b.length)return A.c(b,-1) -r=b.pop() -if(0>=b.length)return A.c(b,-1) -q=b.pop()}else{p=l.gq(l);++j -if(!l.n()){if(j<=4){B.a.m(b,A.t(p)) -return}r=A.t(p) -if(0>=b.length)return A.c(b,-1) -q=b.pop() -k+=r.length+2}else{o=l.gq(l);++j -for(;l.n();p=o,o=n){n=l.gq(l);++j -if(j>100){while(!0){if(!(k>75&&j>3))break -if(0>=b.length)return A.c(b,-1) -k-=b.pop().length+2;--j}B.a.m(b,"...") -return}}q=A.t(p) -r=A.t(o) -k+=r.length+q.length+4}}if(j>b.length+2){k+=5 -m="..."}else m=null -while(!0){if(!(k>80&&b.length>3))break -if(0>=b.length)return A.c(b,-1) -k-=b.pop().length+2 -if(m==null){k+=5 -m="..."}}if(m!=null)B.a.m(b,m) -B.a.m(b,q) -B.a.m(b,r)}, -nT(a,b,c,d){var s -if(B.q===c){s=B.k.gA(a) -b=J.bl(b) -return A.o6(A.bV(A.bV($.nF(),s),b))}if(B.q===d){s=B.k.gA(a) -b=J.bl(b) -c=J.bl(c) -return A.o6(A.bV(A.bV(A.bV($.nF(),s),b),c))}s=B.k.gA(a) -b=J.bl(b) -c=J.bl(c) -d=J.bl(d) -d=A.o6(A.bV(A.bV(A.bV(A.bV($.nF(),s),b),c),d)) -return d}, -aZ(a){var s=$.qP -if(s==null)A.qO(a) -else s.$1(a)}, -pz(a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null,a4=a5.length -if(a4>=5){if(4>=a4)return A.c(a5,4) -s=((a5.charCodeAt(4)^58)*3|a5.charCodeAt(0)^100|a5.charCodeAt(1)^97|a5.charCodeAt(2)^116|a5.charCodeAt(3)^97)>>>0 -if(s===0)return A.pw(a4=14)B.a.l(r,7,a4) -q=r[1] -if(q>=0)if(A.qy(a5,0,q,20,r)===20)r[7]=q -p=r[2]+1 -o=r[3] -n=r[4] -m=r[5] -l=r[6] -if(lq+3){j=a3 -k=!1}else{i=o>0 -if(i&&o+1===n){j=a3 -k=!1}else{if(!B.b.J(a5,"\\",n))if(p>0)h=B.b.J(a5,"\\",p-1)||B.b.J(a5,"\\",p-2) -else h=!1 -else h=!0 -if(h){j=a3 -k=!1}else{if(!(mn+2&&B.b.J(a5,"/..",m-3) -else h=!0 -if(h){j=a3 -k=!1}else{if(q===4)if(B.b.J(a5,"file",0)){if(p<=0){if(!B.b.J(a5,"/",n)){g="file:///" -s=3}else{g="file://" -s=2}a5=g+B.b.p(a5,n,a4) -q-=0 -i=s-0 -m+=i -l+=i -a4=a5.length -p=7 -o=7 -n=7}else if(n===m){++l -f=m+1 -a5=B.b.aE(a5,n,m,"/");++a4 -m=f}j="file"}else if(B.b.J(a5,"http",0)){if(i&&o+3===n&&B.b.J(a5,"80",o+1)){l-=3 -e=n-3 -m-=3 -a5=B.b.aE(a5,o,n,"") -a4-=3 -n=e}j="http"}else j=a3 -else if(q===5&&B.b.J(a5,"https",0)){if(i&&o+4===n&&B.b.J(a5,"443",o+1)){l-=4 -e=n-4 -m-=4 -a5=B.b.aE(a5,o,n,"") -a4-=3 -n=e}j="https"}else j=a3 -k=!0}}}}else j=a3 -if(k){if(a40)j=A.uu(a5,0,q) -else{if(q===0)A.dp(a5,0,"Invalid empty scheme") -j=""}if(p>0){d=q+3 -c=d=0&&r9)j.$2("invalid character",r)}else{if(p===3)j.$2(l,r) -n=A.nu(B.b.p(a,q,r),null) -if(n>255)j.$2(k,q) -m=p+1 -if(!(p<4))return A.c(i,p) -i[p]=n -q=r+1 -p=m}}if(p!==3)j.$2(l,c) -n=A.nu(B.b.p(a,q,c),null) -if(n>255)j.$2(k,q) -if(!(p<4))return A.c(i,p) -i[p]=n -return i}, -pA(a,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.lg(a),c=new A.lh(d,a),b=a.length -if(b<2)d.$2("address is too short",e) -s=A.u([],t.t) -for(r=a0,q=r,p=!1,o=!1;r=0&&r>>0) -B.a.m(s,(l[2]<<8|l[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e) -k=new Uint8Array(16) -for(b=s.length,j=9-b,r=0,i=0;r=0&&i<16))return A.c(k,i) -k[i]=0 -f=i+1 -if(!(f<16))return A.c(k,f) -k[f]=0 -i+=2}else{f=B.c.R(h,8) -if(!(i>=0&&i<16))return A.c(k,i) -k[i]=f -f=i+1 -if(!(f<16))return A.c(k,f) -k[f]=h&255 -i+=2}}return k}, -pY(a,b,c,d,e,f,g){return new A.eM(a,b,c,d,e,f,g)}, -q_(a){if(a==="http")return 80 -if(a==="https")return 443 -return 0}, -dp(a,b,c){throw A.b(A.ae(c,a,b))}, -uq(a,b){var s,r,q -for(s=a.length,r=0;r")),r=r.h("a4.E");s.n();){q=s.d -if(q==null)q=r.a(q) -if(B.b.N(q,A.aU('["*/:<>?\\\\|]',!0))){s=A.F("Illegal character in path: "+q) -throw A.b(s)}}}, -ur(a,b){var s -if(!(65<=a&&a<=90))s=97<=a&&a<=122 -else s=!0 -if(s)return -s=A.F("Illegal drive letter "+A.tM(a)) -throw A.b(s)}, -q5(a,b){if(a!=null&&a===A.q_(b))return null -return a}, -q3(a,b,c,d){var s,r,q,p,o,n -if(a==null)return null -if(b===c)return"" -s=a.length -if(!(b>=0&&b=0&&r=b&&q=b&&s=0&&r>>4 -if(!(m<8))return A.c(B.l,m) -m=(B.l[m]&1<<(o&15))!==0}else m=!1 -if(m){if(p&&65<=o&&90>=o){if(h==null)h=new A.aj("") -if(q=0&&r>>4 -if(!(l<8))return A.c(B.A,l) -l=(B.A[l]&1<<(n&15))!==0}else l=!1 -if(l){if(o&&65<=n&&90>=n){if(p==null)p=new A.aj("") -if(q>>4 -if(!(l<8))return A.c(B.n,l) -l=(B.n[l]&1<<(n&15))!==0}else l=!1 -if(l)A.dp(a,r,"Invalid character") -else{if((n&64512)===55296&&r+1>>4 -if(!(o<8))return A.c(B.m,o) -o=(B.m[o]&1<<(p&15))!==0}else o=!1 -if(!o)A.dp(a,r,"Illegal scheme character") -if(65<=p&&p<=90)q=!0}a=B.b.p(a,b,c) -return A.up(q?a.toLowerCase():a)}, -up(a){if(a==="http")return"http" -if(a==="file")return"file" -if(a==="https")return"https" -if(a==="package")return"package" -return a}, -q7(a,b,c){if(a==null)return"" -return A.eN(a,b,c,B.a_,!1,!1)}, -q4(a,b,c,d,e,f){var s=e==="file",r=s||f,q=A.eN(a,b,c,B.z,!0,!0) -if(q.length===0){if(s)return"/"}else if(r&&!B.b.I(q,"/"))q="/"+q -return A.uv(q,e,f)}, -uv(a,b,c){var s=b.length===0 -if(s&&!c&&!B.b.I(a,"/")&&!B.b.I(a,"\\"))return A.qa(a,!s||c) -return A.qc(a)}, -q6(a,b,c,d){if(a!=null)return A.eN(a,b,c,B.p,!0,!1) -return null}, -q2(a,b,c){if(a==null)return null -return A.eN(a,b,c,B.p,!0,!1)}, -op(a,b,c){var s,r,q,p,o,n,m=b+2,l=a.length -if(m>=l)return"%" -s=b+1 -if(!(s>=0&&s=0))return A.c(a,m) -q=a.charCodeAt(m) -p=A.nq(r) -o=A.nq(q) -if(p<0||o<0)return"%" -n=p*16+o -if(n<127){m=B.c.R(n,4) -if(!(m<8))return A.c(B.l,m) -m=(B.l[m]&1<<(n&15))!==0}else m=!1 -if(m)return A.be(c&&65<=n&&90>=n?(n|32)>>>0:n) -if(r>=97||q>=97)return B.b.p(a,b,b+3).toUpperCase() -return null}, -oo(a){var s,r,q,p,o,n,m,l,k="0123456789ABCDEF" -if(a<128){s=new Uint8Array(3) -s[0]=37 -r=a>>>4 -if(!(r<16))return A.c(k,r) -s[1]=k.charCodeAt(r) -s[2]=k.charCodeAt(a&15)}else{if(a>2047)if(a>65535){q=240 -p=4}else{q=224 -p=3}else{q=192 -p=2}r=3*p -s=new Uint8Array(r) -for(o=0;--p,p>=0;q=128){n=B.c.fs(a,6*p)&63|q -if(!(o>>4 -if(!(l<16))return A.c(k,l) -if(!(m=0&&q>>4 -if(!(m<8))return A.c(d,m) -m=(d[m]&1<<(n&15))!==0}else m=!1 -if(m)++q -else{if(n===37){l=A.op(a,q,!1) -if(l==null){q+=3 -continue}if("%"===l){l="%25" -k=1}else k=3}else if(n===92&&f){l="/" -k=1}else{if(s)if(n<=93){m=n>>>4 -if(!(m<8))return A.c(B.n,m) -m=(B.n[m]&1<<(n&15))!==0}else m=!1 -else m=!1 -if(m){A.dp(a,q,"Invalid character") -k=h -l=k}else{if((n&64512)===55296){m=q+1 -if(m=m)return A.c(s,-1) -s.pop() -if(s.length===0)B.a.m(s,"")}p=!0}else if("."===n)p=!0 -else{B.a.m(s,n) -p=!1}}if(p)B.a.m(s,"") -return B.a.aj(s,"/")}, -qa(a,b){var s,r,q,p,o,n -if(!A.q8(a))return!b?A.q0(a):a -s=A.u([],t.s) -for(r=a.split("/"),q=r.length,p=!1,o=0;o=s.length)return A.c(s,-1) -s.pop() -p=!0}else{B.a.m(s,"..") -p=!1}else if("."===n)p=!0 -else{B.a.m(s,n) -p=!1}}r=s.length -if(r!==0)if(r===1){if(0>=r)return A.c(s,0) -r=s[0].length===0}else r=!1 -else r=!0 -if(r)return"./" -if(p||B.a.ga4(s)==="..")B.a.m(s,"") -if(!b){if(0>=s.length)return A.c(s,0) -B.a.l(s,0,A.q0(s[0]))}return B.a.aj(s,"/")}, -q0(a){var s,r,q,p=a.length -if(p>=2&&A.q1(a.charCodeAt(0)))for(s=1;s>>4 -if(!(q<8))return A.c(B.m,q) -q=(B.m[q]&1<<(r&15))===0}else q=!0 -if(q)break}return a}, -ux(a){var s,r,q,p=a.gcF(),o=p.length -if(o>0&&J.a1(p[0])===2&&J.oQ(p[0],1)===58){if(0>=o)return A.c(p,0) -A.ur(J.oQ(p[0],0),!1) -A.pZ(p,!1,1) -s=!0}else{A.pZ(p,!1,0) -s=!1}r=a.gdQ()&&!s?""+"\\":"" -if(a.gcu()){q=a.gb_(a) -if(q.length!==0)r=r+"\\"+q+"\\"}r=A.la(r,p,"\\") -o=s&&o===1?r+"\\":r -return o.charCodeAt(0)==0?o:o}, -ut(a,b){var s,r,q,p,o -for(s=a.length,r=0,q=0;q<2;++q){p=b+q -if(!(p127)throw A.b(A.ak("Illegal percent encoding in URI",null)) -if(r===37){if(n+3>o)throw A.b(A.ak("Truncated URI",null)) -B.a.m(p,A.ut(a,n+1)) -n+=2}else B.a.m(p,r)}}return d.aX(0,p)}, -q1(a){var s=a|32 -return 97<=s&&s<=122}, -pw(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.u([b-1],t.t) -for(s=a.length,r=b,q=-1,p=null;rb)throw A.b(A.ae(k,a,r)) -for(;p!==44;){B.a.m(j,r);++r -for(o=-1;r=0))return A.c(a,r) -p=a.charCodeAt(r) -if(p===61){if(o<0)o=r}else if(p===59||p===44)break}if(o>=0)B.a.m(j,o) -else{n=B.a.ga4(j) -if(p!==44||r!==n+7||!B.b.J(a,"base64",n+1))throw A.b(A.ae("Expecting '='",a,r)) -break}}B.a.m(j,r) -m=r+1 -if((j.length&1)===1)a=B.L.hm(0,a,m,s) -else{l=A.q9(a,m,s,B.p,!0,!1) -if(l!=null)a=B.b.aE(a,m,s,l)}return new A.le(a,j,c)}, -uN(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.p9(22,t.p) -for(s=0;s<22;++s)f[s]=new Uint8Array(96) -r=new A.n7(f) -q=new A.n8() -p=new A.n9() -o=r.$2(0,225) -q.$3(o,n,1) -q.$3(o,m,14) -q.$3(o,l,34) -q.$3(o,k,3) -q.$3(o,j,227) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(14,225) -q.$3(o,n,1) -q.$3(o,m,15) -q.$3(o,l,34) -q.$3(o,g,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(15,225) -q.$3(o,n,1) -q.$3(o,"%",225) -q.$3(o,l,34) -q.$3(o,k,9) -q.$3(o,j,233) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(1,225) -q.$3(o,n,1) -q.$3(o,l,34) -q.$3(o,k,10) -q.$3(o,j,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(2,235) -q.$3(o,n,139) -q.$3(o,k,131) -q.$3(o,j,131) -q.$3(o,m,146) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(3,235) -q.$3(o,n,11) -q.$3(o,k,68) -q.$3(o,j,68) -q.$3(o,m,18) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(4,229) -q.$3(o,n,5) -p.$3(o,"AZ",229) -q.$3(o,l,102) -q.$3(o,"@",68) -q.$3(o,"[",232) -q.$3(o,k,138) -q.$3(o,j,138) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(5,229) -q.$3(o,n,5) -p.$3(o,"AZ",229) -q.$3(o,l,102) -q.$3(o,"@",68) -q.$3(o,k,138) -q.$3(o,j,138) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(6,231) -p.$3(o,"19",7) -q.$3(o,"@",68) -q.$3(o,k,138) -q.$3(o,j,138) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(7,231) -p.$3(o,"09",7) -q.$3(o,"@",68) -q.$3(o,k,138) -q.$3(o,j,138) -q.$3(o,i,172) -q.$3(o,h,205) -q.$3(r.$2(8,8),"]",5) -o=r.$2(9,235) -q.$3(o,n,11) -q.$3(o,m,16) -q.$3(o,g,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(16,235) -q.$3(o,n,11) -q.$3(o,m,17) -q.$3(o,g,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(17,235) -q.$3(o,n,11) -q.$3(o,k,9) -q.$3(o,j,233) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(10,235) -q.$3(o,n,11) -q.$3(o,m,18) -q.$3(o,k,10) -q.$3(o,j,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(18,235) -q.$3(o,n,11) -q.$3(o,m,19) -q.$3(o,g,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(19,235) -q.$3(o,n,11) -q.$3(o,g,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(11,235) -q.$3(o,n,11) -q.$3(o,k,10) -q.$3(o,j,234) -q.$3(o,i,172) -q.$3(o,h,205) -o=r.$2(12,236) -q.$3(o,n,12) -q.$3(o,i,12) -q.$3(o,h,205) -o=r.$2(13,237) -q.$3(o,n,13) -q.$3(o,i,13) -p.$3(r.$2(20,245),"az",21) -o=r.$2(21,245) -p.$3(o,"az",21) -p.$3(o,"09",21) -q.$3(o,"+-.",21) -return f}, -qy(a,b,c,d,e){var s,r,q,p,o,n=$.ri() -for(s=a.length,r=b;r=0&&d95?31:p] -d=o&31 -B.a.l(e,o>>>5,r)}return d}, -a7:function a7(a,b,c){this.a=a -this.b=b -this.c=c}, -lA:function lA(){}, -lB:function lB(){}, -i3:function i3(a,b){this.a=a -this.$ti=b}, -k_:function k_(a,b){this.a=a -this.b=b}, -bP:function bP(a,b){this.a=a -this.b=b}, -bQ:function bQ(a){this.a=a}, -lH:function lH(){}, -R:function R(){}, -dv:function dv(a){this.a=a}, -bw:function bw(){}, -bb:function bb(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -cX:function cX(a,b,c,d,e,f){var _=this -_.e=a -_.f=b -_.a=c -_.b=d -_.c=e -_.d=f}, -fB:function fB(a,b,c,d,e){var _=this -_.f=a -_.a=b -_.b=c -_.c=d -_.d=e}, -fX:function fX(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -hv:function hv(a){this.a=a}, -hr:function hr(a){this.a=a}, -bv:function bv(a){this.a=a}, -fg:function fg(a){this.a=a}, -h0:function h0(){}, -e6:function e6(){}, -lL:function lL(a){this.a=a}, -jG:function jG(a,b,c){this.a=a -this.b=b -this.c=c}, -fD:function fD(){}, -e:function e(){}, -a5:function a5(a,b,c){this.a=a -this.b=b -this.$ti=c}, -Q:function Q(){}, -r:function r(){}, -iM:function iM(){}, -aj:function aj(a){this.a=a}, -lf:function lf(a){this.a=a}, -lg:function lg(a){this.a=a}, -lh:function lh(a,b){this.a=a -this.b=b}, -eM:function eM(a,b,c,d,e,f,g){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g -_.y=_.x=_.w=$}, -le:function le(a,b,c){this.a=a -this.b=b -this.c=c}, -n7:function n7(a){this.a=a}, -n8:function n8(){}, -n9:function n9(){}, -iA:function iA(a,b,c,d,e,f,g,h){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g -_.w=h -_.x=null}, -hV:function hV(a,b,c,d,e,f,g){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g -_.y=_.x=_.w=$}, -fu:function fu(a,b){this.a=a -this.$ti=b}, -rE(a){var s=new self.Blob(a) -return s}, -b7(a,b,c,d,e){var s=c==null?null:A.qC(new A.lJ(c),t.A) -s=new A.em(a,b,s,!1,e.h("em<0>")) -s.dz() -return s}, -qC(a,b){var s=$.E -if(s===B.d)return a -return s.dF(a,b)}, -q:function q(){}, -f_:function f_(){}, -f0:function f0(){}, -f1:function f1(){}, -bM:function bM(){}, -bc:function bc(){}, -fj:function fj(){}, -P:function P(){}, -cD:function cD(){}, -jz:function jz(){}, -at:function at(){}, -b1:function b1(){}, -fk:function fk(){}, -fl:function fl(){}, -fm:function fm(){}, -fq:function fq(){}, -dC:function dC(){}, -dD:function dD(){}, -fr:function fr(){}, -fs:function fs(){}, -p:function p(){}, -m:function m(){}, -f:function f(){}, -ax:function ax(){}, -cH:function cH(){}, -fw:function fw(){}, -fy:function fy(){}, -ay:function ay(){}, -fz:function fz(){}, -cb:function cb(){}, -cL:function cL(){}, -fK:function fK(){}, -fM:function fM(){}, -cV:function cV(){}, -cf:function cf(){}, -fN:function fN(){}, -jW:function jW(a){this.a=a}, -jX:function jX(a){this.a=a}, -fO:function fO(){}, -jY:function jY(a){this.a=a}, -jZ:function jZ(a){this.a=a}, -aA:function aA(){}, -fP:function fP(){}, -H:function H(){}, -dU:function dU(){}, -aB:function aB(){}, -h2:function h2(){}, -h8:function h8(){}, -kg:function kg(a){this.a=a}, -kh:function kh(a){this.a=a}, -ha:function ha(){}, -cZ:function cZ(){}, -d_:function d_(){}, -aD:function aD(){}, -hb:function hb(){}, -aE:function aE(){}, -hc:function hc(){}, -aF:function aF(){}, -hi:function hi(){}, -l4:function l4(a){this.a=a}, -l5:function l5(a){this.a=a}, -ao:function ao(){}, -aH:function aH(){}, -ap:function ap(){}, -hl:function hl(){}, -hm:function hm(){}, -hn:function hn(){}, -aI:function aI(){}, -ho:function ho(){}, -hp:function hp(){}, -hx:function hx(){}, -hB:function hB(){}, -bY:function bY(){}, -hS:function hS(){}, -ek:function ek(){}, -i5:function i5(){}, -et:function et(){}, -iD:function iD(){}, -iN:function iN(){}, -nL:function nL(a,b){this.a=a -this.$ti=b}, -lI:function lI(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.$ti=d}, -em:function em(a,b,c,d,e){var _=this -_.a=0 -_.b=a -_.c=b -_.d=c -_.e=d -_.$ti=e}, -lJ:function lJ(a){this.a=a}, -lK:function lK(a){this.a=a}, -A:function A(){}, -dG:function dG(a,b,c){var _=this -_.a=a -_.b=b -_.c=-1 -_.d=null -_.$ti=c}, -hT:function hT(){}, -hX:function hX(){}, -hY:function hY(){}, -hZ:function hZ(){}, -i_:function i_(){}, -i1:function i1(){}, -i2:function i2(){}, -i6:function i6(){}, -i7:function i7(){}, -ig:function ig(){}, -ih:function ih(){}, -ii:function ii(){}, -ij:function ij(){}, -ik:function ik(){}, -il:function il(){}, -iq:function iq(){}, -ir:function ir(){}, -iz:function iz(){}, -ez:function ez(){}, -eA:function eA(){}, -iB:function iB(){}, -iC:function iC(){}, -iG:function iG(){}, -iP:function iP(){}, -iQ:function iQ(){}, -eF:function eF(){}, -eG:function eG(){}, -iR:function iR(){}, -iS:function iS(){}, -iX:function iX(){}, -iY:function iY(){}, -iZ:function iZ(){}, -j_:function j_(){}, -j0:function j0(){}, -j1:function j1(){}, -j2:function j2(){}, -j3:function j3(){}, -j4:function j4(){}, -j5:function j5(){}, -qj(a){var s,r,q -if(a==null)return a -if(typeof a=="string"||typeof a=="number"||A.c2(a))return a -if(A.qM(a))return A.aY(a) -s=Array.isArray(a) -s.toString -if(s){r=[] -q=0 -while(!0){s=a.length -s.toString -if(!(q")),r=new A.a9(s,b.h("a9<0>")),q=t.Y,p=t.A -A.b7(a,"success",q.a(new A.n5(a,r,b)),!1,p) -A.b7(a,"error",q.a(r.gfI()),!1,p) -return s}, -ta(a,b,c){var s=null,r=c.h("dl<0>"),q=new A.dl(s,s,s,s,r),p=t.Y,o=t.A -A.b7(a,"error",p.a(q.gfA()),!1,o) -A.b7(a,"success",p.a(new A.k2(a,q,b,c)),!1,o) -return new A.da(q,r.h("da<1>"))}, -bO:function bO(){}, -bn:function bn(){}, -bd:function bd(){}, -cK:function cK(){}, -n5:function n5(a,b,c){this.a=a -this.b=b -this.c=c}, -dI:function dI(){}, -dW:function dW(){}, -k2:function k2(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -bs:function bs(){}, -e9:function e9(){}, -by:function by(){}, -uM(a){var s,r=a.$dart_jsFunction -if(r!=null)return r -s=function(b,c){return function(){return b(c,Array.prototype.slice.apply(arguments))}}(A.uI,a) -s[$.oI()]=a -a.$dart_jsFunction=s -return s}, -uI(a,b){t.j.a(b) -t.Z.a(a) -return A.td(a,b,null)}, -X(a,b){if(typeof a=="function")return a -else return b.a(A.uM(a))}, -qG(a,b,c,d){return d.a(a[b].apply(a,c))}, -nA(a,b){var s=new A.C($.E,b.h("C<0>")),r=new A.cn(s,b.h("cn<0>")) -a.then(A.bH(new A.nB(r,b),1),A.bH(new A.nC(r),1)) -return s}, -nB:function nB(a,b){this.a=a -this.b=b}, -nC:function nC(a){this.a=a}, -k0:function k0(a){this.a=a}, -ia:function ia(a){this.a=a}, -aL:function aL(){}, -fI:function fI(){}, -aN:function aN(){}, -fZ:function fZ(){}, -h3:function h3(){}, -hj:function hj(){}, -aQ:function aQ(){}, -hq:function hq(){}, -ib:function ib(){}, -ic:function ic(){}, -im:function im(){}, -io:function io(){}, -iK:function iK(){}, -iL:function iL(){}, -iT:function iT(){}, -iU:function iU(){}, -f4:function f4(){}, -f5:function f5(){}, -js:function js(a){this.a=a}, -jt:function jt(a){this.a=a}, -f6:function f6(){}, -bL:function bL(){}, -h_:function h_(){}, -hQ:function hQ(){}, -fY:function fY(){}, -hu:function hu(){}, -vi(a,b){var s,r,q,p,o,n,m,l -for(s=b.length,r=1;r=1;s=q){q=s-1 -if(b[q]!=null)break}p=new A.aj("") -o=""+(a+"(") -p.a=o -n=A.aa(b) -m=n.h("ci<1>") -l=new A.ci(b,0,s,m) -l.eu(b,0,s,n.c) -m=o+new A.ag(l,m.h("j(a4.E)").a(new A.nh()),m.h("ag")).aj(0,", ") -p.a=m -p.a=m+("): part "+(r-1)+" was null, but part "+r+" was not.") -throw A.b(A.ak(p.k(0),null))}}, -fh:function fh(a){this.a=a}, -jy:function jy(){}, -nh:function nh(){}, -cN:function cN(){}, -pj(a,b){var s,r,q,p,o,n,m=b.eg(a) -b.aB(a) -if(m!=null)a=B.b.a_(a,m.length) -s=t.s -r=A.u([],s) -q=A.u([],s) -s=a.length -if(s!==0){if(0>=s)return A.c(a,0) -p=b.a3(a.charCodeAt(0))}else p=!1 -if(p){if(0>=s)return A.c(a,0) -B.a.m(q,a[0]) -o=1}else{B.a.m(q,"") -o=0}for(n=o;n50)return B.b.p(s,0,50)+"..." -return s}, -vj(a){if(t.p.b(a))return"Blob("+a.length+")" -return A.uC(a)}, -qE(a){var s=a.$ti -return"["+new A.ag(a,s.h("j?(i.E)").a(new A.nk()),s.h("ag")).aj(0,", ")+"]"}, -nk:function nk(){}, -fn:function fn(){}, -hd:function hd(){}, -kj:function kj(a){this.a=a}, -kk:function kk(a){this.a=a}, -jD:function jD(){}, -rQ(a){var s=J.Y(a),r=s.i(a,"method"),q=s.i(a,"arguments") -if(r!=null)return new A.fv(A.U(r),q) -return null}, -fv:function fv(a,b){this.a=a -this.b=b}, -cG:function cG(a,b){this.a=a -this.b=b}, -he(a,b,c,d){var s=new A.bu(a,b,b,c) -s.b=d -return s}, -bu:function bu(a,b,c,d){var _=this -_.w=_.r=_.f=null -_.x=a -_.y=b -_.b=null -_.c=c -_.d=null -_.a=d}, -ky:function ky(){}, -kz:function kz(){}, -qm(a){var s=a.k(0) -return A.he("sqlite_error",null,s,a.c)}, -nc(a,b,c,d){var s,r,q,p -if(a instanceof A.bu){s=a.f -if(s==null)s=a.f=b -r=a.r -if(r==null)r=a.r=c -q=a.w -if(q==null)q=a.w=d -p=s==null -if(!p||r!=null||q!=null)if(a.y==null){r=A.W(t.N,t.X) -if(!p)r.l(0,"database",s.e3()) -s=a.r -if(s!=null)r.l(0,"sql",s) -s=a.w -if(s!=null)r.l(0,"arguments",s) -a.sfO(0,r)}return a}else if(a instanceof A.d1)return A.nc(A.qm(a),b,c,d) -else return A.nc(A.he("error",null,J.ba(a),null),b,c,d)}, -kX(a){return A.tH(a)}, -tH(a){var s=0,r=A.y(t.z),q,p=2,o,n,m,l,k,j,i,h -var $async$kX=A.z(function(b,c){if(b===1){o=c -s=p}while(true)switch(s){case 0:p=4 -s=7 -return A.o(A.ai(a),$async$kX) -case 7:n=c -q=n -s=1 -break -p=2 -s=6 -break -case 4:p=3 -h=o -m=A.T(h) -A.a0(h) -j=A.pq(a) -i=A.bU(a,"sql",t.N) -l=A.nc(m,j,i,A.hf(a)) -throw A.b(l) -s=6 -break -case 3:s=2 -break -case 6:case 1:return A.w(q,r) -case 2:return A.v(o,r)}}) -return A.x($async$kX,r)}, -e2(a,b){var s=A.kE(a) -return s.aZ(A.dq(J.ad(t.f.a(a.b),"transactionId")),new A.kD(b,s))}, -ch(a,b){return $.rh().a2(new A.kC(b),t.z)}, -ai(a){var s=0,r=A.y(t.z),q,p -var $async$ai=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=a.a -case 3:switch(p){case"openDatabase":s=5 -break -case"closeDatabase":s=6 -break -case"query":s=7 -break -case"queryCursorNext":s=8 -break -case"execute":s=9 -break -case"insert":s=10 -break -case"update":s=11 -break -case"batch":s=12 -break -case"getDatabasesPath":s=13 -break -case"deleteDatabase":s=14 -break -case"databaseExists":s=15 -break -case"options":s=16 -break -case"writeDatabaseBytes":s=17 -break -case"readDatabaseBytes":s=18 -break -case"debugMode":s=19 -break -default:s=20 -break}break -case 5:s=21 -return A.o(A.ch(a,A.tz(a)),$async$ai) -case 21:q=c -s=1 -break -case 6:s=22 -return A.o(A.ch(a,A.tt(a)),$async$ai) -case 22:q=c -s=1 -break -case 7:s=23 -return A.o(A.e2(a,A.tB(a)),$async$ai) -case 23:q=c -s=1 -break -case 8:s=24 -return A.o(A.e2(a,A.tC(a)),$async$ai) -case 24:q=c -s=1 -break -case 9:s=25 -return A.o(A.e2(a,A.tw(a)),$async$ai) -case 25:q=c -s=1 -break -case 10:s=26 -return A.o(A.e2(a,A.ty(a)),$async$ai) -case 26:q=c -s=1 -break -case 11:s=27 -return A.o(A.e2(a,A.tE(a)),$async$ai) -case 27:q=c -s=1 -break -case 12:s=28 -return A.o(A.e2(a,A.ts(a)),$async$ai) -case 28:q=c -s=1 -break -case 13:s=29 -return A.o(A.ch(a,A.tx(a)),$async$ai) -case 29:q=c -s=1 -break -case 14:s=30 -return A.o(A.ch(a,A.tv(a)),$async$ai) -case 30:q=c -s=1 -break -case 15:s=31 -return A.o(A.ch(a,A.tu(a)),$async$ai) -case 31:q=c -s=1 -break -case 16:s=32 -return A.o(A.ch(a,A.tA(a)),$async$ai) -case 32:q=c -s=1 -break -case 17:s=33 -return A.o(A.ch(a,A.tF(a)),$async$ai) -case 33:q=c -s=1 -break -case 18:s=34 -return A.o(A.ch(a,A.tD(a)),$async$ai) -case 34:q=c -s=1 -break -case 19:s=35 -return A.o(A.o_(a),$async$ai) -case 35:q=c -s=1 -break -case 20:throw A.b(A.ak("Invalid method "+p+" "+a.k(0),null)) -case 4:case 1:return A.w(q,r)}}) -return A.x($async$ai,r)}, -tz(a){return new A.kO(a)}, -kY(a){return A.tI(a)}, -tI(a){var s=0,r=A.y(t.f),q,p=2,o,n,m,l,k,j,i,h,g,f,e,d,c -var $async$kY=A.z(function(b,a0){if(b===1){o=a0 -s=p}while(true)switch(s){case 0:i=t.f.a(a.b) -h=J.Y(i) -g=A.U(h.i(i,"path")) -f=new A.kZ() -e=A.eR(h.i(i,"singleInstance")) -d=e===!0 -h=A.eR(h.i(i,"readOnly")) -if(d){l=$.ja.i(0,g) -if(l!=null){if($.nw>=2)l.ak("Reopening existing single database "+l.k(0)) -q=f.$1(l.e) -s=1 -break}}n=null -p=4 -e=$.aq -s=7 -return A.o((e==null?$.aq=A.cy():e).bA(i),$async$kY) -case 7:n=a0 -p=2 -s=6 -break -case 4:p=3 -c=o -i=A.T(c) -if(i instanceof A.d1){m=i -i=m -h=i.k(0) -throw A.b(A.he("sqlite_error",null,"open_failed: "+h,i.c))}else throw c -s=6 -break -case 3:s=2 -break -case 6:j=$.qs=$.qs+1 -i=n -e=$.nw -l=new A.aP(A.u([],t.it),A.nS(),j,d,g,h===!0,i,e,A.W(t.S,t.lz),A.nS()) -$.qH.l(0,j,l) -l.ak("Opening database "+l.k(0)) -if(d)$.ja.l(0,g,l) -q=f.$1(j) -s=1 -break -case 1:return A.w(q,r) -case 2:return A.v(o,r)}}) -return A.x($async$kY,r)}, -tt(a){return new A.kI(a)}, -nY(a){var s=0,r=A.y(t.z),q -var $async$nY=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:q=A.kE(a) -if(q.f){$.ja.K(0,q.r) -if($.qB==null)$.qB=new A.jD()}q.ab(0) -return A.w(null,r)}}) -return A.x($async$nY,r)}, -kE(a){var s=A.pq(a) -if(s==null)throw A.b(A.K("Database "+A.t(A.pr(a))+" not found")) -return s}, -pq(a){var s=A.pr(a) -if(s!=null)return $.qH.i(0,s) -return null}, -pr(a){var s=a.b -if(t.f.b(s))return A.dq(J.ad(s,"id")) -return null}, -bU(a,b,c){var s=a.b -if(t.f.b(s))return c.h("0?").a(J.ad(s,b)) -return null}, -tJ(a){var s,r="transactionId",q=a.b -if(t.f.b(q)){s=J.ab(q) -return s.D(q,r)&&s.i(q,r)==null}return!1}, -kG(a){var s,r,q=A.bU(a,"path",t.N) -if(q!=null&&q!==":memory:"&&$.oO().a.ae(q)<=0){if($.aq==null)$.aq=A.cy() -s=$.oO() -r=A.u(["/",q,null,null,null,null,null,null,null,null,null,null,null,null,null,null],t.mf) -A.vi("join",r) -q=s.hd(new A.ec(r,t.lS))}return q}, -hf(a){var s,r,q,p=A.bU(a,"arguments",t.j) -if(p!=null)for(s=J.ar(p),r=t.p;s.n();){q=s.gq(s) -if(q!=null)if(typeof q!="number")if(typeof q!="string")if(!r.b(q))if(!(q instanceof A.a7))throw A.b(A.ak("Invalid sql argument type '"+J.eZ(q).k(0)+"': "+A.t(q),null))}return p==null?null:J.jg(p,t.X)}, -tr(a){var s=A.u([],t.bw),r=t.f -r=J.jg(t.j.a(J.ad(r.a(a.b),"operations")),r) -r.B(r,new A.kF(s)) -return s}, -tB(a){return new A.kR(a)}, -o2(a,b){var s=0,r=A.y(t.z),q,p,o -var $async$o2=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:o=A.bU(a,"sql",t.N) -o.toString -p=A.hf(a) -q=b.h_(A.dq(J.ad(t.f.a(a.b),"cursorPageSize")),o,p) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o2,r)}, -tC(a){return new A.kQ(a)}, -o3(a,b){var s=0,r=A.y(t.z),q,p,o,n -var $async$o3=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:b=A.kE(a) -p=t.f.a(a.b) -o=J.Y(p) -n=A.h(o.i(p,"cursorId")) -q=b.h0(A.eR(o.i(p,"cancel")),n) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o3,r)}, -kB(a,b){var s=0,r=A.y(t.X),q,p -var $async$kB=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:b=A.kE(a) -p=A.bU(a,"sql",t.N) -p.toString -s=3 -return A.o(b.fY(p,A.hf(a)),$async$kB) -case 3:q=null -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$kB,r)}, -tw(a){return new A.kL(a)}, -kW(a,b){return A.tG(a,b)}, -tG(a,b){var s=0,r=A.y(t.X),q,p=2,o,n,m,l,k -var $async$kW=A.z(function(c,d){if(c===1){o=d -s=p}while(true)switch(s){case 0:m=A.bU(a,"inTransaction",t.y) -l=m===!0&&A.tJ(a) -if(A.bG(l))b.b=++b.a -p=4 -s=7 -return A.o(A.kB(a,b),$async$kW) -case 7:p=2 -s=6 -break -case 4:p=3 -k=o -if(A.bG(l))b.b=null -throw k -s=6 -break -case 3:s=2 -break -case 6:if(A.bG(l)){q=A.az(["transactionId",b.b],t.N,t.X) -s=1 -break}else if(m===!1)b.b=null -q=null -s=1 -break -case 1:return A.w(q,r) -case 2:return A.v(o,r)}}) -return A.x($async$kW,r)}, -tA(a){return new A.kP(a)}, -l_(a){var s=0,r=A.y(t.z),q,p,o -var $async$l_=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:o=a.b -s=t.f.b(o)?3:4 -break -case 3:p=J.ab(o) -if(p.D(o,"logLevel")){p=A.dq(p.i(o,"logLevel")) -$.nw=p==null?0:p}p=$.aq -s=5 -return A.o((p==null?$.aq=A.cy():p).ct(o),$async$l_) -case 5:case 4:q=null -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$l_,r)}, -o_(a){var s=0,r=A.y(t.z),q -var $async$o_=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:if(J.ac(a.b,!0))$.nw=2 -q=null -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o_,r)}, -ty(a){return new A.kN(a)}, -o1(a,b){var s=0,r=A.y(t.I),q,p -var $async$o1=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:p=A.bU(a,"sql",t.N) -p.toString -q=b.fZ(p,A.hf(a)) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o1,r)}, -tE(a){return new A.kT(a)}, -o4(a,b){var s=0,r=A.y(t.S),q,p -var $async$o4=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:p=A.bU(a,"sql",t.N) -p.toString -q=b.h2(p,A.hf(a)) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o4,r)}, -ts(a){return new A.kH(a)}, -tx(a){return new A.kM(a)}, -o0(a){var s=0,r=A.y(t.z),q -var $async$o0=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:if($.aq==null)$.aq=A.cy() -q="/" -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o0,r)}, -tv(a){return new A.kK(a)}, -kV(a){var s=0,r=A.y(t.H),q=1,p,o,n,m,l,k,j -var $async$kV=A.z(function(b,c){if(b===1){p=c -s=q}while(true)switch(s){case 0:l=A.kG(a) -k=$.ja.i(0,l) -if(k!=null){k.ab(0) -$.ja.K(0,l)}q=3 -o=$.aq -if(o==null)o=$.aq=A.cy() -n=l -n.toString -s=6 -return A.o(o.bs(n),$async$kV) -case 6:q=1 -s=5 -break -case 3:q=2 -j=p -s=5 -break -case 2:s=1 -break -case 5:return A.w(null,r) -case 1:return A.v(p,r)}}) -return A.x($async$kV,r)}, -tu(a){return new A.kJ(a)}, -nZ(a){var s=0,r=A.y(t.y),q,p,o -var $async$nZ=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=A.kG(a) -o=$.aq -if(o==null)o=$.aq=A.cy() -p.toString -q=o.bv(p) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$nZ,r)}, -tD(a){return new A.kS(a)}, -l0(a){var s=0,r=A.y(t.f),q,p,o,n -var $async$l0=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=A.kG(a) -o=$.aq -if(o==null)o=$.aq=A.cy() -p.toString -n=A -s=3 -return A.o(o.bC(p),$async$l0) -case 3:q=n.az(["bytes",c],t.N,t.X) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$l0,r)}, -tF(a){return new A.kU(a)}, -o5(a){var s=0,r=A.y(t.H),q,p,o,n -var $async$o5=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=A.kG(a) -o=A.bU(a,"bytes",t.p) -n=$.aq -if(n==null)n=$.aq=A.cy() -p.toString -o.toString -q=n.bH(p,o) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$o5,r)}, -e3:function e3(){this.c=this.b=this.a=null}, -iE:function iE(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=!1}, -is:function is(a,b){this.a=a -this.b=b}, -aP:function aP(a,b,c,d,e,f,g,h,i,j){var _=this -_.a=0 -_.b=null -_.c=a -_.d=b -_.e=c -_.f=d -_.r=e -_.w=f -_.x=g -_.y=h -_.z=i -_.Q=0 -_.as=j}, -kt:function kt(a,b,c){this.a=a -this.b=b -this.c=c}, -kr:function kr(a){this.a=a}, -km:function km(a){this.a=a}, -ku:function ku(a,b,c){this.a=a -this.b=b -this.c=c}, -kx:function kx(a,b,c){this.a=a -this.b=b -this.c=c}, -kw:function kw(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -kv:function kv(a,b,c){this.a=a -this.b=b -this.c=c}, -ks:function ks(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -kq:function kq(){}, -kp:function kp(a,b){this.a=a -this.b=b}, -kn:function kn(a,b,c,d,e,f){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f}, -ko:function ko(a,b){this.a=a -this.b=b}, -kD:function kD(a,b){this.a=a -this.b=b}, -kC:function kC(a){this.a=a}, -kO:function kO(a){this.a=a}, -kZ:function kZ(){}, -kI:function kI(a){this.a=a}, -kF:function kF(a){this.a=a}, -kR:function kR(a){this.a=a}, -kQ:function kQ(a){this.a=a}, -kL:function kL(a){this.a=a}, -kP:function kP(a){this.a=a}, -kN:function kN(a){this.a=a}, -kT:function kT(a){this.a=a}, -kH:function kH(a){this.a=a}, -kM:function kM(a){this.a=a}, -kK:function kK(a){this.a=a}, -kJ:function kJ(a){this.a=a}, -kS:function kS(a){this.a=a}, -kU:function kU(a){this.a=a}, -kl:function kl(a){this.a=a}, -kA:function kA(a){var _=this -_.a=a -_.b=$ -_.d=_.c=null}, -iF:function iF(){}, -j7(a){return A.uT(t.A.a(a))}, -uT(a8){var s=0,r=A.y(t.H),q=1,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7 -var $async$j7=A.z(function(a9,b0){if(a9===1){p=b0 -s=q}while(true)switch(s){case 0:t.hy.a(a8) -o=new A.bZ([],[]).au(a8.data,!0) -a1=a8.ports -a1.toString -n=J.bK(a1) -q=3 -s=typeof o=="string"?6:8 -break -case 6:J.cz(n,o) -s=7 -break -case 8:s=t.j.b(o)?9:11 -break -case 9:m=J.ad(o,0) -if(J.ac(m,"varSet")){l=t.f.a(J.ad(o,1)) -k=A.U(J.ad(l,"key")) -j=J.ad(l,"value") -A.aZ($.eU+" "+A.t(m)+" "+A.t(k)+": "+A.t(j)) -$.qT.l(0,k,j) -J.cz(n,null)}else if(J.ac(m,"varGet")){i=t.f.a(J.ad(o,1)) -h=A.U(J.ad(i,"key")) -g=$.qT.i(0,h) -A.aZ($.eU+" "+A.t(m)+" "+A.t(h)+": "+A.t(g)) -a1=t.N -J.cz(n,A.az(["result",A.az(["key",h,"value",g],a1,t.X)],a1,t.lb))}else{A.aZ($.eU+" "+A.t(m)+" unknown") -J.cz(n,null)}s=10 -break -case 11:s=t.f.b(o)?12:14 -break -case 12:f=A.rQ(o) -s=f!=null?15:17 -break -case 15:f=new A.fv(f.a,A.os(f.b)) -s=$.qA==null?18:19 -break -case 18:s=20 -return A.o(A.jb(new A.l1(),!0),$async$j7) -case 20:a1=b0 -$.qA=a1 -a1.toString -$.aq=new A.kA(a1) -case 19:e=new A.nd(n) -q=22 -s=25 -return A.o(A.kX(f),$async$j7) -case 25:d=b0 -d=A.ot(d) -e.$1(new A.cG(d,null)) -q=3 -s=24 -break -case 22:q=21 -a6=p -c=A.T(a6) -b=A.a0(a6) -a1=c -a3=b -a4=new A.cG($,$) -a5=A.W(t.N,t.X) -if(a1 instanceof A.bu){a5.l(0,"code",a1.x) -a5.l(0,"details",a1.y) -a5.l(0,"message",a1.a) -a5.l(0,"resultCode",a1.bO()) -a1=a1.d -a5.l(0,"transactionClosed",a1===!0)}else a5.l(0,"message",J.ba(a1)) -a1=$.qr -if(!(a1==null?$.qr=!0:a1)&&a3!=null)a5.l(0,"stackTrace",a3.k(0)) -a4.b=a5 -a4.a=null -e.$1(a4) -s=24 -break -case 21:s=3 -break -case 24:s=16 -break -case 17:A.aZ($.eU+" "+A.t(o)+" unknown") -J.cz(n,null) -case 16:s=13 -break -case 14:A.aZ($.eU+" "+A.t(o)+" map unknown") -J.cz(n,null) -case 13:case 10:case 7:q=1 -s=5 -break -case 3:q=2 -a7=p -a=A.T(a7) -a0=A.a0(a7) -A.aZ($.eU+" error caught "+A.t(a)+" "+A.t(a0)) -J.cz(n,null) -s=5 -break -case 2:s=1 -break -case 5:return A.w(null,r) -case 1:return A.v(p,r)}}) -return A.x($async$j7,r)}, -vM(a){var s,r -try{s=self -s.toString -A.b7(t.aD.a(s),"connect",t.Y.a(new A.nx()),!1,t.A)}catch(r){try{s=self -s.toString -J.rn(s,"message",A.oH())}catch(r){}}}, -nd:function nd(a){this.a=a}, -nx:function nx(){}, -qo(a){if(a==null)return!0 -else if(typeof a=="number"||typeof a=="string"||A.c2(a))return!0 -return!1}, -qt(a){var s,r=J.Y(a) -if(r.gj(a)===1){s=J.bK(r.gG(a)) -if(typeof s=="string")return B.b.I(s,"@") -throw A.b(A.bm(s,null,null))}return!1}, -ot(a){var s,r,q,p,o,n,m,l,k={} -if(A.qo(a))return a -a.toString -for(s=$.oN(),r=0;r<1;++r){q=s[r] -p=A.B(q).h("dm.T") -if(p.b(a))return A.az(["@"+q.a,t.dz.a(p.a(a)).k(0)],t.N,t.X)}if(t.f.b(a)){if(A.qt(a))return A.az(["@",a],t.N,t.X) -k.a=null -J.bk(a,new A.nb(k,a)) -s=k.a -if(s==null)s=a -return s}else if(t.j.b(a)){for(s=J.Y(a),p=t.z,o=null,n=0;n")),n=new A.a9(o,c.h("a9<0>")) -p.a=p.b=null -s=new A.kc(p) -r=t.Y -q=t.A -p.b=A.b7(a,"success",r.a(new A.kd(s,n,b,a,c)),!1,q) -p.a=A.b7(a,"error",r.a(new A.ke(p,s,n)),!1,q) -return o}, -kc:function kc(a){this.a=a}, -kd:function kd(a,b,c,d,e){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e}, -kb:function kb(a,b,c){this.a=a -this.b=b -this.c=c}, -ke:function ke(a,b,c){this.a=a -this.b=b -this.c=c}, -dc:function dc(a,b){var _=this -_.c=_.b=_.a=null -_.d=a -_.$ti=b}, -lF:function lF(a,b){this.a=a -this.b=b}, -lG:function lG(a,b){this.a=a -this.b=b}, -jC:function jC(){}, -lk(a,b){var s=0,r=A.y(t.ax),q,p,o,n,m -var $async$lk=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:o={} -b.B(0,new A.lm(o)) -p=t.N -p=new A.hF(A.W(p,t.Z),A.W(p,t.W)) -n=p -m=J -s=3 -return A.o(A.nA(self.WebAssembly.instantiateStreaming(a,o),t.ot),$async$lk) -case 3:n.ev(m.ru(d)) -q=p -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$lk,r)}, -n0:function n0(){}, -di:function di(){}, -hF:function hF(a,b){this.a=a -this.b=b}, -lm:function lm(a){this.a=a}, -ll:function ll(a){this.a=a}, -jV:function jV(){}, -cJ:function cJ(){}, -lo(a){var s=0,r=A.y(t.es),q,p,o -var $async$lo=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=t.d9 -o=A -s=3 -return A.o(A.nA(self.fetch(a.gdT()?p.a(new self.URL(a.k(0))):p.a(new self.URL(a.k(0),A.o8().k(0))),null),p),$async$lo) -case 3:q=o.ln(c) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$lo,r)}, -ln(a){var s=0,r=A.y(t.es),q,p,o -var $async$ln=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=A -o=A -s=3 -return A.o(A.lj(a),$async$ln) -case 3:q=new p.hG(new o.hH(c)) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$ln,r)}, -hG:function hG(a){this.a=a}, -lr:function lr(){}, -fC(a){var s=0,r=A.y(t.cF),q,p,o,n,m,l -var $async$fC=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=t.N -o=new A.jk(a) -n=A.rU() -m=$.oJ() -l=new A.cc(o,n,new A.cS(t.h),A.t5(p),A.W(p,t.S),m,"indexeddb") -s=3 -return A.o(o.bz(0),$async$fC) -case 3:s=4 -return A.o(l.aU(),$async$fC) -case 4:q=l -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$fC,r)}, -jk:function jk(a){this.a=null -this.b=a}, -jp:function jp(){}, -jo:function jo(a){this.a=a}, -jl:function jl(a){this.a=a}, -jq:function jq(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -jn:function jn(a,b){this.a=a -this.b=b}, -jm:function jm(a,b){this.a=a -this.b=b}, -b8:function b8(){}, -lM:function lM(a,b,c){this.a=a -this.b=b -this.c=c}, -lN:function lN(a,b){this.a=a -this.b=b}, -ip:function ip(a,b){this.a=a -this.b=b}, -cc:function cc(a,b,c,d,e,f,g){var _=this -_.d=a -_.f=null -_.r=b -_.w=c -_.x=d -_.y=e -_.b=f -_.a=g}, -jK:function jK(a){this.a=a}, -jL:function jL(){}, -i9:function i9(a,b,c){this.a=a -this.b=b -this.c=c}, -m0:function m0(a,b){this.a=a -this.b=b}, -a8:function a8(){}, -de:function de(a,b){var _=this -_.w=a -_.d=b -_.c=_.b=_.a=null}, -dd:function dd(a,b,c){var _=this -_.w=a -_.x=b -_.d=c -_.c=_.b=_.a=null}, -cp:function cp(a,b,c){var _=this -_.w=a -_.x=b -_.d=c -_.c=_.b=_.a=null}, -cw:function cw(a,b,c,d,e){var _=this -_.w=a -_.x=b -_.y=c -_.z=d -_.d=e -_.c=_.b=_.a=null}, -rU(){var s=$.oJ() -return new A.fA(A.W(t.N,t.nh),s,"dart-memory")}, -fA:function fA(a,b,c){this.d=a -this.b=b -this.a=c}, -i8:function i8(a,b,c){var _=this -_.a=a -_.b=b -_.c=c -_.d=0}, -lj(c2){var s=0,r=A.y(t.n0),q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1 -var $async$lj=A.z(function(c3,c4){if(c3===1)return A.v(c4,r) -while(true)switch(s){case 0:c0=A.u6() -c1=c0.b -c1===$&&A.bj("injectedValues") -s=3 -return A.o(A.lk(c2,c1),$async$lj) -case 3:p=c4 -c1=c0.c -c1===$&&A.bj("memory") -o=p.a -n=o.i(0,"dart_sqlite3_malloc") -n.toString -m=o.i(0,"dart_sqlite3_free") -m.toString -o.i(0,"dart_sqlite3_create_scalar_function").toString -o.i(0,"dart_sqlite3_create_aggregate_function").toString -o.i(0,"dart_sqlite3_create_window_function").toString -o.i(0,"dart_sqlite3_create_collation").toString -l=o.i(0,"dart_sqlite3_register_vfs") -l.toString -o.i(0,"sqlite3_vfs_unregister").toString -k=o.i(0,"dart_sqlite3_updates") -k.toString -o.i(0,"sqlite3_libversion").toString -o.i(0,"sqlite3_sourceid").toString -o.i(0,"sqlite3_libversion_number").toString -j=o.i(0,"sqlite3_open_v2") -j.toString -i=o.i(0,"sqlite3_close_v2") -i.toString -h=o.i(0,"sqlite3_extended_errcode") -h.toString -g=o.i(0,"sqlite3_errmsg") -g.toString -f=o.i(0,"sqlite3_errstr") -f.toString -e=o.i(0,"sqlite3_extended_result_codes") -e.toString -d=o.i(0,"sqlite3_exec") -d.toString -o.i(0,"sqlite3_free").toString -c=o.i(0,"sqlite3_prepare_v3") -c.toString -b=o.i(0,"sqlite3_bind_parameter_count") -b.toString -a=o.i(0,"sqlite3_column_count") -a.toString -a0=o.i(0,"sqlite3_column_name") -a0.toString -a1=o.i(0,"sqlite3_reset") -a1.toString -a2=o.i(0,"sqlite3_step") -a2.toString -a3=o.i(0,"sqlite3_finalize") -a3.toString -a4=o.i(0,"sqlite3_column_type") -a4.toString -a5=o.i(0,"sqlite3_column_int64") -a5.toString -a6=o.i(0,"sqlite3_column_double") -a6.toString -a7=o.i(0,"sqlite3_column_bytes") -a7.toString -a8=o.i(0,"sqlite3_column_blob") -a8.toString -a9=o.i(0,"sqlite3_column_text") -a9.toString -b0=o.i(0,"sqlite3_bind_null") -b0.toString -b1=o.i(0,"sqlite3_bind_int64") -b1.toString -b2=o.i(0,"sqlite3_bind_double") -b2.toString -b3=o.i(0,"sqlite3_bind_text") -b3.toString -b4=o.i(0,"sqlite3_bind_blob64") -b4.toString -b5=o.i(0,"sqlite3_bind_parameter_index") -b5.toString -b6=o.i(0,"sqlite3_changes") -b6.toString -b7=o.i(0,"sqlite3_last_insert_rowid") -b7.toString -b8=o.i(0,"sqlite3_user_data") -b8.toString -o.i(0,"sqlite3_result_null").toString -o.i(0,"sqlite3_result_int64").toString -o.i(0,"sqlite3_result_double").toString -o.i(0,"sqlite3_result_text").toString -o.i(0,"sqlite3_result_blob64").toString -o.i(0,"sqlite3_result_error").toString -o.i(0,"sqlite3_value_type").toString -o.i(0,"sqlite3_value_int64").toString -o.i(0,"sqlite3_value_double").toString -o.i(0,"sqlite3_value_bytes").toString -o.i(0,"sqlite3_value_text").toString -o.i(0,"sqlite3_value_blob").toString -o.i(0,"sqlite3_aggregate_context").toString -b9=o.i(0,"sqlite3_get_autocommit") -b9.toString -o.i(0,"sqlite3_stmt_isexplain").toString -o.i(0,"sqlite3_stmt_readonly").toString -o=o.i(0,"dart_sqlite3_db_config_int") -p.b.i(0,"sqlite3_temp_directory").toString -q=c0.a=new A.hD(c1,c0.d,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a4,a5,a6,a7,a9,a8,b0,b1,b2,b3,b4,b5,a3,b6,b7,b8,b9,o) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$lj,r)}, -aK(a){var s,r,q -try{a.$0() -return 0}catch(r){q=A.T(r) -if(q instanceof A.eb){s=q -return s.a}else return 1}}, -ob(a,b){var s=A.b5(t.J.a(a.buffer),b,null),r=s.length,q=0 -while(!0){if(!(q=65&&a<=90))s=a>=97&&a<=122 -else s=!0 -return s}, -vv(a,b){var s,r,q=null,p=a.length,o=b+2 -if(p=0&&b=0&&s").t(b).h("b0<1,2>"))}, -m(a,b){A.aa(a).c.a(b) -if(!!a.fixed$length)A.O(A.F("add")) -a.push(b)}, -hv(a,b){var s -if(!!a.fixed$length)A.O(A.F("removeAt")) -s=a.length -if(b>=s)throw A.b(A.pm(b,null)) -return a.splice(b,1)[0]}, -h4(a,b,c){var s,r -A.aa(a).h("e<1>").a(c) -if(!!a.fixed$length)A.O(A.F("insertAll")) -A.to(b,0,a.length,"index") -if(!t.O.b(c))c=J.rC(c) -s=J.a1(c) -a.length=a.length+s -r=b+s -this.M(a,r,a.length,a,b) -this.U(a,b,r,c)}, -K(a,b){var s -if(!!a.fixed$length)A.O(A.F("remove")) -for(s=0;s").a(b) -if(!!a.fixed$length)A.O(A.F("addAll")) -if(Array.isArray(b)){this.eC(a,b) -return}for(s=J.ar(b);s.n();)a.push(s.gq(s))}, -eC(a,b){var s,r -t.b.a(b) -s=b.length -if(s===0)return -if(a===b)throw A.b(A.as(a)) -for(r=0;r").t(c).h("ag<1,2>"))}, -aj(a,b){var s,r=A.dO(a.length,"",!1,t.N) -for(s=0;s=0&&b0)return a[0] -throw A.b(A.bp())}, -ga4(a){var s=a.length -if(s>0)return a[s-1] -throw A.b(A.bp())}, -M(a,b,c,d,e){var s,r,q,p,o -A.aa(a).h("e<1>").a(d) -if(!!a.immutable$list)A.O(A.F("setRange")) -A.cg(b,c,a.length) -s=c-b -if(s===0)return -A.aC(e,"skipCount") -if(t.j.b(d)){r=d -q=e}else{r=J.nJ(d,e).aG(0,!1) -q=0}p=J.Y(r) -if(q+s>p.gj(r))throw A.b(A.p8()) -if(q=0;--o)a[b+o]=p.i(r,q+o) -else for(o=0;o0){a[0]=q -a[1]=r}return}if(n.c.b(null)){for(p=0,o=0;o0)this.fi(a,p)}, -ei(a){return this.ej(a,null)}, -fi(a,b){var s,r=a.length -for(;s=r-1,r>0;r=s)if(a[s]===null){a[s]=void 0;--b -if(b===0)break}}, -he(a,b){var s,r=a.length,q=r-1 -if(q<0)return-1 -q>=r -for(s=q;s>=0;--s){if(!(s"))}, -gA(a){return A.dY(a)}, -gj(a){return a.length}, -i(a,b){if(!(b>=0&&b=0&&b=p){r.scV(null) -return!1}r.scV(q[s]);++r.c -return!0}, -scV(a){this.d=this.$ti.h("1?").a(a)}, -$iL:1} -J.cO.prototype={ -a0(a,b){var s -A.uD(b) -if(ab)return 1 -else if(a===b){if(a===0){s=this.gcB(b) -if(this.gcB(a)===s)return 0 -if(this.gcB(a))return-1 -return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 -return 1}else return-1}, -gcB(a){return a===0?1/a<0:a<0}, -fF(a){var s,r -if(a>=0){if(a<=2147483647){s=a|0 -return a===s?s:s+1}}else if(a>=-2147483648)return a|0 -r=Math.ceil(a) -if(isFinite(r))return r -throw A.b(A.F(""+a+".ceil()"))}, -k(a){if(a===0&&1/a<0)return"-0.0" -else return""+a}, -gA(a){var s,r,q,p,o=a|0 -if(a===o)return o&536870911 -s=Math.abs(a) -r=Math.log(s)/0.6931471805599453|0 -q=Math.pow(2,r) -p=s<1?s/q:q/s -return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, -a5(a,b){var s=a%b -if(s===0)return 0 -if(s>0)return s -return s+b}, -es(a,b){if((a|0)===a)if(b>=1||b<-1)return a/b|0 -return this.dt(a,b)}, -H(a,b){return(a|0)===a?a/b|0:this.dt(a,b)}, -dt(a,b){var s=a/b -if(s>=-2147483648&&s<=2147483647)return s|0 -if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) -throw A.b(A.F("Result of truncating division is "+A.t(s)+": "+A.t(a)+" ~/ "+b))}, -aK(a,b){if(b<0)throw A.b(A.nj(b)) -return b>31?0:a<>>0}, -aL(a,b){var s -if(b<0)throw A.b(A.nj(b)) -if(a>0)s=this.ci(a,b) -else{s=b>31?31:b -s=a>>s>>>0}return s}, -R(a,b){var s -if(a>0)s=this.ci(a,b) -else{s=b>31?31:b -s=a>>s>>>0}return s}, -fs(a,b){if(0>b)throw A.b(A.nj(b)) -return this.ci(a,b)}, -ci(a,b){return b>31?0:a>>>b}, -gF(a){return A.bh(t.cZ)}, -$ial:1, -$iN:1, -$iZ:1} -J.dK.prototype={ -gdG(a){var s,r=a<0?-a-1:a,q=r -for(s=32;q>=4294967296;){q=this.H(q,4294967296) -s+=32}return s-Math.clz32(q)}, -gF(a){return A.bh(t.S)}, -$iS:1, -$id:1} -J.fG.prototype={ -gF(a){return A.bh(t.i)}, -$iS:1} -J.bR.prototype={ -fG(a,b){if(b<0)throw A.b(A.eV(a,b)) -if(b>=a.length)A.O(A.eV(a,b)) -return a.charCodeAt(b)}, -dE(a,b){return new A.iI(b,a,0)}, -b5(a,b){return a+b}, -dK(a,b){var s=b.length,r=a.length -if(s>r)return!1 -return b===this.a_(a,r-s)}, -aE(a,b,c,d){var s=A.cg(b,c,a.length) -return a.substring(0,b)+d+a.substring(s)}, -J(a,b,c){var s -if(c<0||c>a.length)throw A.b(A.am(c,0,a.length,null,null)) -s=c+b.length -if(s>a.length)return!1 -return b===a.substring(c,s)}, -I(a,b){return this.J(a,b,0)}, -p(a,b,c){return a.substring(b,A.cg(b,c,a.length))}, -a_(a,b){return this.p(a,b,null)}, -hB(a){var s,r,q,p=a.trim(),o=p.length -if(o===0)return p -if(0>=o)return A.c(p,0) -if(p.charCodeAt(0)===133){s=J.t1(p,1) -if(s===o)return""}else s=0 -r=o-1 -if(!(r>=0))return A.c(p,r) -q=p.charCodeAt(r)===133?J.t2(p,r):o -if(s===0&&q===o)return p -return p.substring(s,q)}, -b6(a,b){var s,r -if(0>=b)return"" -if(b===1||a.length===0)return a -if(b!==b>>>0)throw A.b(B.U) -for(s=a,r="";!0;){if((b&1)===1)r=s+r -b=b>>>1 -if(b===0)break -s+=s}return r}, -hp(a,b,c){var s=b-a.length -if(s<=0)return a -return this.b6(c,s)+a}, -ai(a,b,c){var s -if(c<0||c>a.length)throw A.b(A.am(c,0,a.length,null,null)) -s=a.indexOf(b,c) -return s}, -cv(a,b){return this.ai(a,b,0)}, -N(a,b){return A.vO(a,b,0)}, -a0(a,b){var s -A.U(b) -if(a===b)s=0 -else s=a>6}r=r+((r&67108863)<<3)&536870911 -r^=r>>11 -return r+((r&16383)<<15)&536870911}, -gF(a){return A.bh(t.N)}, -gj(a){return a.length}, -$iS:1, -$ial:1, -$ik4:1, -$ij:1} -A.c_.prototype={ -gC(a){var s=A.B(this) -return new A.dx(J.ar(this.gaa()),s.h("@<1>").t(s.y[1]).h("dx<1,2>"))}, -gj(a){return J.a1(this.gaa())}, -Z(a,b){var s=A.B(this) -return A.fb(J.nJ(this.gaa(),b),s.c,s.y[1])}, -u(a,b){return A.B(this).y[1].a(J.jh(this.gaa(),b))}, -gv(a){return A.B(this).y[1].a(J.bK(this.gaa()))}, -N(a,b){return J.nI(this.gaa(),b)}, -k(a){return J.ba(this.gaa())}} -A.dx.prototype={ -n(){return this.a.n()}, -gq(a){var s=this.a -return this.$ti.y[1].a(s.gq(s))}, -$iL:1} -A.c5.prototype={ -gaa(){return this.a}} -A.el.prototype={$il:1} -A.eh.prototype={ -i(a,b){return this.$ti.y[1].a(J.ad(this.a,b))}, -l(a,b,c){var s=this.$ti -J.nH(this.a,b,s.c.a(s.y[1].a(c)))}, -M(a,b,c,d,e){var s=this.$ti -J.rA(this.a,b,c,A.fb(s.h("e<2>").a(d),s.y[1],s.c),e)}, -U(a,b,c,d){return this.M(0,b,c,d,0)}, -$il:1, -$in:1} -A.b0.prototype={ -bp(a,b){return new A.b0(this.a,this.$ti.h("@<1>").t(b).h("b0<1,2>"))}, -gaa(){return this.a}} -A.dy.prototype={ -D(a,b){return J.rr(this.a,b)}, -i(a,b){return this.$ti.h("4?").a(J.ad(this.a,b))}, -B(a,b){J.bk(this.a,new A.jx(this,this.$ti.h("~(3,4)").a(b)))}, -gG(a){var s=this.$ti -return A.fb(J.oT(this.a),s.c,s.y[2])}, -gO(a){var s=this.$ti -return A.fb(J.rv(this.a),s.y[1],s.y[3])}, -gj(a){return J.a1(this.a)}, -gav(a){return J.oS(this.a).ad(0,new A.jw(this),this.$ti.h("a5<3,4>"))}} -A.jx.prototype={ -$2(a,b){var s=this.a.$ti -s.c.a(a) -s.y[1].a(b) -this.b.$2(s.y[2].a(a),s.y[3].a(b))}, -$S(){return this.a.$ti.h("~(1,2)")}} -A.jw.prototype={ -$1(a){var s,r=this.a.$ti -r.h("a5<1,2>").a(a) -s=r.y[3] -return new A.a5(r.y[2].a(a.a),s.a(a.b),r.h("@<3>").t(s).h("a5<1,2>"))}, -$S(){return this.a.$ti.h("a5<3,4>(a5<1,2>)")}} -A.ce.prototype={ -k(a){return"LateInitializationError: "+this.a}} -A.dz.prototype={ -gj(a){return this.a.length}, -i(a,b){var s=this.a -if(!(b>=0&&b"))}, -gv(a){if(this.gj(this)===0)throw A.b(A.bp()) -return this.u(0,0)}, -N(a,b){var s,r=this,q=r.gj(r) -for(s=0;s").t(c).h("ag<1,2>"))}, -Z(a,b){return A.e8(this,b,null,A.B(this).h("a4.E"))}} -A.ci.prototype={ -eu(a,b,c,d){var s,r=this.b -A.aC(r,"start") -s=this.c -if(s!=null){A.aC(s,"end") -if(r>s)throw A.b(A.am(r,0,s,"start",null))}}, -geW(){var s=J.a1(this.a),r=this.c -if(r==null||r>s)return s -return r}, -gfu(){var s=J.a1(this.a),r=this.b -if(r>s)return s -return r}, -gj(a){var s,r=J.a1(this.a),q=this.b -if(q>=r)return 0 -s=this.c -if(s==null||s>=r)return r-q -if(typeof s!=="number")return s.aN() -return s-q}, -u(a,b){var s=this,r=s.gfu()+b -if(b<0||r>=s.geW())throw A.b(A.V(b,s.gj(0),s,null,"index")) -return J.jh(s.a,r)}, -Z(a,b){var s,r,q=this -A.aC(b,"count") -s=q.b+b -r=q.c -if(r!=null&&s>=r)return new A.c8(q.$ti.h("c8<1>")) -return A.e8(q.a,s,r,q.$ti.c)}, -aG(a,b){var s,r,q,p=this,o=p.b,n=p.a,m=J.Y(n),l=m.gj(n),k=p.c -if(k!=null&&k=o){r.saP(null) -return!1}r.saP(p.u(q,s));++r.c -return!0}, -saP(a){this.d=this.$ti.h("1?").a(a)}, -$iL:1} -A.br.prototype={ -gC(a){var s=A.B(this) -return new A.dQ(J.ar(this.a),this.b,s.h("@<1>").t(s.y[1]).h("dQ<1,2>"))}, -gj(a){return J.a1(this.a)}, -gv(a){return this.b.$1(J.bK(this.a))}, -u(a,b){return this.b.$1(J.jh(this.a,b))}} -A.c7.prototype={$il:1} -A.dQ.prototype={ -n(){var s=this,r=s.b -if(r.n()){s.saP(s.c.$1(r.gq(r))) -return!0}s.saP(null) -return!1}, -gq(a){var s=this.a -return s==null?this.$ti.y[1].a(s):s}, -saP(a){this.a=this.$ti.h("2?").a(a)}, -$iL:1} -A.ag.prototype={ -gj(a){return J.a1(this.a)}, -u(a,b){return this.b.$1(J.jh(this.a,b))}} -A.lq.prototype={ -gC(a){return new A.cl(J.ar(this.a),this.b,this.$ti.h("cl<1>"))}, -ad(a,b,c){var s=this.$ti -return new A.br(this,s.t(c).h("1(2)").a(b),s.h("@<1>").t(c).h("br<1,2>"))}} -A.cl.prototype={ -n(){var s,r -for(s=this.a,r=this.b;s.n();)if(A.bG(r.$1(s.gq(s))))return!0 -return!1}, -gq(a){var s=this.a -return s.gq(s)}, -$iL:1} -A.bt.prototype={ -Z(a,b){A.ji(b,"count",t.S) -A.aC(b,"count") -return new A.bt(this.a,this.b+b,A.B(this).h("bt<1>"))}, -gC(a){return new A.e1(J.ar(this.a),this.b,A.B(this).h("e1<1>"))}} -A.cF.prototype={ -gj(a){var s=J.a1(this.a)-this.b -if(s>=0)return s -return 0}, -Z(a,b){A.ji(b,"count",t.S) -A.aC(b,"count") -return new A.cF(this.a,this.b+b,this.$ti)}, -$il:1} -A.e1.prototype={ -n(){var s,r -for(s=this.a,r=0;r"))}, -Z(a,b){A.aC(b,"count") -return this}} -A.dE.prototype={ -n(){return!1}, -gq(a){throw A.b(A.bp())}, -$iL:1} -A.ec.prototype={ -gC(a){return new A.ed(J.ar(this.a),this.$ti.h("ed<1>"))}} -A.ed.prototype={ -n(){var s,r -for(s=this.a,r=this.$ti.c;s.n();)if(r.b(s.gq(s)))return!0 -return!1}, -gq(a){var s=this.a -return this.$ti.c.a(s.gq(s))}, -$iL:1} -A.au.prototype={} -A.bX.prototype={ -l(a,b,c){A.B(this).h("bX.E").a(c) -throw A.b(A.F("Cannot modify an unmodifiable list"))}, -M(a,b,c,d,e){A.B(this).h("e").a(d) -throw A.b(A.F("Cannot modify an unmodifiable list"))}, -U(a,b,c,d){return this.M(0,b,c,d,0)}} -A.d7.prototype={} -A.ie.prototype={ -gj(a){return J.a1(this.a)}, -u(a,b){var s=J.a1(this.a) -if(0>b||b>=s)A.O(A.V(b,s,this,null,"index")) -return b}} -A.dN.prototype={ -i(a,b){return this.D(0,b)?J.ad(this.a,A.h(b)):null}, -gj(a){return J.a1(this.a)}, -gO(a){return A.e8(this.a,0,null,this.$ti.c)}, -gG(a){return new A.ie(this.a)}, -D(a,b){return A.j8(b)&&b>=0&&b>"))}, -fP(a){var s=this -return function(){var r=a -var q=0,p=1,o,n,m,l,k,j -return function $async$gav(b,c,d){if(c===1){o=d -q=p}while(true)switch(q){case 0:n=s.gG(s),n=n.gC(n),m=A.B(s),l=m.y[1],m=m.h("@<1>").t(l).h("a5<1,2>") -case 2:if(!n.n()){q=3 -break}k=n.gq(n) -j=s.i(0,k) -q=4 -return b.b=new A.a5(k,j==null?l.a(j):j,m),1 -case 4:q=2 -break -case 3:return 0 -case 1:return b.c=o,3}}}}, -$iJ:1} -A.c6.prototype={ -gj(a){return this.b.length}, -gdd(){var s=this.$keys -if(s==null){s=Object.keys(this.a) -this.$keys=s}return s}, -D(a,b){if(typeof b!="string")return!1 -if("__proto__"===b)return!1 -return this.a.hasOwnProperty(b)}, -i(a,b){if(!this.D(0,b))return null -return this.b[this.a[b]]}, -B(a,b){var s,r,q,p -this.$ti.h("~(1,2)").a(b) -s=this.gdd() -r=this.b -for(q=s.length,p=0;p"))}, -gO(a){return new A.cs(this.b,this.$ti.h("cs<2>"))}} -A.cs.prototype={ -gj(a){return this.a.length}, -gC(a){var s=this.a -return new A.en(s,s.length,this.$ti.h("en<1>"))}} -A.en.prototype={ -gq(a){var s=this.d -return s==null?this.$ti.c.a(s):s}, -n(){var s=this,r=s.c -if(r>=s.b){s.saQ(null) -return!1}s.saQ(s.a[r]);++s.c -return!0}, -saQ(a){this.d=this.$ti.h("1?").a(a)}, -$iL:1} -A.fF.prototype={ -ghh(){var s=this.a -return s}, -ghr(){var s,r,q,p,o=this -if(o.c===1)return B.D -s=o.d -r=s.length-o.e.length-o.f -if(r===0)return B.D -q=[] -for(p=0;p=0&&l>>0}, -k(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.k6(this.a)+"'")}} -A.hU.prototype={ -k(a){return"Reading static variable '"+this.a+"' during its initialization"}} -A.h9.prototype={ -k(a){return"RuntimeError: "+this.a}} -A.hO.prototype={ -k(a){return"Assertion failed: "+A.c9(this.a)}} -A.mL.prototype={} -A.b2.prototype={ -gj(a){return this.a}, -ghb(a){return this.a!==0}, -gG(a){return new A.b3(this,A.B(this).h("b3<1>"))}, -gO(a){var s=A.B(this) -return A.pg(new A.b3(this,s.h("b3<1>")),new A.jP(this),s.c,s.y[1])}, -D(a,b){var s,r -if(typeof b=="string"){s=this.b -if(s==null)return!1 -return s[b]!=null}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=this.c -if(r==null)return!1 -return r[b]!=null}else return this.h7(b)}, -h7(a){var s=this.d -if(s==null)return!1 -return this.bx(s[this.bw(a)],a)>=0}, -aW(a,b){J.bk(A.B(this).h("J<1,2>").a(b),new A.jO(this))}, -i(a,b){var s,r,q,p,o=null -if(typeof b=="string"){s=this.b -if(s==null)return o -r=s[b] -q=r==null?o:r.b -return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c -if(p==null)return o -r=p[b] -q=r==null?o:r.b -return q}else return this.h8(b)}, -h8(a){var s,r,q=this.d -if(q==null)return null -s=q[this.bw(a)] -r=this.bx(s,a) -if(r<0)return null -return s[r].b}, -l(a,b,c){var s,r,q=this,p=A.B(q) -p.c.a(b) -p.y[1].a(c) -if(typeof b=="string"){s=q.b -q.cW(s==null?q.b=q.cd():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=q.c -q.cW(r==null?q.c=q.cd():r,b,c)}else q.ha(b,c)}, -ha(a,b){var s,r,q,p,o=this,n=A.B(o) -n.c.a(a) -n.y[1].a(b) -s=o.d -if(s==null)s=o.d=o.cd() -r=o.bw(a) -q=s[r] -if(q==null)s[r]=[o.ce(a,b)] -else{p=o.bx(q,a) -if(p>=0)q[p].b=b -else q.push(o.ce(a,b))}}, -ht(a,b,c){var s,r,q=this,p=A.B(q) -p.c.a(b) -p.h("2()").a(c) -if(q.D(0,b)){s=q.i(0,b) -return s==null?p.y[1].a(s):s}r=c.$0() -q.l(0,b,r) -return r}, -K(a,b){var s=this -if(typeof b=="string")return s.dl(s.b,b) -else if(typeof b=="number"&&(b&0x3fffffff)===b)return s.dl(s.c,b) -else return s.h9(b)}, -h9(a){var s,r,q,p,o=this,n=o.d -if(n==null)return null -s=o.bw(a) -r=n[s] -q=o.bx(r,a) -if(q<0)return null -p=r.splice(q,1)[0] -o.dA(p) -if(r.length===0)delete n[s] -return p.b}, -B(a,b){var s,r,q=this -A.B(q).h("~(1,2)").a(b) -s=q.e -r=q.r -for(;s!=null;){b.$2(s.a,s.b) -if(r!==q.r)throw A.b(A.as(q)) -s=s.c}}, -cW(a,b,c){var s,r=A.B(this) -r.c.a(b) -r.y[1].a(c) -s=a[b] -if(s==null)a[b]=this.ce(b,c) -else s.b=c}, -dl(a,b){var s -if(a==null)return null -s=a[b] -if(s==null)return null -this.dA(s) -delete a[b] -return s.b}, -df(){this.r=this.r+1&1073741823}, -ce(a,b){var s=this,r=A.B(s),q=new A.jQ(r.c.a(a),r.y[1].a(b)) -if(s.e==null)s.e=s.f=q -else{r=s.f -r.toString -q.d=r -s.f=r.c=q}++s.a -s.df() -return q}, -dA(a){var s=this,r=a.d,q=a.c -if(r==null)s.e=q -else r.c=q -if(q==null)s.f=r -else q.d=r;--s.a -s.df()}, -bw(a){return J.bl(a)&1073741823}, -bx(a,b){var s,r -if(a==null)return-1 -s=a.length -for(r=0;r"]=s -delete s[""] -return s}, -$ipe:1} -A.jP.prototype={ -$1(a){var s=this.a,r=A.B(s) -s=s.i(0,r.c.a(a)) -return s==null?r.y[1].a(s):s}, -$S(){return A.B(this.a).h("2(1)")}} -A.jO.prototype={ -$2(a,b){var s=this.a,r=A.B(s) -s.l(0,r.c.a(a),r.y[1].a(b))}, -$S(){return A.B(this.a).h("~(1,2)")}} -A.jQ.prototype={} -A.b3.prototype={ -gj(a){return this.a.a}, -gC(a){var s=this.a,r=new A.dM(s,s.r,this.$ti.h("dM<1>")) -r.c=s.e -return r}, -N(a,b){return this.a.D(0,b)}} -A.dM.prototype={ -gq(a){return this.d}, -n(){var s,r=this,q=r.a -if(r.b!==q.r)throw A.b(A.as(q)) -s=r.c -if(s==null){r.saQ(null) -return!1}else{r.saQ(s.a) -r.c=s.c -return!0}}, -saQ(a){this.d=this.$ti.h("1?").a(a)}, -$iL:1} -A.nr.prototype={ -$1(a){return this.a(a)}, -$S:64} -A.ns.prototype={ -$2(a,b){return this.a(a,b)}, -$S:37} -A.nt.prototype={ -$1(a){return this.a(A.U(a))}, -$S:74} -A.cu.prototype={ -gF(a){return A.bh(this.d9())}, -d9(){return A.vx(this.$r,this.d7())}, -k(a){return this.dw(!1)}, -dw(a){var s,r,q,p,o,n=this.f_(),m=this.d7(),l=(a?""+"Record ":"")+"(" -for(s=n.length,r="",q=0;q0;){--q;--s -B.a.l(j,q,r[s])}}return A.dP(j,k)}} -A.dg.prototype={ -d7(){return[this.a,this.b]}, -L(a,b){if(b==null)return!1 -return b instanceof A.dg&&this.$s===b.$s&&J.ac(this.a,b.a)&&J.ac(this.b,b.b)}, -gA(a){return A.nT(this.$s,this.a,this.b,B.q)}} -A.cP.prototype={ -k(a){return"RegExp/"+this.a+"/"+this.b.flags}, -gf7(){var s=this,r=s.c -if(r!=null)return r -r=s.b -return s.c=A.pd(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, -fS(a){var s=this.b.exec(a) -if(s==null)return null -return new A.es(s)}, -dE(a,b){return new A.hM(this,b,0)}, -eY(a,b){var s,r=this.gf7() -if(r==null)r=t.K.a(r) -r.lastIndex=b -s=r.exec(a) -if(s==null)return null -return new A.es(s)}, -$ik4:1, -$itp:1} -A.es.prototype={$icU:1,$ie_:1} -A.hM.prototype={ -gC(a){return new A.hN(this.a,this.b,this.c)}} -A.hN.prototype={ -gq(a){var s=this.d -return s==null?t.lu.a(s):s}, -n(){var s,r,q,p,o,n,m=this,l=m.b -if(l==null)return!1 -s=m.c -r=l.length -if(s<=r){q=m.a -p=q.eY(l,s) -if(p!=null){m.d=p -s=p.b -o=s.index -n=o+s[0].length -if(o===n){if(q.b.unicode){s=m.c -q=s+1 -if(q=0&&s=55296&&s<=56319){if(!(q>=0))return A.c(l,q) -s=l.charCodeAt(q) -s=s>=56320&&s<=57343}else s=!1}else s=!1}else s=!1 -n=(s?n+1:n)+1}m.c=n -return!0}}m.b=m.d=null -return!1}, -$iL:1} -A.e7.prototype={$icU:1} -A.iI.prototype={ -gC(a){return new A.iJ(this.a,this.b,this.c)}, -gv(a){var s=this.b,r=this.a.indexOf(s,this.c) -if(r>=0)return new A.e7(r,s) -throw A.b(A.bp())}} -A.iJ.prototype={ -n(){var s,r,q=this,p=q.c,o=q.b,n=o.length,m=q.a,l=m.length -if(p+n>l){q.d=null -return!1}s=m.indexOf(o,p) -if(s<0){q.c=l+1 -q.d=null -return!1}r=s+n -q.d=new A.e7(s,o) -q.c=r===q.c?r+1:r -return!0}, -gq(a){var s=this.d -s.toString -return s}, -$iL:1} -A.lE.prototype={ -bh(){var s=this.b -if(s===this)throw A.b(new A.ce("Local '"+this.a+"' has not been initialized.")) -return s}, -V(){var s=this.b -if(s===this)throw A.b(A.t3(this.a)) -return s}} -A.cW.prototype={ -gF(a){return B.a3}, -$iS:1, -$icW:1, -$inK:1} -A.a6.prototype={ -f6(a,b,c,d){var s=A.am(b,0,c,d,null) -throw A.b(s)}, -cZ(a,b,c,d){if(b>>>0!==b||b>c)this.f6(a,b,c,d)}, -$ia6:1} -A.dR.prototype={ -gF(a){return B.a4}, -f1(a,b,c){return a.getUint32(b,c)}, -fq(a,b,c,d){return a.setUint32(b,c,d)}, -$iS:1, -$ip0:1} -A.ah.prototype={ -gj(a){return a.length}, -dq(a,b,c,d,e){var s,r,q=a.length -this.cZ(a,b,q,"start") -this.cZ(a,c,q,"end") -if(b>c)throw A.b(A.am(b,0,c,null,null)) -s=c-b -if(e<0)throw A.b(A.ak(e,null)) -r=d.length -if(r-e").b(b))s.cY(b) -else s.aS(b)}}, -bq(a,b){var s=this.a -if(this.b)s.P(a,b) -else s.an(a,b)}, -$iff:1} -A.n2.prototype={ -$1(a){return this.a.$2(0,a)}, -$S:5} -A.n3.prototype={ -$2(a,b){this.a.$2(1,new A.dF(a,t.l.a(b)))}, -$S:66} -A.ni.prototype={ -$2(a,b){this.a(A.h(a),b)}, -$S:35} -A.eE.prototype={ -gq(a){var s=this.b -return s==null?this.$ti.c.a(s):s}, -fl(a,b){var s,r,q -a=A.h(a) -b=b -s=this.a -for(;!0;)try{r=s(this,a,b) -return r}catch(q){b=q -a=1}}, -n(){var s,r,q,p,o=this,n=null,m=null,l=0 -for(;!0;){s=o.d -if(s!=null)try{if(s.n()){o.sbT(J.rt(s)) -return!0}else o.scc(n)}catch(r){m=r -l=1 -o.scc(n)}q=o.fl(l,m) -if(1===q)return!0 -if(0===q){o.sbT(n) -p=o.e -if(p==null||p.length===0){o.a=A.pS -return!1}if(0>=p.length)return A.c(p,-1) -o.a=p.pop() -l=0 -m=null -continue}if(2===q){l=0 -m=null -continue}if(3===q){m=o.c -o.c=null -p=o.e -if(p==null||p.length===0){o.sbT(n) -o.a=A.pS -throw m -return!1}if(0>=p.length)return A.c(p,-1) -o.a=p.pop() -l=1 -continue}throw A.b(A.K("sync*"))}return!1}, -hH(a){var s,r,q=this -if(a instanceof A.dk){s=a.a() -r=q.e -if(r==null)r=q.e=[] -B.a.m(r,q.a) -q.a=s -return 2}else{q.scc(J.ar(a)) -return 2}}, -sbT(a){this.b=this.$ti.h("1?").a(a)}, -scc(a){this.d=this.$ti.h("L<1>?").a(a)}, -$iL:1} -A.dk.prototype={ -gC(a){return new A.eE(this.a(),this.$ti.h("eE<1>"))}} -A.dw.prototype={ -k(a){return A.t(this.a)}, -$iR:1, -gaM(){return this.b}} -A.jH.prototype={ -$0(){var s,r,q -try{this.a.aR(this.b.$0())}catch(q){s=A.T(q) -r=A.a0(q) -A.qh(this.a,s,r)}}, -$S:0} -A.jJ.prototype={ -$2(a,b){var s,r,q=this -t.K.a(a) -t.l.a(b) -s=q.a -r=--s.b -if(s.a!=null){s.a=null -if(s.b===0||q.c)q.d.P(a,b) -else{q.e.b=a -q.f.b=b}}else if(r===0&&!q.c)q.d.P(q.e.bh(),q.f.bh())}, -$S:20} -A.jI.prototype={ -$1(a){var s,r,q=this,p=q.w -p.a(a) -r=q.a;--r.b -s=r.a -if(s!=null){J.nH(s,q.b,a) -if(r.b===0)q.c.aS(A.jS(s,!0,p))}else if(r.b===0&&!q.e)q.c.P(q.f.bh(),q.r.bh())}, -$S(){return this.w.h("Q(0)")}} -A.co.prototype={ -bq(a,b){var s -A.cx(a,"error",t.K) -if((this.a.a&30)!==0)throw A.b(A.K("Future already completed")) -s=$.E.aY(a,b) -if(s!=null){a=s.a -b=s.b}else if(b==null)b=A.f3(a) -this.P(a,b)}, -ac(a){return this.bq(a,null)}, -$iff:1} -A.cn.prototype={ -W(a,b){var s,r=this.$ti -r.h("1/?").a(b) -s=this.a -if((s.a&30)!==0)throw A.b(A.K("Future already completed")) -s.b9(r.h("1/").a(b))}, -P(a,b){this.a.an(a,b)}} -A.a9.prototype={ -W(a,b){var s,r=this.$ti -r.h("1/?").a(b) -s=this.a -if((s.a&30)!==0)throw A.b(A.K("Future already completed")) -s.aR(r.h("1/").a(b))}, -fH(a){return this.W(0,null)}, -P(a,b){this.a.P(a,b)}} -A.bC.prototype={ -hg(a){if((this.c&15)!==6)return!0 -return this.b.b.cM(t.iW.a(this.d),a.a,t.y,t.K)}, -fX(a){var s,r=this,q=r.e,p=null,o=t.z,n=t.K,m=a.a,l=r.b.b -if(t.Q.b(q))p=l.hy(q,m,a.b,o,n,t.l) -else p=l.cM(t.v.a(q),m,o,n) -try{o=r.$ti.h("2/").a(p) -return o}catch(s){if(t.do.b(A.T(s))){if((r.c&1)!==0)throw A.b(A.ak("The error handler of Future.then must return a value of the returned future's type","onError")) -throw A.b(A.ak("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} -A.C.prototype={ -dn(a){this.a=this.a&1|4 -this.c=a}, -bF(a,b,c){var s,r,q,p=this.$ti -p.t(c).h("1/(2)").a(a) -s=$.E -if(s===B.d){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.b(A.bm(b,"onError",u.c))}else{a=s.bD(a,c.h("0/"),p.c) -if(b!=null)b=A.vb(b,s)}r=new A.C($.E,c.h("C<0>")) -q=b==null?1:3 -this.b8(new A.bC(r,q,a,b,p.h("@<1>").t(c).h("bC<1,2>"))) -return r}, -e2(a,b){return this.bF(a,null,b)}, -dv(a,b,c){var s,r=this.$ti -r.t(c).h("1/(2)").a(a) -s=new A.C($.E,c.h("C<0>")) -this.b8(new A.bC(s,19,a,b,r.h("@<1>").t(c).h("bC<1,2>"))) -return s}, -aH(a){var s,r,q -t.mY.a(a) -s=this.$ti -r=$.E -q=new A.C(r,s) -if(r!==B.d)a=r.cK(a,t.z) -this.b8(new A.bC(q,8,a,null,s.h("@<1>").t(s.c).h("bC<1,2>"))) -return q}, -fo(a){this.a=this.a&1|16 -this.c=a}, -bb(a){this.a=a.a&30|this.a&1 -this.c=a.c}, -b8(a){var s,r=this,q=r.a -if(q<=3){a.a=t.d.a(r.c) -r.c=a}else{if((q&4)!==0){s=t.c.a(r.c) -if((s.a&24)===0){s.b8(a) -return}r.bb(s)}r.b.am(new A.lO(r,a))}}, -cf(a){var s,r,q,p,o,n,m=this,l={} -l.a=a -if(a==null)return -s=m.a -if(s<=3){r=t.d.a(m.c) -m.c=a -if(r!=null){q=a.a -for(p=a;q!=null;p=q,q=o)o=q.a -p.a=r}}else{if((s&4)!==0){n=t.c.a(m.c) -if((n.a&24)===0){n.cf(a) -return}m.bb(n)}l.a=m.bj(a) -m.b.am(new A.lV(l,m))}}, -bi(){var s=t.d.a(this.c) -this.c=null -return this.bj(s)}, -bj(a){var s,r,q -for(s=a,r=null;s!=null;r=s,s=q){q=s.a -s.a=r}return r}, -cX(a){var s,r,q,p=this -p.a^=2 -try{a.bF(new A.lS(p),new A.lT(p),t.P)}catch(q){s=A.T(q) -r=A.a0(q) -A.qS(new A.lU(p,s,r))}}, -aR(a){var s,r=this,q=r.$ti -q.h("1/").a(a) -if(q.h("I<1>").b(a))if(q.b(a))A.oj(a,r) -else r.cX(a) -else{s=r.bi() -q.c.a(a) -r.a=8 -r.c=a -A.df(r,s)}}, -aS(a){var s,r=this -r.$ti.c.a(a) -s=r.bi() -r.a=8 -r.c=a -A.df(r,s)}, -P(a,b){var s -t.K.a(a) -t.l.a(b) -s=this.bi() -this.fo(A.jj(a,b)) -A.df(this,s)}, -b9(a){var s=this.$ti -s.h("1/").a(a) -if(s.h("I<1>").b(a)){this.cY(a) -return}this.eG(a)}, -eG(a){var s=this -s.$ti.c.a(a) -s.a^=2 -s.b.am(new A.lQ(s,a))}, -cY(a){var s=this.$ti -s.h("I<1>").a(a) -if(s.b(a)){A.u5(a,this) -return}this.cX(a)}, -an(a,b){t.l.a(b) -this.a^=2 -this.b.am(new A.lP(this,a,b))}, -$iI:1} -A.lO.prototype={ -$0(){A.df(this.a,this.b)}, -$S:0} -A.lV.prototype={ -$0(){A.df(this.b,this.a.a)}, -$S:0} -A.lS.prototype={ -$1(a){var s,r,q,p=this.a -p.a^=2 -try{p.aS(p.$ti.c.a(a))}catch(q){s=A.T(q) -r=A.a0(q) -p.P(s,r)}}, -$S:22} -A.lT.prototype={ -$2(a,b){this.a.P(t.K.a(a),t.l.a(b))}, -$S:70} -A.lU.prototype={ -$0(){this.a.P(this.b,this.c)}, -$S:0} -A.lR.prototype={ -$0(){A.oj(this.a.a,this.b)}, -$S:0} -A.lQ.prototype={ -$0(){this.a.aS(this.b)}, -$S:0} -A.lP.prototype={ -$0(){this.a.P(this.b,this.c)}, -$S:0} -A.lY.prototype={ -$0(){var s,r,q,p,o,n,m=this,l=null -try{q=m.a.a -l=q.b.b.cL(t.mY.a(q.d),t.z)}catch(p){s=A.T(p) -r=A.a0(p) -q=m.c&&t.n.a(m.b.a.c).a===s -o=m.a -if(q)o.c=t.n.a(m.b.a.c) -else o.c=A.jj(s,r) -o.b=!0 -return}if(l instanceof A.C&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a -q.c=t.n.a(l.c) -q.b=!0}return}if(l instanceof A.C){n=m.b.a -q=m.a -q.c=l.e2(new A.lZ(n),t.z) -q.b=!1}}, -$S:0} -A.lZ.prototype={ -$1(a){return this.a}, -$S:73} -A.lX.prototype={ -$0(){var s,r,q,p,o,n,m,l -try{q=this.a -p=q.a -o=p.$ti -n=o.c -m=n.a(this.b) -q.c=p.b.b.cM(o.h("2/(1)").a(p.d),m,o.h("2/"),n)}catch(l){s=A.T(l) -r=A.a0(l) -q=this.a -q.c=A.jj(s,r) -q.b=!0}}, -$S:0} -A.lW.prototype={ -$0(){var s,r,q,p,o,n,m=this -try{s=t.n.a(m.a.a.c) -p=m.b -if(p.a.hg(s)&&p.a.e!=null){p.c=p.a.fX(s) -p.b=!1}}catch(o){r=A.T(o) -q=A.a0(o) -p=t.n.a(m.a.a.c) -n=m.b -if(p.a===r)n.c=p -else n.c=A.jj(r,q) -n.b=!0}}, -$S:0} -A.hP.prototype={} -A.d3.prototype={ -gj(a){var s={},r=new A.C($.E,t.g_) -s.a=0 -this.cC(new A.l8(s,this),!0,new A.l9(s,r),r.gd2()) -return r}, -gv(a){var s=new A.C($.E,A.B(this).h("C<1>")),r=this.cC(null,!0,new A.l6(s),s.gd2()) -r.dX(new A.l7(this,r,s)) -return s}} -A.l8.prototype={ -$1(a){A.B(this.b).c.a(a);++this.a.a}, -$S(){return A.B(this.b).h("~(1)")}} -A.l9.prototype={ -$0(){this.b.aR(this.a.a)}, -$S:0} -A.l6.prototype={ -$0(){var s,r,q,p -try{q=A.bp() -throw A.b(q)}catch(p){s=A.T(p) -r=A.a0(p) -A.qh(this.a,s,r)}}, -$S:0} -A.l7.prototype={ -$1(a){A.uJ(this.b,this.c,A.B(this.a).c.a(a))}, -$S(){return A.B(this.a).h("~(1)")}} -A.dj.prototype={ -gfb(){var s,r=this -if((r.b&8)===0)return A.B(r).h("aX<1>?").a(r.a) -s=A.B(r) -return s.h("aX<1>?").a(s.h("eC<1>").a(r.a).gcQ())}, -c3(){var s,r,q=this -if((q.b&8)===0){s=q.a -if(s==null)s=q.a=new A.aX(A.B(q).h("aX<1>")) -return A.B(q).h("aX<1>").a(s)}r=A.B(q) -s=r.h("eC<1>").a(q.a).gcQ() -return r.h("aX<1>").a(s)}, -gcj(){var s=this.a -if((this.b&8)!==0)s=t.gL.a(s).gcQ() -return A.B(this).h("db<1>").a(s)}, -bU(){if((this.b&4)!==0)return new A.bv("Cannot add event after closing") -return new A.bv("Cannot add event while adding a stream")}, -d6(){var s=this.c -if(s==null)s=this.c=(this.b&2)!==0?$.eY():new A.C($.E,t.D) -return s}, -dD(a,b){var s,r,q=this -A.cx(a,"error",t.K) -if(q.b>=4)throw A.b(q.bU()) -s=$.E.aY(a,b) -if(s!=null){a=s.a -b=s.b}else b=A.f3(a) -r=q.b -if((r&1)!==0)q.bn(a,b) -else if((r&3)===0)q.c3().m(0,new A.ej(a,b))}, -fB(a){return this.dD(a,null)}, -ab(a){var s=this,r=s.b -if((r&4)!==0)return s.d6() -if(r>=4)throw A.b(s.bU()) -r=s.b=r|4 -if((r&1)!==0)s.bm() -else if((r&3)===0)s.c3().m(0,B.w) -return s.d6()}, -fv(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=A.B(l) -k.h("~(1)?").a(a) -t.e.a(c) -if((l.b&3)!==0)throw A.b(A.K("Stream has already been listened to.")) -s=$.E -r=d?1:0 -q=A.pI(s,a,k.c) -p=A.u4(s,b) -o=new A.db(l,q,p,s.cK(c,t.H),s,r,k.h("db<1>")) -n=l.gfb() -s=l.b|=1 -if((s&8)!==0){m=k.h("eC<1>").a(l.a) -m.scQ(o) -m.hx(0)}else l.a=o -o.fp(n) -o.f2(new A.mQ(l)) -return o}, -fe(a){var s,r,q,p,o,n,m,l=this,k=A.B(l) -k.h("d4<1>").a(a) -s=null -if((l.b&8)!==0)s=k.h("eC<1>").a(l.a).S(0) -l.a=null -l.b=l.b&4294967286|2 -r=l.r -if(r!=null)if(s==null)try{q=r.$0() -if(q instanceof A.C)s=q}catch(n){p=A.T(n) -o=A.a0(n) -m=new A.C($.E,t.D) -m.an(p,o) -s=m}else s=s.aH(r) -k=new A.mP(l) -if(s!=null)s=s.aH(k) -else k.$0() -return s}, -$ipR:1, -$icr:1} -A.mQ.prototype={ -$0(){A.ow(this.a.d)}, -$S:0} -A.mP.prototype={ -$0(){var s=this.a.c -if(s!=null&&(s.a&30)===0)s.b9(null)}, -$S:0} -A.iO.prototype={ -bl(a){this.$ti.c.a(a) -this.gcj().eB(0,a)}, -bn(a,b){this.gcj().eD(a,b)}, -bm(){this.gcj().eK()}} -A.dl.prototype={} -A.da.prototype={ -gA(a){return(A.dY(this.a)^892482866)>>>0}, -L(a,b){if(b==null)return!1 -if(this===b)return!0 -return b instanceof A.da&&b.a===this.a}} -A.db.prototype={ -dg(){return this.w.fe(this)}, -di(){var s=this.w,r=A.B(s) -r.h("d4<1>").a(this) -if((s.b&8)!==0)r.h("eC<1>").a(s.a).hJ(0) -A.ow(s.e)}, -dj(){var s=this.w,r=A.B(s) -r.h("d4<1>").a(this) -if((s.b&8)!==0)r.h("eC<1>").a(s.a).hx(0) -A.ow(s.f)}} -A.eg.prototype={ -fp(a){var s=this -A.B(s).h("aX<1>?").a(a) -if(a==null)return -s.sbg(a) -if(a.c!=null){s.e=(s.e|64)>>>0 -a.bP(s)}}, -dX(a){var s=A.B(this) -this.seF(A.pI(this.d,s.h("~(1)?").a(a),s.c))}, -S(a){var s=this,r=(s.e&4294967279)>>>0 -s.e=r -if((r&8)===0)s.bX() -r=s.f -return r==null?$.eY():r}, -bX(){var s,r=this,q=r.e=(r.e|8)>>>0 -if((q&64)!==0){s=r.r -if(s.a===1)s.a=3}if((q&32)===0)r.sbg(null) -r.f=r.dg()}, -eB(a,b){var s,r=this,q=A.B(r) -q.c.a(b) -s=r.e -if((s&8)!==0)return -if(s<32)r.bl(b) -else r.bS(new A.cq(b,q.h("cq<1>")))}, -eD(a,b){var s=this.e -if((s&8)!==0)return -if(s<32)this.bn(a,b) -else this.bS(new A.ej(a,b))}, -eK(){var s=this,r=s.e -if((r&8)!==0)return -r=(r|2)>>>0 -s.e=r -if(r<32)s.bm() -else s.bS(B.w)}, -di(){}, -dj(){}, -dg(){return null}, -bS(a){var s,r=this,q=r.r -if(q==null){q=new A.aX(A.B(r).h("aX<1>")) -r.sbg(q)}q.m(0,a) -s=r.e -if((s&64)===0){s=(s|64)>>>0 -r.e=s -if(s<128)q.bP(r)}}, -bl(a){var s,r=this,q=A.B(r).c -q.a(a) -s=r.e -r.e=(s|32)>>>0 -r.d.cN(r.a,a,q) -r.e=(r.e&4294967263)>>>0 -r.bY((s&4)!==0)}, -bn(a,b){var s,r=this,q=r.e,p=new A.lD(r,a,b) -if((q&1)!==0){r.e=(q|16)>>>0 -r.bX() -s=r.f -if(s!=null&&s!==$.eY())s.aH(p) -else p.$0()}else{p.$0() -r.bY((q&4)!==0)}}, -bm(){var s,r=this,q=new A.lC(r) -r.bX() -r.e=(r.e|16)>>>0 -s=r.f -if(s!=null&&s!==$.eY())s.aH(q) -else q.$0()}, -f2(a){var s,r=this -t.M.a(a) -s=r.e -r.e=(s|32)>>>0 -a.$0() -r.e=(r.e&4294967263)>>>0 -r.bY((s&4)!==0)}, -bY(a){var s,r,q=this,p=q.e -if((p&64)!==0&&q.r.c==null){p=q.e=(p&4294967231)>>>0 -if((p&4)!==0)if(p<128){s=q.r -s=s==null?null:s.c==null -s=s!==!1}else s=!1 -else s=!1 -if(s){p=(p&4294967291)>>>0 -q.e=p}}for(;!0;a=r){if((p&8)!==0){q.sbg(null) -return}r=(p&4)!==0 -if(a===r)break -q.e=(p^32)>>>0 -if(r)q.di() -else q.dj() -p=(q.e&4294967263)>>>0 -q.e=p}if((p&64)!==0&&p<128)q.r.bP(q)}, -seF(a){this.a=A.B(this).h("~(1)").a(a)}, -sbg(a){this.r=A.B(this).h("aX<1>?").a(a)}, -$id4:1, -$icr:1} -A.lD.prototype={ -$0(){var s,r,q,p=this.a,o=p.e -if((o&8)!==0&&(o&16)===0)return -p.e=(o|32)>>>0 -s=p.b -o=this.b -r=t.K -q=p.d -if(t.k.b(s))q.hz(s,o,this.c,r,t.l) -else q.cN(t.i6.a(s),o,r) -p.e=(p.e&4294967263)>>>0}, -$S:0} -A.lC.prototype={ -$0(){var s=this.a,r=s.e -if((r&16)===0)return -s.e=(r|42)>>>0 -s.d.e1(s.c) -s.e=(s.e&4294967263)>>>0}, -$S:0} -A.eD.prototype={ -cC(a,b,c,d){var s=this.$ti -s.h("~(1)?").a(a) -t.e.a(c) -return this.a.fv(s.h("~(1)?").a(a),d,c,!0)}} -A.bB.prototype={ -sb1(a,b){this.a=t.lT.a(b)}, -gb1(a){return this.a}} -A.cq.prototype={ -cG(a){this.$ti.h("cr<1>").a(a).bl(this.b)}} -A.ej.prototype={ -cG(a){a.bn(this.b,this.c)}} -A.hW.prototype={ -cG(a){a.bm()}, -gb1(a){return null}, -sb1(a,b){throw A.b(A.K("No events after a done."))}, -$ibB:1} -A.aX.prototype={ -bP(a){var s,r=this -r.$ti.h("cr<1>").a(a) -s=r.a -if(s===1)return -if(s>=1){r.a=1 -return}A.qS(new A.mI(r,a)) -r.a=1}, -m(a,b){var s=this,r=s.c -if(r==null)s.b=s.c=b -else{r.sb1(0,b) -s.c=b}}} -A.mI.prototype={ -$0(){var s,r,q,p=this.a,o=p.a -p.a=0 -if(o===3)return -s=p.$ti.h("cr<1>").a(this.b) -r=p.b -q=r.gb1(r) -p.b=q -if(q==null)p.c=null -r.cG(s)}, -$S:0} -A.iH.prototype={} -A.n4.prototype={ -$0(){return this.a.aR(this.b)}, -$S:0} -A.iW.prototype={} -A.eP.prototype={$ibA:1} -A.nf.prototype={ -$0(){A.rP(this.a,this.b)}, -$S:0} -A.iw.prototype={ -gfm(){return B.ah}, -gaw(){return this}, -e1(a){var s,r,q -t.M.a(a) -try{if(B.d===$.E){a.$0() -return}A.qu(null,null,this,a,t.H)}catch(q){s=A.T(q) -r=A.a0(q) -A.ne(t.K.a(s),t.l.a(r))}}, -cN(a,b,c){var s,r,q -c.h("~(0)").a(a) -c.a(b) -try{if(B.d===$.E){a.$1(b) -return}A.qw(null,null,this,a,b,t.H,c)}catch(q){s=A.T(q) -r=A.a0(q) -A.ne(t.K.a(s),t.l.a(r))}}, -hz(a,b,c,d,e){var s,r,q -d.h("@<0>").t(e).h("~(1,2)").a(a) -d.a(b) -e.a(c) -try{if(B.d===$.E){a.$2(b,c) -return}A.qv(null,null,this,a,b,c,t.H,d,e)}catch(q){s=A.T(q) -r=A.a0(q) -A.ne(t.K.a(s),t.l.a(r))}}, -fE(a,b){return new A.mN(this,b.h("0()").a(a),b)}, -co(a){return new A.mM(this,t.M.a(a))}, -dF(a,b){return new A.mO(this,b.h("~(0)").a(a),b)}, -dP(a,b){A.ne(a,t.l.a(b))}, -cL(a,b){b.h("0()").a(a) -if($.E===B.d)return a.$0() -return A.qu(null,null,this,a,b)}, -cM(a,b,c,d){c.h("@<0>").t(d).h("1(2)").a(a) -d.a(b) -if($.E===B.d)return a.$1(b) -return A.qw(null,null,this,a,b,c,d)}, -hy(a,b,c,d,e,f){d.h("@<0>").t(e).t(f).h("1(2,3)").a(a) -e.a(b) -f.a(c) -if($.E===B.d)return a.$2(b,c) -return A.qv(null,null,this,a,b,c,d,e,f)}, -cK(a,b){return b.h("0()").a(a)}, -bD(a,b,c){return b.h("@<0>").t(c).h("1(2)").a(a)}, -cJ(a,b,c,d){return b.h("@<0>").t(c).t(d).h("1(2,3)").a(a)}, -aY(a,b){t.fw.a(b) -return null}, -am(a){A.ng(null,null,this,t.M.a(a))}, -dI(a,b){return A.pu(a,t.M.a(b))}} -A.mN.prototype={ -$0(){return this.a.cL(this.b,this.c)}, -$S(){return this.c.h("0()")}} -A.mM.prototype={ -$0(){return this.a.e1(this.b)}, -$S:0} -A.mO.prototype={ -$1(a){var s=this.c -return this.a.cN(this.b,s.a(a),s)}, -$S(){return this.c.h("~(0)")}} -A.eo.prototype={ -gC(a){var s=this,r=new A.ct(s,s.r,s.$ti.h("ct<1>")) -r.c=s.e -return r}, -gj(a){return this.a}, -N(a,b){var s,r -if(b!=="__proto__"){s=this.b -if(s==null)return!1 -return t.g.a(s[b])!=null}else{r=this.eP(b) -return r}}, -eP(a){var s=this.d -if(s==null)return!1 -return this.c7(s[B.b.gA(a)&1073741823],a)>=0}, -gv(a){var s=this.e -if(s==null)throw A.b(A.K("No elements")) -return this.$ti.c.a(s.a)}, -m(a,b){var s,r,q=this -q.$ti.c.a(b) -if(typeof b=="string"&&b!=="__proto__"){s=q.b -return q.d_(s==null?q.b=A.ok():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c -return q.d_(r==null?q.c=A.ok():r,b)}else return q.eL(0,b)}, -eL(a,b){var s,r,q,p=this -p.$ti.c.a(b) -s=p.d -if(s==null)s=p.d=A.ok() -r=J.bl(b)&1073741823 -q=s[r] -if(q==null)s[r]=[p.c_(b)] -else{if(p.c7(q,b)>=0)return!1 -q.push(p.c_(b))}return!0}, -K(a,b){var s -if(b!=="__proto__")return this.eM(this.b,b) -else{s=this.fg(0,b) -return s}}, -fg(a,b){var s,r,q,p,o=this.d -if(o==null)return!1 -s=B.b.gA(b)&1073741823 -r=o[s] -q=this.c7(r,b) -if(q<0)return!1 -p=r.splice(q,1)[0] -if(0===r.length)delete o[s] -this.d1(p) -return!0}, -d_(a,b){this.$ti.c.a(b) -if(t.g.a(a[b])!=null)return!1 -a[b]=this.c_(b) -return!0}, -eM(a,b){var s -if(a==null)return!1 -s=t.g.a(a[b]) -if(s==null)return!1 -this.d1(s) -delete a[b] -return!0}, -d0(){this.r=this.r+1&1073741823}, -c_(a){var s,r=this,q=new A.id(r.$ti.c.a(a)) -if(r.e==null)r.e=r.f=q -else{s=r.f -s.toString -q.c=s -r.f=s.b=q}++r.a -r.d0() -return q}, -d1(a){var s=this,r=a.c,q=a.b -if(r==null)s.e=q -else r.b=q -if(q==null)s.f=r -else q.c=r;--s.a -s.d0()}, -c7(a,b){var s,r -if(a==null)return-1 -s=a.length -for(r=0;r"))}, -gj(a){return this.b}, -gv(a){var s -if(this.b===0)throw A.b(A.K("No such element")) -s=this.c -s.toString -return s}, -ga4(a){var s -if(this.b===0)throw A.b(A.K("No such element")) -s=this.c.c -s.toString -return s}, -gY(a){return this.b===0}, -cb(a,b,c){var s=this,r=s.$ti -r.h("1?").a(a) -r.c.a(b) -if(b.a!=null)throw A.b(A.K("LinkedListEntry is already in a LinkedList"));++s.a -b.sde(s) -if(s.b===0){b.sag(b) -b.saT(b) -s.sc8(b);++s.b -return}r=a.c -r.toString -b.saT(r) -b.sag(a) -r.sag(b) -a.saT(b);++s.b}, -ck(a){var s,r,q=this,p=null -q.$ti.c.a(a);++q.a -a.b.saT(a.c) -s=a.c -r=a.b -s.sag(r);--q.b -a.saT(p) -a.sag(p) -a.sde(p) -if(q.b===0)q.sc8(p) -else if(a===q.c)q.sc8(r)}, -sc8(a){this.c=this.$ti.h("1?").a(a)}} -A.ep.prototype={ -gq(a){var s=this.c -return s==null?this.$ti.c.a(s):s}, -n(){var s=this,r=s.a -if(s.b!==r.a)throw A.b(A.as(s)) -if(r.b!==0)r=s.e&&s.d===r.gv(0) -else r=!0 -if(r){s.sa8(null) -return!1}s.e=!0 -s.sa8(s.d) -s.sag(s.d.b) -return!0}, -sa8(a){this.c=this.$ti.h("1?").a(a)}, -sag(a){this.d=this.$ti.h("1?").a(a)}, -$iL:1} -A.af.prototype={ -gb2(){var s=this.a -if(s==null||this===s.gv(0))return null -return this.c}, -sde(a){this.a=A.B(this).h("cS?").a(a)}, -sag(a){this.b=A.B(this).h("af.E?").a(a)}, -saT(a){this.c=A.B(this).h("af.E?").a(a)}} -A.i.prototype={ -gC(a){return new A.b4(a,this.gj(a),A.a3(a).h("b4"))}, -u(a,b){return this.i(a,b)}, -B(a,b){var s,r -A.a3(a).h("~(i.E)").a(b) -s=this.gj(a) -for(r=0;r").t(c).h("ag<1,2>"))}, -Z(a,b){return A.e8(a,b,null,A.a3(a).h("i.E"))}, -bp(a,b){return new A.b0(a,A.a3(a).h("@").t(b).h("b0<1,2>"))}, -cs(a,b,c,d){var s -A.a3(a).h("i.E?").a(d) -A.cg(b,c,this.gj(a)) -for(s=b;s").a(d) -A.cg(b,c,this.gj(a)) -s=c-b -if(s===0)return -A.aC(e,"skipCount") -if(o.h("n").b(d)){r=e -q=d}else{q=J.nJ(d,e).aG(0,!1) -r=0}o=J.Y(q) -if(r+s>o.gj(q))throw A.b(A.p8()) -if(r=0;--p)this.l(a,b+p,o.i(q,r+p)) -else for(p=0;p").a(c) -if(t.j.b(c))this.U(a,b,b+c.length,c) -else for(s=J.ar(c);s.n();b=r){r=b+1 -this.l(a,b,s.gq(s))}}, -k(a){return A.nN(a,"[","]")}, -$il:1, -$ie:1, -$in:1} -A.D.prototype={ -B(a,b){var s,r,q,p=A.a3(a) -p.h("~(D.K,D.V)").a(b) -for(s=J.ar(this.gG(a)),p=p.h("D.V");s.n();){r=s.gq(s) -q=this.i(a,r) -b.$2(r,q==null?p.a(q):q)}}, -gav(a){return J.oU(this.gG(a),new A.jT(a),A.a3(a).h("a5"))}, -hf(a,b,c,d){var s,r,q,p,o,n=A.a3(a) -n.t(c).t(d).h("a5<1,2>(D.K,D.V)").a(b) -s=A.W(c,d) -for(r=J.ar(this.gG(a)),n=n.h("D.V");r.n();){q=r.gq(r) -p=this.i(a,q) -o=b.$2(q,p==null?n.a(p):p) -s.l(0,o.a,o.b)}return s}, -D(a,b){return J.nI(this.gG(a),b)}, -gj(a){return J.a1(this.gG(a))}, -gO(a){var s=A.a3(a) -return new A.eq(a,s.h("@").t(s.h("D.V")).h("eq<1,2>"))}, -k(a){return A.fL(a)}, -$iJ:1} -A.jT.prototype={ -$1(a){var s=this.a,r=A.a3(s) -r.h("D.K").a(a) -s=J.ad(s,a) -if(s==null)s=r.h("D.V").a(s) -return new A.a5(a,s,r.h("@").t(r.h("D.V")).h("a5<1,2>"))}, -$S(){return A.a3(this.a).h("a5(D.K)")}} -A.jU.prototype={ -$2(a,b){var s,r=this.a -if(!r.a)this.b.a+=", " -r.a=!1 -r=this.b -s=r.a+=A.t(a) -r.a=s+": " -r.a+=A.t(b)}, -$S:52} -A.d8.prototype={} -A.eq.prototype={ -gj(a){return J.a1(this.a)}, -gv(a){var s=this.a,r=J.ab(s) -s=r.i(s,J.bK(r.gG(s))) -return s==null?this.$ti.y[1].a(s):s}, -gC(a){var s=this.a,r=this.$ti -return new A.er(J.ar(J.oT(s)),s,r.h("@<1>").t(r.y[1]).h("er<1,2>"))}} -A.er.prototype={ -n(){var s=this,r=s.a -if(r.n()){s.sa8(J.ad(s.b,r.gq(r))) -return!0}s.sa8(null) -return!1}, -gq(a){var s=this.c -return s==null?this.$ti.y[1].a(s):s}, -sa8(a){this.c=this.$ti.h("2?").a(a)}, -$iL:1} -A.c1.prototype={} -A.cT.prototype={ -i(a,b){return this.a.i(0,b)}, -D(a,b){return this.a.D(0,b)}, -B(a,b){this.a.B(0,this.$ti.h("~(1,2)").a(b))}, -gj(a){return this.a.a}, -gG(a){var s=this.a -return new A.b3(s,s.$ti.h("b3<1>"))}, -k(a){return A.fL(this.a)}, -gO(a){return this.a.gO(0)}, -gav(a){var s=this.a -return s.gav(s)}, -$iJ:1} -A.ea.prototype={} -A.cY.prototype={ -ad(a,b,c){var s=this.$ti -return new A.c7(this,s.t(c).h("1(2)").a(b),s.h("@<1>").t(c).h("c7<1,2>"))}, -k(a){return A.nN(this,"{","}")}, -Z(a,b){return A.pp(this,b,this.$ti.c)}, -gv(a){var s,r=A.pL(this,this.r,this.$ti.c) -if(!r.n())throw A.b(A.bp()) -s=r.d -return s==null?r.$ti.c.a(s):s}, -u(a,b){var s,r,q,p=this -A.aC(b,"index") -s=A.pL(p,p.r,p.$ti.c) -for(r=b;s.n();){if(r===0){q=s.d -return q==null?s.$ti.c.a(q):q}--r}throw A.b(A.V(b,b-r,p,null,"index"))}, -$il:1, -$ie:1, -$inX:1} -A.ey.prototype={} -A.dn.prototype={} -A.mY.prototype={ -$0(){var s,r -try{s=new TextDecoder("utf-8",{fatal:true}) -return s}catch(r){}return null}, -$S:17} -A.mX.prototype={ -$0(){var s,r -try{s=new TextDecoder("utf-8",{fatal:false}) -return s}catch(r){}return null}, -$S:17} -A.f7.prototype={ -hm(a2,a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a0="Invalid base64 encoding length ",a1=a3.length -a5=A.cg(a4,a5,a1) -s=$.r8() -for(r=s.length,q=a4,p=q,o=null,n=-1,m=-1,l=0;q=0&&e=0){if(!(d<64))return A.c(a,d) -e=a.charCodeAt(d) -if(e===j)continue -j=e}else{if(d===-1){if(n<0){g=o==null?null:o.a.length -if(g==null)g=0 -n=g+(q-p) -m=q}++l -if(j===61)continue}j=e}if(d!==-2){if(o==null){o=new A.aj("") -g=o}else g=o -g.a+=B.b.p(a3,p,q) -g.a+=A.be(j) -p=k -continue}}throw A.b(A.ae("Invalid base64 data",a3,q))}if(o!=null){a1=o.a+=B.b.p(a3,p,a5) -r=a1.length -if(n>=0)A.oV(a3,m,a5,n,l,r) -else{c=B.c.a5(r-1,4)+1 -if(c===1)throw A.b(A.ae(a0,a3,a5)) -for(;c<4;){a1+="=" -o.a=a1;++c}}a1=o.a -return B.b.aE(a3,a4,a5,a1.charCodeAt(0)==0?a1:a1)}b=a5-a4 -if(n>=0)A.oV(a3,m,a5,n,l,b) -else{c=B.c.a5(b,4) -if(c===1)throw A.b(A.ae(a0,a3,a5)) -if(c>1)a3=B.b.aE(a3,a5,a5,c===2?"==":"=")}return a3}} -A.ju.prototype={} -A.cC.prototype={} -A.fi.prototype={} -A.ft.prototype={} -A.hz.prototype={ -aX(a,b){t.L.a(b) -return new A.eO(!1).c1(b,0,null,!0)}} -A.li.prototype={ -ar(a){var s,r,q,p,o=a.length,n=A.cg(0,null,o),m=n-0 -if(m===0)return new Uint8Array(0) -s=m*3 -r=new Uint8Array(s) -q=new A.mZ(r) -if(q.f0(a,0,n)!==n){p=n-1 -if(!(p>=0&&p>>18|240 -q=n.b=p+1 -if(!(p>>12&63|128 -p=n.b=q+1 -if(!(q>>6&63|128 -n.b=p+1 -if(!(p=0&&s=r)break -l.b=n+1 -s[n]=o}else{n=o&64512 -if(n===55296){if(l.b+4>r)break -n=p+1 -if(!(nr)break -l.cl()}else if(o<=2047){n=l.b -m=n+1 -if(m>=r)break -l.b=m -if(!(n>>6|192 -l.b=m+1 -s[m]=o&63|128}else{n=l.b -if(n+2>=r)break -m=l.b=n+1 -if(!(n>>12|224 -n=l.b=m+1 -if(!(m>>6&63|128 -l.b=n+1 -if(!(n=15){o=l.a -n=A.uz(o,q,b,s) -if(n!=null){if(!o)return n -if(n.indexOf("\ufffd")<0)return n}}n=l.c2(q,b,s,!0) -o=l.b -if((o&1)!==0){m=A.uB(o) -l.b=0 -throw A.b(A.ae(m,a,p+l.c))}return n}, -c2(a,b,c,d){var s,r,q=this -if(c-b>1000){s=B.c.H(b+c,2) -r=q.c2(a,b,s,!1) -if((q.b&1)!==0)return r -return r+q.c2(a,s,c,d)}return q.fM(a,b,c,d)}, -fM(a,b,a0,a1){var s,r,q,p,o,n,m,l,k=this,j="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE",i=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA",h=65533,g=k.b,f=k.c,e=new A.aj(""),d=b+1,c=a.length -if(!(b>=0&&b=0&&s<256))return A.c(j,s) -q=j.charCodeAt(s)&31 -f=g<=32?s&61694>>>q:(s&63|f<<6)>>>0 -p=g+q -if(!(p>=0&&p<144))return A.c(i,p) -g=i.charCodeAt(p) -if(g===0){e.a+=A.be(f) -if(d===a0)break $label0$0 -break}else if((g&1)!==0){if(r)switch(g){case 69:case 67:e.a+=A.be(h) -break -case 65:e.a+=A.be(h);--d -break -default:p=e.a+=A.be(h) -e.a=p+A.be(h) -break}else{k.b=g -k.c=d-1 -return""}g=0}if(d===a0)break $label0$0 -o=d+1 -if(!(d>=0&&d=0&&d=0&&o=128){n=m-1 -o=m -break}o=m}if(n-d<20)for(l=d;l32)if(r)e.a+=A.be(h) -else{k.b=77 -k.c=a0 -return""}k.b=g -k.c=f -c=e.a -return c.charCodeAt(0)==0?c:c}} -A.a7.prototype={ -a6(a){var s,r,q=this,p=q.c -if(p===0)return q -s=!q.a -r=q.b -p=A.aW(p,r) -return new A.a7(p===0?!1:s,r,p)}, -eV(a){var s,r,q,p,o,n,m,l,k=this,j=k.c -if(j===0)return $.bJ() -s=j-a -if(s<=0)return k.a?$.oM():$.bJ() -r=k.b -q=new Uint16Array(s) -for(p=r.length,o=a;o=0&&o=0&&r>>0!==0)return l.aN(0,$.je()) -for(k=0;k=0)return q.b7(b,r) -return b.b7(q,!r)}, -aN(a,b){var s,r,q=this,p=q.c -if(p===0)return b.a6(0) -s=b.c -if(s===0)return q -r=q.a -if(r!==b.a)return q.bR(b,r) -if(A.lz(q.b,p,b.b,s)>=0)return q.b7(b,r) -return b.b7(q,!r)}, -b6(a,b){var s,r,q,p,o,n,m,l=this.c,k=b.c -if(l===0||k===0)return $.bJ() -s=l+k -r=this.b -q=b.b -p=new Uint16Array(s) -for(o=q.length,n=0;n0?p.a6(0):p}, -ff(a){var s,r,q,p=this -if(p.c0)q=q.aL(0,$.of.V()) -return p.a&&q.c>0?q.a6(0):q}, -d5(a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this,a=b.c -if(a===$.pE&&a0.c===$.pG&&b.b===$.pD&&a0.b===$.pF)return -s=a0.b -r=a0.c -q=r-1 -if(!(q>=0&&q0){o=new Uint16Array(r+5) -n=A.pC(s,r,p,o) -m=new Uint16Array(a+5) -l=A.pC(b.b,a,p,m)}else{m=A.og(b.b,0,a,a+2) -n=r -o=s -l=a}q=n-1 -if(!(q>=0&&q=0){if(!(l>=0&&l=0&&l=0&&n0;){c=A.tZ(k,m,d);--j -A.pH(c,e,0,m,j,n) -if(!(d>=0&&d=m.length)return A.c(m,0) -return B.c.k(-m[0])}m=n.b -if(0>=m.length)return A.c(m,0) -return B.c.k(m[0])}s=A.u([],t.s) -m=n.a -r=m?n.a6(0):n -for(;r.c>1;){q=$.oL() -if(q.c===0)A.O(B.N) -p=r.ff(q).k(0) -B.a.m(s,p) -o=p.length -if(o===1)B.a.m(s,"000") -if(o===2)B.a.m(s,"00") -if(o===3)B.a.m(s,"0") -r=r.eU(q)}q=r.b -if(0>=q.length)return A.c(q,0) -B.a.m(s,B.c.k(q[0])) -if(m)B.a.m(s,"-") -return new A.e0(s,t.hF).hc(0)}, -$icA:1, -$ial:1} -A.lA.prototype={ -$2(a,b){a=a+b&536870911 -a=a+((a&524287)<<10)&536870911 -return a^a>>>6}, -$S:3} -A.lB.prototype={ -$1(a){a=a+((a&67108863)<<3)&536870911 -a^=a>>>11 -return a+((a&16383)<<15)&536870911}, -$S:11} -A.i3.prototype={ -dJ(a,b){var s=this.a -if(s!=null)s.unregister(b)}} -A.k_.prototype={ -$2(a,b){var s,r,q -t.bR.a(a) -s=this.b -r=this.a -q=s.a+=r.a -q+=a.a -s.a=q -s.a=q+": " -s.a+=A.c9(b) -r.a=", "}, -$S:38} -A.bP.prototype={ -L(a,b){if(b==null)return!1 -return b instanceof A.bP&&this.a===b.a&&this.b===b.b}, -a0(a,b){return B.c.a0(this.a,t.cs.a(b).a)}, -gA(a){var s=this.a -return(s^B.c.R(s,30))&1073741823}, -k(a){var s=this,r=A.rM(A.tl(s)),q=A.fp(A.tj(s)),p=A.fp(A.tf(s)),o=A.fp(A.tg(s)),n=A.fp(A.ti(s)),m=A.fp(A.tk(s)),l=A.rN(A.th(s)),k=r+"-"+q -if(s.b)return k+"-"+p+" "+o+":"+n+":"+m+"."+l+"Z" -else return k+"-"+p+" "+o+":"+n+":"+m+"."+l}, -$ial:1} -A.bQ.prototype={ -L(a,b){if(b==null)return!1 -return b instanceof A.bQ&&this.a===b.a}, -gA(a){return B.c.gA(this.a)}, -a0(a,b){return B.c.a0(this.a,t.jS.a(b).a)}, -k(a){var s,r,q,p,o,n=this.a,m=B.c.H(n,36e8),l=n%36e8 -if(n<0){m=0-m -n=0-l -s="-"}else{n=l -s=""}r=B.c.H(n,6e7) -n%=6e7 -q=r<10?"0":"" -p=B.c.H(n,1e6) -o=p<10?"0":"" -return s+m+":"+q+r+":"+o+p+"."+B.b.hp(B.c.k(n%1e6),6,"0")}, -$ial:1} -A.lH.prototype={ -k(a){return this.eX()}} -A.R.prototype={ -gaM(){return A.a0(this.$thrownJsError)}} -A.dv.prototype={ -k(a){var s=this.a -if(s!=null)return"Assertion failed: "+A.c9(s) -return"Assertion failed"}} -A.bw.prototype={} -A.bb.prototype={ -gc5(){return"Invalid argument"+(!this.a?"(s)":"")}, -gc4(){return""}, -k(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.t(p),n=s.gc5()+q+o -if(!s.a)return n -return n+s.gc4()+": "+A.c9(s.gcA())}, -gcA(){return this.b}} -A.cX.prototype={ -gcA(){return A.uE(this.b)}, -gc5(){return"RangeError"}, -gc4(){var s,r=this.e,q=this.f -if(r==null)s=q!=null?": Not less than or equal to "+A.t(q):"" -else if(q==null)s=": Not greater than or equal to "+A.t(r) -else if(q>r)s=": Not in inclusive range "+A.t(r)+".."+A.t(q) -else s=qe.length -else s=!1 -if(s)f=null -if(f==null){if(e.length>78)e=B.b.p(e,0,75)+"..." -return g+"\n"+e}for(r=e.length,q=1,p=0,o=!1,n=0;n1?g+(" (at line "+q+", character "+(f-p+1)+")\n"):g+(" (at character "+(f+1)+")\n") -for(n=f;n=0))return A.c(e,n) -m=e.charCodeAt(n) -if(m===10||m===13){r=n -break}}if(r-p>78)if(f-p<75){l=p+75 -k=p -j="" -i="..."}else{if(r-f<75){k=r-75 -l=r -i=""}else{k=f-36 -l=f+36 -i="..."}j="..."}else{l=r -k=p -j="" -i=""}return g+j+B.b.p(e,k,l)+i+"\n"+B.b.b6(" ",f-k+j.length)+"^\n"}else return f!=null?g+(" (at offset "+A.t(f)+")"):g}} -A.fD.prototype={ -gaM(){return null}, -k(a){return"IntegerDivisionByZeroException"}, -$iR:1} -A.e.prototype={ -bp(a,b){return A.fb(this,A.B(this).h("e.E"),b)}, -ad(a,b,c){var s=A.B(this) -return A.pg(this,s.t(c).h("1(e.E)").a(b),s.h("e.E"),c)}, -N(a,b){var s -for(s=this.gC(this);s.n();)if(J.ac(s.gq(s),b))return!0 -return!1}, -B(a,b){var s -A.B(this).h("~(e.E)").a(b) -for(s=this.gC(this);s.n();)b.$1(s.gq(s))}, -aG(a,b){return A.fJ(this,b,A.B(this).h("e.E"))}, -e4(a){return this.aG(0,!0)}, -gj(a){var s,r=this.gC(this) -for(s=0;r.n();)++s -return s}, -gY(a){return!this.gC(this).n()}, -Z(a,b){return A.pp(this,b,A.B(this).h("e.E"))}, -gv(a){var s=this.gC(this) -if(!s.n())throw A.b(A.bp()) -return s.gq(s)}, -u(a,b){var s,r -A.aC(b,"index") -s=this.gC(this) -for(r=b;s.n();){if(r===0)return s.gq(s);--r}throw A.b(A.V(b,b-r,this,null,"index"))}, -k(a){return A.rY(this,"(",")")}} -A.a5.prototype={ -k(a){return"MapEntry("+A.t(this.a)+": "+A.t(this.b)+")"}} -A.Q.prototype={ -gA(a){return A.r.prototype.gA.call(this,0)}, -k(a){return"null"}} -A.r.prototype={$ir:1, -L(a,b){return this===b}, -gA(a){return A.dY(this)}, -k(a){return"Instance of '"+A.k6(this)+"'"}, -dV(a,b){throw A.b(A.pi(this,t.bg.a(b)))}, -gF(a){return A.qI(this)}, -toString(){return this.k(this)}} -A.iM.prototype={ -k(a){return""}, -$iaG:1} -A.aj.prototype={ -gj(a){return this.a.length}, -k(a){var s=this.a -return s.charCodeAt(0)==0?s:s}, -$itL:1} -A.lf.prototype={ -$2(a,b){throw A.b(A.ae("Illegal IPv4 address, "+a,this.a,b))}, -$S:39} -A.lg.prototype={ -$2(a,b){throw A.b(A.ae("Illegal IPv6 address, "+a,this.a,b))}, -$S:43} -A.lh.prototype={ -$2(a,b){var s -if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) -s=A.nu(B.b.p(this.b,a,b),16) -if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) -return s}, -$S:3} -A.eM.prototype={ -gdu(){var s,r,q,p,o=this,n=o.w -if(n===$){s=o.a -r=s.length!==0?""+s+":":"" -q=o.c -p=q==null -if(!p||s==="file"){s=r+"//" -r=o.b -if(r.length!==0)s=s+r+"@" -if(!p)s+=q -r=o.d -if(r!=null)s=s+":"+A.t(r)}else s=r -s+=o.e -r=o.f -if(r!=null)s=s+"?"+r -r=o.r -if(r!=null)s=s+"#"+r -n!==$&&A.jc("_text") -n=o.w=s.charCodeAt(0)==0?s:s}return n}, -gcF(){var s,r,q,p=this,o=p.x -if(o===$){s=p.e -r=s.length -if(r!==0){if(0>=r)return A.c(s,0) -r=s.charCodeAt(0)===47}else r=!1 -if(r)s=B.b.a_(s,1) -q=s.length===0?B.B:A.dP(new A.ag(A.u(s.split("/"),t.s),t.ha.a(A.vs()),t.iZ),t.N) -p.x!==$&&A.jc("pathSegments") -p.seA(q) -o=q}return o}, -gA(a){var s,r=this,q=r.y -if(q===$){s=B.b.gA(r.gdu()) -r.y!==$&&A.jc("hashCode") -r.y=s -q=s}return q}, -ge6(){return this.b}, -gb_(a){var s=this.c -if(s==null)return"" -if(B.b.I(s,"["))return B.b.p(s,1,s.length-1) -return s}, -gcH(a){var s=this.d -return s==null?A.q_(this.a):s}, -ge0(a){var s=this.f -return s==null?"":s}, -gdO(){var s=this.r -return s==null?"":s}, -gdT(){if(this.a!==""){var s=this.r -s=(s==null?"":s)===""}else s=!1 -return s}, -gcu(){return this.c!=null}, -gdS(){return this.f!=null}, -gdR(){return this.r!=null}, -gdQ(){return B.b.I(this.e,"/")}, -hA(){var s,r=this,q=r.a -if(q!==""&&q!=="file")throw A.b(A.F("Cannot extract a file path from a "+q+" URI")) -q=r.f -if((q==null?"":q)!=="")throw A.b(A.F("Cannot extract a file path from a URI with a query component")) -q=r.r -if((q==null?"":q)!=="")throw A.b(A.F("Cannot extract a file path from a URI with a fragment component")) -q=$.rb() -if(q)q=A.ux(r) -else{if(r.c!=null&&r.gb_(0)!=="")A.O(A.F("Cannot extract a non-Windows file path from a file URI with an authority")) -s=r.gcF() -A.uq(s,!1) -q=A.la(B.b.I(r.e,"/")?""+"/":"",s,"/") -q=q.charCodeAt(0)==0?q:q}return q}, -k(a){return this.gdu()}, -L(a,b){var s,r,q=this -if(b==null)return!1 -if(q===b)return!0 -if(t.jJ.b(b))if(q.a===b.gbQ())if(q.c!=null===b.gcu())if(q.b===b.ge6())if(q.gb_(0)===b.gb_(b))if(q.gcH(0)===b.gcH(b))if(q.e===b.gcE(b)){s=q.f -r=s==null -if(!r===b.gdS()){if(r)s="" -if(s===b.ge0(b)){s=q.r -r=s==null -if(!r===b.gdR()){if(r)s="" -s=s===b.gdO()}else s=!1}else s=!1}else s=!1}else s=!1 -else s=!1 -else s=!1 -else s=!1 -else s=!1 -else s=!1 -else s=!1 -return s}, -seA(a){this.x=t.a.a(a)}, -$ihw:1, -gbQ(){return this.a}, -gcE(a){return this.e}} -A.le.prototype={ -ge5(){var s,r,q,p,o=this,n=null,m=o.c -if(m==null){m=o.b -if(0>=m.length)return A.c(m,0) -s=o.a -m=m[0]+1 -r=B.b.ai(s,"?",m) -q=s.length -if(r>=0){p=A.eN(s,r+1,q,B.p,!1,!1) -q=r}else p=n -m=o.c=new A.hV("data","",n,n,A.eN(s,m,q,B.z,!1,!1),p,n)}return m}, -k(a){var s,r=this.b -if(0>=r.length)return A.c(r,0) -s=this.a -return r[0]===-1?"data:"+s:s}} -A.n7.prototype={ -$2(a,b){var s=this.a -if(!(a=q)return A.c(b,0) -s=b.charCodeAt(0) -if(1>=q)return A.c(b,1) -r=b.charCodeAt(1) -for(;s<=r;++s){q=(s^96)>>>0 -if(!(q<96))return A.c(a,q) -a[q]=c}}, -$S:15} -A.iA.prototype={ -gcu(){return this.c>0}, -gh3(){return this.c>0&&this.d+10&&this.r>=this.a.length}, -gbQ(){var s=this.w -return s==null?this.w=this.eO():s}, -eO(){var s,r=this,q=r.b -if(q<=0)return"" -s=q===4 -if(s&&B.b.I(r.a,"http"))return"http" -if(q===5&&B.b.I(r.a,"https"))return"https" -if(s&&B.b.I(r.a,"file"))return"file" -if(q===7&&B.b.I(r.a,"package"))return"package" -return B.b.p(r.a,0,q)}, -ge6(){var s=this.c,r=this.b+3 -return s>r?B.b.p(this.a,r,s-1):""}, -gb_(a){var s=this.c -return s>0?B.b.p(this.a,s,this.d):""}, -gcH(a){var s,r=this -if(r.gh3())return A.nu(B.b.p(r.a,r.d+1,r.e),null) -s=r.b -if(s===4&&B.b.I(r.a,"http"))return 80 -if(s===5&&B.b.I(r.a,"https"))return 443 -return 0}, -gcE(a){return B.b.p(this.a,this.e,this.f)}, -ge0(a){var s=this.f,r=this.r -return s=0&&q>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.q.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){A.U(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.V.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.G.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.ib.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.G.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.d8.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.ls.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.cA.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.gJ.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.dR.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.ki.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.d5.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -return a[b]}, -l(a,b,c){t.ef.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){if(a.length>0)return a[0] -throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.G.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.hI.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b>>0!==b||b>=s -r.toString -if(r)throw A.b(A.V(b,s,a,null,null)) -s=a[b] -s.toString -return s}, -l(a,b,c){t.lv.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s -if(a.length>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){if(!(b>=0&&b"))}, -M(a,b,c,d,e){A.a3(a).h("e").a(d) -throw A.b(A.F("Cannot setRange on immutable List."))}, -U(a,b,c,d){return this.M(a,b,c,d,0)}} -A.dG.prototype={ -n(){var s=this,r=s.c+1,q=s.b -if(r=4)A.O(p.bU()) -if((r&1)!==0)p.bl(q) -else if((r&3)===0)p.c3().m(0,new A.cq(q,s.h("cq<1>")))}}, -$S:2} -A.bs.prototype={$ibs:1} -A.e9.prototype={$ie9:1} -A.by.prototype={$iby:1} -A.nB.prototype={ -$1(a){return this.a.W(0,this.b.h("0/?").a(a))}, -$S:5} -A.nC.prototype={ -$1(a){if(a==null)return this.a.ac(new A.k0(a===undefined)) -return this.a.ac(a)}, -$S:5} -A.k0.prototype={ -k(a){return"Promise was rejected with a value of `"+(this.a?"undefined":"null")+"`."}} -A.ia.prototype={ -ex(){var s=self.crypto -if(s!=null)if(s.getRandomValues!=null)return -throw A.b(A.F("No source of cryptographically secure random numbers available."))}, -dU(a){var s,r,q,p,o,n,m,l,k,j=null -if(a<=0||a>4294967296)throw A.b(new A.cX(j,j,!1,j,j,"max must be in range 0 < max \u2264 2^32, was "+a)) -if(a>255)if(a>65535)s=a>16777215?4:3 -else s=2 -else s=1 -r=this.a -B.G.fq(r,0,0,!1) -q=4-s -p=A.h(Math.pow(256,s)) -for(o=a-1,n=(a&o)===0;!0;){m=r.buffer -m=new Uint8Array(m,q,s) -crypto.getRandomValues(m) -l=B.G.f1(r,0,!1) -if(n)return(l&o)>>>0 -k=l%a -if(l-k+a>>0!==b||b>=s -s.toString -if(s)throw A.b(A.V(b,this.gj(a),a,null,null)) -s=a.getItem(b) -s.toString -return s}, -l(a,b,c){t.kT.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s=a.length -s.toString -if(s>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){return this.i(a,b)}, -$il:1, -$ie:1, -$in:1} -A.aN.prototype={$iaN:1} -A.fZ.prototype={ -gj(a){var s=a.length -s.toString -return s}, -i(a,b){var s=a.length -s.toString -s=b>>>0!==b||b>=s -s.toString -if(s)throw A.b(A.V(b,this.gj(a),a,null,null)) -s=a.getItem(b) -s.toString -return s}, -l(a,b,c){t.ai.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s=a.length -s.toString -if(s>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){return this.i(a,b)}, -$il:1, -$ie:1, -$in:1} -A.h3.prototype={ -gj(a){return a.length}} -A.hj.prototype={ -gj(a){var s=a.length -s.toString -return s}, -i(a,b){var s=a.length -s.toString -s=b>>>0!==b||b>=s -s.toString -if(s)throw A.b(A.V(b,this.gj(a),a,null,null)) -s=a.getItem(b) -s.toString -return s}, -l(a,b,c){A.U(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s=a.length -s.toString -if(s>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){return this.i(a,b)}, -$il:1, -$ie:1, -$in:1} -A.aQ.prototype={$iaQ:1} -A.hq.prototype={ -gj(a){var s=a.length -s.toString -return s}, -i(a,b){var s=a.length -s.toString -s=b>>>0!==b||b>=s -s.toString -if(s)throw A.b(A.V(b,this.gj(a),a,null,null)) -s=a.getItem(b) -s.toString -return s}, -l(a,b,c){t.hk.a(c) -throw A.b(A.F("Cannot assign element of immutable List."))}, -gv(a){var s=a.length -s.toString -if(s>0){s=a[0] -s.toString -return s}throw A.b(A.K("No elements"))}, -u(a,b){return this.i(a,b)}, -$il:1, -$ie:1, -$in:1} -A.ib.prototype={} -A.ic.prototype={} -A.im.prototype={} -A.io.prototype={} -A.iK.prototype={} -A.iL.prototype={} -A.iT.prototype={} -A.iU.prototype={} -A.f4.prototype={ -gj(a){return a.length}} -A.f5.prototype={ -D(a,b){return A.aY(a.get(b))!=null}, -i(a,b){return A.aY(a.get(A.U(b)))}, -B(a,b){var s,r,q -t.u.a(b) -s=a.entries() -for(;!0;){r=s.next() -q=r.done -q.toString -if(q)return -q=r.value[0] -q.toString -b.$2(q,A.aY(r.value[1]))}}, -gG(a){var s=A.u([],t.s) -this.B(a,new A.js(s)) -return s}, -gO(a){var s=A.u([],t.C) -this.B(a,new A.jt(s)) -return s}, -gj(a){var s=a.size -s.toString -return s}, -$iJ:1} -A.js.prototype={ -$2(a,b){return B.a.m(this.a,a)}, -$S:1} -A.jt.prototype={ -$2(a,b){return B.a.m(this.a,t.f.a(b))}, -$S:1} -A.f6.prototype={ -gj(a){return a.length}} -A.bL.prototype={} -A.h_.prototype={ -gj(a){return a.length}} -A.hQ.prototype={} -A.fY.prototype={} -A.hu.prototype={} -A.fh.prototype={ -hd(a){var s,r,q,p,o,n,m,l,k,j -t.bq.a(a) -for(s=a.$ti,r=s.h("bg(e.E)").a(new A.jy()),q=a.gC(0),s=new A.cl(q,r,s.h("cl")),r=this.a,p=!1,o=!1,n="";s.n();){m=q.gq(0) -if(r.aB(m)&&o){l=A.pj(m,r) -k=n.charCodeAt(0)==0?n:n -n=B.b.p(k,0,r.aF(k,!0)) -l.b=n -if(r.b0(n))B.a.l(l.e,0,r.gaJ()) -n=""+l.k(0)}else if(r.ae(m)>0){o=!r.aB(m) -n=""+m}else{j=m.length -if(j!==0){if(0>=j)return A.c(m,0) -j=r.cp(m[0])}else j=!1 -if(!j)if(p)n+=r.gaJ() -n+=m}p=r.b0(m)}return n.charCodeAt(0)==0?n:n}, -dW(a,b){var s -if(!this.f8(b))return b -s=A.pj(b,this.a) -s.hl(0) -return s.k(0)}, -f8(a){var s,r,q,p,o,n,m,l,k=this.a,j=k.ae(a) -if(j!==0){if(k===$.jd())for(s=a.length,r=0;r=0))return A.c(s,r) -m=s.charCodeAt(r) -if(k.a3(m)){if(k===$.jd()&&m===47)return!0 -if(p!=null&&k.a3(p))return!0 -if(p===46)l=n==null||n===46||k.a3(n) -else l=!1 -if(l)return!0}}if(p==null)return!0 -if(k.a3(p))return!0 -if(p===46)k=n==null||k.a3(n)||n===46 -else k=!1 -if(k)return!0 -return!1}} -A.jy.prototype={ -$1(a){return A.U(a)!==""}, -$S:30} -A.nh.prototype={ -$1(a){A.oq(a) -return a==null?"null":'"'+a+'"'}, -$S:31} -A.cN.prototype={ -eg(a){var s,r=this.ae(a) -if(r>0)return B.b.p(a,0,r) -if(this.aB(a)){if(0>=a.length)return A.c(a,0) -s=a[0]}else s=null -return s}} -A.k3.prototype={ -hw(){var s,r,q=this -while(!0){s=q.d -if(!(s.length!==0&&J.ac(B.a.ga4(s),"")))break -s=q.d -if(0>=s.length)return A.c(s,-1) -s.pop() -s=q.e -if(0>=s.length)return A.c(s,-1) -s.pop()}s=q.e -r=s.length -if(r!==0)B.a.l(s,r-1,"")}, -hl(a){var s,r,q,p,o,n,m=this,l=A.u([],t.s) -for(s=m.d,r=s.length,q=0,p=0;p=n)return A.c(l,-1) -l.pop()}else ++q}else B.a.m(l,o)}if(m.b==null)B.a.h4(l,0,A.dO(q,"..",!1,t.N)) -if(l.length===0&&m.b==null)B.a.m(l,".") -m.shq(l) -s=m.a -m.seh(A.dO(l.length+1,s.gaJ(),!0,t.N)) -r=m.b -if(r==null||l.length===0||!s.b0(r))B.a.l(m.e,0,"") -r=m.b -if(r!=null&&s===$.jd()){r.toString -m.b=A.vP(r,"/","\\")}m.hw()}, -k(a){var s,r,q,p=this,o=p.b -o=o!=null?""+o:"" -for(s=0;r=p.d,s=0))return A.c(a,s) -s=a.charCodeAt(s)!==47 -r=s}else r=!1 -return r}, -aF(a,b){var s=a.length -if(s!==0){if(0>=s)return A.c(a,0) -s=a.charCodeAt(0)===47}else s=!1 -if(s)return 1 -return 0}, -ae(a){return this.aF(a,!1)}, -aB(a){return!1}, -gaC(){return"posix"}, -gaJ(){return"/"}} -A.hy.prototype={ -cp(a){return B.b.N(a,"/")}, -a3(a){return a===47}, -b0(a){var s,r=a.length -if(r===0)return!1 -s=r-1 -if(!(s>=0))return A.c(a,s) -if(a.charCodeAt(s)!==47)return!0 -return B.b.dK(a,"://")&&this.ae(a)===r}, -aF(a,b){var s,r,q,p=a.length -if(p===0)return 0 -if(0>=p)return A.c(a,0) -if(a.charCodeAt(0)===47)return 1 -for(s=0;s=s)return A.c(a,0) -s=a.charCodeAt(0)===47}else s=!1 -return s}, -gaC(){return"url"}, -gaJ(){return"/"}} -A.hJ.prototype={ -cp(a){return B.b.N(a,"/")}, -a3(a){return a===47||a===92}, -b0(a){var s,r=a.length -if(r===0)return!1 -s=r-1 -if(!(s>=0))return A.c(a,s) -s=a.charCodeAt(s) -return!(s===47||s===92)}, -aF(a,b){var s,r,q=a.length -if(q===0)return 0 -if(0>=q)return A.c(a,0) -if(a.charCodeAt(0)===47)return 1 -if(a.charCodeAt(0)===92){if(q>=2){if(1>=q)return A.c(a,1) -s=a.charCodeAt(1)!==92}else s=!0 -if(s)return 1 -r=B.b.ai(a,"\\",2) -if(r>0){r=B.b.ai(a,"\\",r+1) -if(r>0)return r}return q}if(q<3)return 0 -if(!A.qL(a.charCodeAt(0)))return 0 -if(a.charCodeAt(1)!==58)return 0 -q=a.charCodeAt(2) -if(!(q===47||q===92))return 0 -return 3}, -ae(a){return this.aF(a,!1)}, -aB(a){return this.ae(a)===1}, -gaC(){return"windows"}, -gaJ(){return"\\"}} -A.nk.prototype={ -$1(a){return A.vj(a)}, -$S:32} -A.fn.prototype={ -k(a){return"DatabaseException("+this.a+")"}} -A.hd.prototype={ -k(a){return this.em(0)}, -bO(){var s=this.b -if(s==null){s=new A.kj(this).$0() -this.sfj(s)}return s}, -sfj(a){this.b=A.dq(a)}} -A.kj.prototype={ -$0(){var s=new A.kk(this.a.a.toLowerCase()),r=s.$1("(sqlite code ") -if(r!=null)return r -r=s.$1("(code ") -if(r!=null)return r -r=s.$1("code=") -if(r!=null)return r -return null}, -$S:33} -A.kk.prototype={ -$1(a){var s,r,q,p,o,n=this.a,m=B.b.cv(n,a) -if(!J.ac(m,-1))try{p=m -if(typeof p!=="number")return p.b5() -p=B.b.hB(B.b.a_(n,p+a.length)).split(" ") -if(0>=p.length)return A.c(p,0) -s=p[0] -r=J.rw(s,")") -if(!J.ac(r,-1))s=J.rB(s,0,r) -q=A.nU(s,null) -if(q!=null)return q}catch(o){}return null}, -$S:34} -A.jD.prototype={} -A.fv.prototype={ -k(a){return A.qI(this).k(0)+"("+this.a+", "+A.t(this.b)+")"}} -A.cG.prototype={} -A.bu.prototype={ -k(a){var s=this,r=t.N,q=t.X,p=A.W(r,q),o=s.y -if(o!=null){r=A.nR(o,r,q) -q=A.B(r) -q=q.h("@").t(q.h("D.V")) -o=q.h("r?") -o.a(r.K(0,"arguments")) -o.a(r.K(0,"sql")) -if(r.ghb(0))p.l(0,"details",new A.dy(r,q.h("dy<1,2,j,r?>")))}r=s.bO()==null?"":": "+A.t(s.bO())+", " -r=""+("SqfliteFfiException("+s.x+r+", "+s.a+"})") -q=s.r -if(q!=null){r+=" sql "+q -q=s.w -q=q==null?null:!q.gY(q) -if(q===!0){q=s.w -q.toString -q=r+(" args "+A.qE(q)) -r=q}}else r+=" "+s.eq(0) -if(p.a!==0)r+=" "+p.k(0) -return r.charCodeAt(0)==0?r:r}, -sfO(a,b){this.y=t.h9.a(b)}} -A.ky.prototype={} -A.kz.prototype={} -A.e3.prototype={ -k(a){var s=this.a,r=this.b,q=this.c,p=q==null?null:!q.gY(q) -if(p===!0){q.toString -q=" "+A.qE(q)}else q="" -return A.t(s)+" "+(A.t(r)+q)}, -sek(a){this.c=t.kR.a(a)}} -A.iE.prototype={} -A.is.prototype={ -E(){var s=0,r=A.y(t.H),q=1,p,o=this,n,m,l,k -var $async$E=A.z(function(a,b){if(a===1){p=b -s=q}while(true)switch(s){case 0:q=3 -s=6 -return A.o(o.a.$0(),$async$E) -case 6:n=b -o.b.W(0,n) -q=1 -s=5 -break -case 3:q=2 -k=p -m=A.T(k) -o.b.ac(m) -s=5 -break -case 2:s=1 -break -case 5:return A.w(null,r) -case 1:return A.v(p,r)}}) -return A.x($async$E,r)}} -A.aP.prototype={ -e3(){var s=this -return A.az(["path",s.r,"id",s.e,"readOnly",s.w,"singleInstance",s.f],t.N,t.X)}, -d8(){var s,r=this -if(r.da()===0)return null -s=r.x.b -s=s.a.x2.$1(s.b) -s=self.Number(s==null?t.K.a(s):s) -if(r.y>=1)A.aZ("[sqflite-"+r.e+"] Inserted "+A.t(s)) -return s}, -k(a){return A.fL(this.e3())}, -ab(a){var s=this -s.ba() -s.ak("Closing database "+s.k(0)) -s.x.X()}, -c6(a){var s=a==null?null:new A.b0(a.a,a.$ti.h("b0<1,r?>")) -return s==null?B.C:s}, -fY(a,b){return this.d.a2(new A.kt(this,a,b),t.H)}, -a9(a,b){return this.f4(a,b)}, -f4(a,b){var s=0,r=A.y(t.H),q,p=[],o=this,n,m,l,k -var $async$a9=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:o.cD(a,b) -if(B.b.I(a,"PRAGMA sqflite -- ")){if(a==="PRAGMA sqflite -- db_config_defensive_off"){m=o.x -l=m.b -k=l.a.el(l.b,1010,0) -if(k!==0)A.eX(m,k,null,null,null)}}else{m=b==null?null:!b.gY(b) -l=o.x -if(m===!0){n=l.cI(a) -try{n.dL(new A.cd(o.c6(b))) -s=1 -break}finally{n.X()}}else l.fQ(a)}case 1:return A.w(q,r)}}) -return A.x($async$a9,r)}, -ak(a){if(a!=null&&this.y>=1)A.aZ("[sqflite-"+this.e+"] "+A.t(a))}, -cD(a,b){var s -if(this.y>=1){s=b==null?null:!b.gY(b) -s=s===!0?" "+A.t(b):"" -A.aZ("[sqflite-"+this.e+"] "+a+s) -this.ak(null)}}, -bk(){var s=0,r=A.y(t.H),q=this -var $async$bk=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:s=q.c.length!==0?2:3 -break -case 2:s=4 -return A.o(q.as.a2(new A.kr(q),t.P),$async$bk) -case 4:case 3:return A.w(null,r)}}) -return A.x($async$bk,r)}, -ba(){var s=0,r=A.y(t.H),q=this -var $async$ba=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:s=q.c.length!==0?2:3 -break -case 2:s=4 -return A.o(q.as.a2(new A.km(q),t.P),$async$ba) -case 4:case 3:return A.w(null,r)}}) -return A.x($async$ba,r)}, -aZ(a,b){return this.h1(a,t.gq.a(b))}, -h1(a,b){var s=0,r=A.y(t.z),q,p=2,o,n=[],m=this,l,k,j,i,h,g,f -var $async$aZ=A.z(function(c,d){if(c===1){o=d -s=p}while(true)switch(s){case 0:g=m.b -s=g==null?3:5 -break -case 3:s=6 -return A.o(b.$0(),$async$aZ) -case 6:q=d -s=1 -break -s=4 -break -case 5:s=a===g||a===-1?7:9 -break -case 7:p=11 -s=14 -return A.o(b.$0(),$async$aZ) -case 14:g=d -q=g -n=[1] -s=12 -break -n.push(13) -s=12 -break -case 11:p=10 -f=o -g=A.T(f) -if(g instanceof A.d1){l=g -k=!1 -try{if(m.b!=null){g=m.x.b -i=A.h(g.a.dN.$1(g.b))!==0}else i=!1 -k=i}catch(e){}if(A.bG(k)){m.b=null -g=A.qm(l) -g.d=!0 -throw A.b(g)}else throw f}else throw f -n.push(13) -s=12 -break -case 10:n=[2] -case 12:p=2 -if(m.b==null)m.bk() -s=n.pop() -break -case 13:s=8 -break -case 9:g=new A.C($.E,t.D) -B.a.m(m.c,new A.is(b,new A.cn(g,t.ou))) -q=g -s=1 -break -case 8:case 4:case 1:return A.w(q,r) -case 2:return A.v(o,r)}}) -return A.x($async$aZ,r)}, -fZ(a,b){return this.d.a2(new A.ku(this,a,b),t.I)}, -bd(a,b){var s=0,r=A.y(t.I),q,p=this,o -var $async$bd=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:if(p.w)A.O(A.he("sqlite_error",null,"Database readonly",null)) -s=3 -return A.o(p.a9(a,b),$async$bd) -case 3:o=p.d8() -if(p.y>=1)A.aZ("[sqflite-"+p.e+"] Inserted id "+A.t(o)) -q=o -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$bd,r)}, -h2(a,b){return this.d.a2(new A.kx(this,a,b),t.S)}, -bf(a,b){var s=0,r=A.y(t.S),q,p=this -var $async$bf=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:if(p.w)A.O(A.he("sqlite_error",null,"Database readonly",null)) -s=3 -return A.o(p.a9(a,b),$async$bf) -case 3:q=p.da() -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$bf,r)}, -h_(a,b,c){return this.d.a2(new A.kw(this,a,c,b),t.z)}, -be(a,b){return this.f5(a,b)}, -f5(a,b){var s=0,r=A.y(t.z),q,p=[],o=this,n,m,l,k -var $async$be=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:k=o.x.cI(a) -try{o.cD(a,b) -m=k -l=o.c6(b) -if(m.c.e)A.O(A.K(u.f)) -m.aq() -m.bV(new A.cd(l)) -n=m.fn() -o.ak("Found "+n.d.length+" rows") -m=n -m=A.az(["columns",m.a,"rows",m.d],t.N,t.X) -q=m -s=1 -break}finally{k.X()}case 1:return A.w(q,r)}}) -return A.x($async$be,r)}, -dm(a){var s,r,q,p,o,n,m,l,k=a.a,j=k -try{s=a.d -r=s.a -q=A.u([],t.dO) -for(n=a.c;!0;){if(s.n()){m=s.x -m===$&&A.bj("current") -p=m -J.rm(q,p.b)}else{a.e=!0 -break}if(J.a1(q)>=n)break}o=A.az(["columns",r,"rows",q],t.N,t.X) -if(!a.e)J.nH(o,"cursorId",k) -return o}catch(l){this.bZ(j) -throw l}finally{if(a.e)this.bZ(j)}}, -c9(a,b,c){var s=0,r=A.y(t.X),q,p=this,o,n,m,l,k -var $async$c9=A.z(function(d,e){if(d===1)return A.v(e,r) -while(true)switch(s){case 0:k=p.x.cI(b) -p.cD(b,c) -o=p.c6(c) -n=k.c -if(n.e)A.O(A.K(u.f)) -k.aq() -k.bV(new A.cd(o)) -o=k.gc0() -k.gds() -m=new A.hL(k,o,B.E) -m.bW() -n.c=!1 -k.f=m -n=++p.Q -l=new A.iE(n,k,a,m) -p.z.l(0,n,l) -q=p.dm(l) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$c9,r)}, -h0(a,b){return this.d.a2(new A.kv(this,b,a),t.z)}, -ca(a,b){var s=0,r=A.y(t.X),q,p=this,o,n -var $async$ca=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:if(p.y>=2){o=a===!0?" (cancel)":"" -p.ak("queryCursorNext "+b+o)}n=p.z.i(0,b) -if(a===!0){p.bZ(b) -q=null -s=1 -break}if(n==null)throw A.b(A.K("Cursor "+b+" not found")) -q=p.dm(n) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$ca,r)}, -bZ(a){var s=this.z.K(0,a) -if(s!=null){if(this.y>=2)this.ak("Closing cursor "+a) -s.b.X()}}, -da(){var s=this.x.b,r=A.h(s.a.x1.$1(s.b)) -if(this.y>=1)A.aZ("[sqflite-"+this.e+"] Modified "+r+" rows") -return r}, -fW(a,b,c){return this.d.a2(new A.ks(this,t.fr.a(c),b,a),t.z)}, -af(a,b,c){return this.f3(a,b,t.fr.a(c))}, -f3(b3,b4,b5){var s=0,r=A.y(t.z),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2 -var $async$af=A.z(function(b6,b7){if(b6===1){o=b7 -s=p}while(true)switch(s){case 0:a8={} -a8.a=null -d=!b4 -if(d)a8.a=A.u([],t.ke) -c=b5.length,b=n.y>=1,a=n.x.b,a0=a.b,a=a.a.x1,a1="[sqflite-"+n.e+"] Modified ",a2=0 -case 3:if(!(a20)A.O(A.p3("BigInt value exceeds the range of 64 bits")) -A.h(s.c.p4.$3(s.b,b,self.BigInt(a.k(0)))) -s=n -break $label0$0}if(A.c2(a)){s=o.a -r=a?1:0 -s.c.cS(s.b,b,r) -s=n -break $label0$0}if(typeof a=="number"){s=o.a -A.h(s.c.R8.$3(s.b,b,a)) -s=n -break $label0$0}if(typeof a=="string"){s=o.a -q=B.i.ar(a) -r=s.c -p=r.cn(q) -B.a.m(s.d,p) -A.h(r.RG.$5(s.b,b,p,q.length,0)) -s=n -break $label0$0}s=t.L -if(s.b(a)){r=o.a -s.a(a) -s=r.c -p=s.cn(a) -B.a.m(r.d,p) -A.h(s.rx.$5(r.b,b,p,self.BigInt(J.a1(a)),0)) -s=n -break $label0$0}s=A.O(A.bm(a,"params["+b+"]","Allowed parameters must either be null or bool, int, num, String or List."))}return s}, -bV(a){$label0$0:{this.eH(a.a) -break $label0$0}}, -X(){var s,r=this.c -if(!r.e){$.jf().dJ(0,this) -r.X() -s=this.b -if(!s.e)B.a.K(s.c.d,r)}}, -dL(a){var s=this -if(s.c.e)A.O(A.K(u.f)) -s.aq() -s.bV(a) -s.eZ()}} -A.hL.prototype={ -gq(a){var s=this.x -s===$&&A.bj("current") -return s}, -n(){var s,r,q,p,o=this,n=o.r -if(n.c.e||n.f!==o)return!1 -s=n.a -r=s.c -s=s.b -q=A.h(r.k1.$1(s)) -if(q===100){if(!o.y){o.w=A.h(r.fy.$1(s)) -o.sfk(t.a.a(n.gc0())) -o.bW() -o.y=!0}s=[] -for(p=0;p=0&&b>>0!==b||b>=s.length)return A.c(s,b) -return s[b]}return null}r=this.a.c.i(0,b) -if(r==null)return null -s=this.b -if(r>>>0!==r||r>=s.length)return A.c(s,r) -return s[r]}, -gG(a){return this.a.a}, -gO(a){return this.b}, -$iJ:1} -A.it.prototype={ -gq(a){var s=this.a,r=s.d,q=this.b -if(!(q>=0&&q")),p=t.W,o=t.Z,n=t.K,q=q.h("i.E"),m=this.b,l=this.a;r.n();){k=r.d -if(k==null)k=q.a(k) -j=n.a(s.gdM(a)[k]) -if(o.b(j))l.l(0,k,j) -else if(p.b(j))m.l(0,k,j)}}} -A.lm.prototype={ -$2(a,b){var s -A.U(a) -t.lK.a(b) -s={} -this.a[a]=s -J.bk(b,new A.ll(s))}, -$S:56} -A.ll.prototype={ -$2(a,b){this.a[A.U(a)]=t.K.a(b)}, -$S:57} -A.jV.prototype={} -A.cJ.prototype={} -A.hG.prototype={} -A.lr.prototype={} -A.jk.prototype={ -bz(a){var s=0,r=A.y(t.H),q=this,p,o,n -var $async$bz=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:p=new A.C($.E,t.go) -o=new A.a9(p,t.my) -n=t.kq.a(self.self.indexedDB) -n.toString -o.W(0,J.rz(n,q.b,new A.jo(o),new A.jp(),1)) -s=2 -return A.o(p,$async$bz) -case 2:q.seT(c) -return A.w(null,r)}}) -return A.x($async$bz,r)}, -by(){var s=0,r=A.y(t.dV),q,p=this,o,n,m,l,k -var $async$by=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:l=p.a -l.toString -o=A.W(t.N,t.S) -n=new A.dc(t.B.a(B.f.cO(l,"files","readonly").objectStore("files").index("fileName").openKeyCursor()),t.oz) -case 3:k=A -s=5 -return A.o(n.n(),$async$by) -case 5:if(!k.bG(b)){s=4 -break}m=n.a -if(m==null)m=A.O(A.K("Await moveNext() first")) -o.l(0,A.U(m.key),A.h(m.primaryKey)) -s=3 -break -case 4:q=o -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$by,r)}, -bu(a){var s=0,r=A.y(t.I),q,p=this,o,n -var $async$bu=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:o=p.a -o.toString -o=B.f.cO(o,"files","readonly").objectStore("files").index("fileName") -o.toString -n=A -s=3 -return A.o(B.W.ef(o,a),$async$bu) -case 3:q=n.dq(c) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$bu,r)}, -cg(a,b){return A.nV(t.B.a(a.objectStore("files").get(b)),!1,t.jV).e2(new A.jl(b),t.bc)}, -aD(a){var s=0,r=A.y(t.p),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d -var $async$aD=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:e=p.a -e.toString -o=B.f.bG(e,B.o,"readonly") -e=o.objectStore("blocks") -e.toString -s=3 -return A.o(p.cg(o,a),$async$aD) -case 3:n=c -m=J.Y(n) -l=m.gj(n) -k=new Uint8Array(l) -j=A.u([],t.iw) -l=t.t -i=new A.dc(t.B.a(e.openCursor(self.IDBKeyRange.bound(A.u([a,0],l),A.u([a,9007199254740992],l)))),t.c6) -e=t.j,l=t.H -case 4:d=A -s=6 -return A.o(i.n(),$async$aD) -case 6:if(!d.bG(c)){s=5 -break}h=i.a -if(h==null)h=A.O(A.K("Await moveNext() first")) -g=A.h(J.ad(e.a(h.key),1)) -f=m.gj(n) -if(typeof f!=="number"){q=f.aN() -s=1 -break}B.a.m(j,A.p4(new A.jq(h,k,g,Math.min(4096,f-g)),l)) -s=4 -break -case 5:s=7 -return A.o(A.nM(j,l),$async$aD) -case 7:q=k -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$aD,r)}, -ah(a,b){var s=0,r=A.y(t.H),q=this,p,o,n,m,l,k,j -var $async$ah=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:k=q.a -k.toString -p=B.f.bG(k,B.o,"readwrite") -k=p.objectStore("blocks") -k.toString -s=2 -return A.o(q.cg(p,a),$async$ah) -case 2:o=d -n=b.b -m=A.B(n).h("b3<1>") -l=A.fJ(new A.b3(n,m),!0,m.h("e.E")) -B.a.ei(l) -m=A.aa(l) -s=3 -return A.o(A.nM(new A.ag(l,m.h("I<~>(1)").a(new A.jm(new A.jn(k,a),b)),m.h("ag<1,I<~>>")),t.H),$async$ah) -case 3:k=J.Y(o) -s=b.c!==k.gj(o)?4:5 -break -case 4:n=p.objectStore("files") -n.toString -j=B.r -s=7 -return A.o(B.h.dY(n,a).gv(0),$async$ah) -case 7:s=6 -return A.o(j.cP(d,{name:k.gaC(o),length:b.c}),$async$ah) -case 6:case 5:return A.w(null,r)}}) -return A.x($async$ah,r)}, -al(a,b,c){var s=0,r=A.y(t.H),q=this,p,o,n,m,l,k,j -var $async$al=A.z(function(d,e){if(d===1)return A.v(e,r) -while(true)switch(s){case 0:k=q.a -k.toString -p=B.f.bG(k,B.o,"readwrite") -k=p.objectStore("files") -k.toString -o=p.objectStore("blocks") -o.toString -s=2 -return A.o(q.cg(p,b),$async$al) -case 2:n=e -m=J.Y(n) -s=m.gj(n)>c?3:4 -break -case 3:l=t.t -s=5 -return A.o(B.h.cr(o,self.IDBKeyRange.bound(A.u([b,B.c.H(c,4096)*4096+1],l),A.u([b,9007199254740992],l))),$async$al) -case 5:case 4:j=B.r -s=7 -return A.o(B.h.dY(k,b).gv(0),$async$al) -case 7:s=6 -return A.o(j.cP(e,{name:m.gaC(n),length:c}),$async$al) -case 6:return A.w(null,r)}}) -return A.x($async$al,r)}, -bt(a){var s=0,r=A.y(t.H),q=this,p,o,n,m -var $async$bt=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:m=q.a -m.toString -p=B.f.bG(m,B.o,"readwrite") -m=t.t -o=self.IDBKeyRange.bound(A.u([a,0],m),A.u([a,9007199254740992],m)) -m=p.objectStore("blocks") -m.toString -m=B.h.cr(m,o) -n=p.objectStore("files") -n.toString -s=2 -return A.o(A.nM(A.u([m,B.h.cr(n,a)],t.iw),t.H),$async$bt) -case 2:return A.w(null,r)}}) -return A.x($async$bt,r)}, -seT(a){this.a=t.k5.a(a)}} -A.jp.prototype={ -$1(a){var s,r,q,p -t.bo.a(a) -s=t.E.a(new A.bZ([],[]).au(a.target.result,!1)) -r=a.oldVersion -if(r==null||r===0){q=B.f.dH(s,"files",!0) -r=t.z -p=A.W(r,r) -p.l(0,"unique",!0) -B.h.eQ(q,"fileName","name",p) -B.f.fK(s,"blocks")}}, -$S:58} -A.jo.prototype={ -$1(a){return this.a.ac("Opening database blocked: "+A.t(a))}, -$S:2} -A.jl.prototype={ -$1(a){t.jV.a(a) -if(a==null)throw A.b(A.bm(this.a,"fileId","File not found in database")) -else return a}, -$S:59} -A.jq.prototype={ -$0(){var s=0,r=A.y(t.H),q=this,p,o,n,m -var $async$$0=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:p=B.e -o=q.b -n=q.c -m=A -s=2 -return A.o(A.ka(t.w.a(new A.bZ([],[]).au(q.a.value,!1))),$async$$0) -case 2:p.a7(o,n,m.b5(b.buffer,0,q.d)) -return A.w(null,r)}}) -return A.x($async$$0,r)}, -$S:4} -A.jn.prototype={ -$2(a,b){var s=0,r=A.y(t.H),q=this,p,o,n,m,l -var $async$$2=A.z(function(c,d){if(c===1)return A.v(d,r) -while(true)switch(s){case 0:p=q.a -o=q.b -n=t.t -s=2 -return A.o(A.nV(t.B.a(p.openCursor(self.IDBKeyRange.only(A.u([o,a],n)))),!0,t.g9),$async$$2) -case 2:m=d -l=A.rE(A.u([b],t.bs)) -s=m==null?3:5 -break -case 3:s=6 -return A.o(B.h.hs(p,l,A.u([o,a],n)),$async$$2) -case 6:s=4 -break -case 5:s=7 -return A.o(B.r.cP(m,l),$async$$2) -case 7:case 4:return A.w(null,r)}}) -return A.x($async$$2,r)}, -$S:60} -A.jm.prototype={ -$1(a){var s -A.h(a) -s=this.b.b.i(0,a) -s.toString -return this.a.$2(a,s)}, -$S:61} -A.b8.prototype={} -A.lM.prototype={ -fw(a,b,c){B.e.a7(this.b.ht(0,a,new A.lN(this,a)),b,c)}, -fD(a,b){var s,r,q,p,o,n,m,l,k -for(s=b.length,r=0;rp)B.e.a7(s,0,A.b5(r.buffer,r.byteOffset+p,A.dq(Math.min(4096,q-p)))) -return s}, -$S:62} -A.ip.prototype={} -A.cc.prototype={ -aV(a){var s=this.d.a -if(s==null)A.O(A.hA(10)) -if(a.cz(this.w)){this.dr() -return a.d.a}else return A.p5(null,t.H)}, -dr(){var s,r,q=this -if(q.f==null&&!q.w.gY(0)){s=q.w -r=q.f=s.gv(0) -s.K(0,r) -r.d.W(0,A.rT(r.gbE(),t.H).aH(new A.jK(q)))}}, -ao(a){var s=0,r=A.y(t.S),q,p=this,o,n -var $async$ao=A.z(function(b,c){if(b===1)return A.v(c,r) -while(true)switch(s){case 0:n=p.y -s=n.D(0,a)?3:5 -break -case 3:n=n.i(0,a) -n.toString -q=n -s=1 -break -s=4 -break -case 5:s=6 -return A.o(p.d.bu(a),$async$ao) -case 6:o=c -o.toString -n.l(0,a,o) -q=o -s=1 -break -case 4:case 1:return A.w(q,r)}}) -return A.x($async$ao,r)}, -aU(){var s=0,r=A.y(t.H),q=this,p,o,n,m,l,k,j -var $async$aU=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:m=q.d -s=2 -return A.o(m.by(),$async$aU) -case 2:l=b -q.y.aW(0,l) -p=J.oS(l),p=p.gC(p),o=q.r.d -case 3:if(!p.n()){s=4 -break}n=p.gq(p) -k=o -j=n.a -s=5 -return A.o(m.aD(n.b),$async$aU) -case 5:k.l(0,j,b) -s=3 -break -case 4:return A.w(null,r)}}) -return A.x($async$aU,r)}, -fT(a){return this.aV(new A.de(t.M.a(new A.jL()),new A.a9(new A.C($.E,t.D),t.F)))}, -bI(a,b){return this.r.d.D(0,a)?1:0}, -cR(a,b){var s=this -s.r.d.K(0,a) -if(!s.x.K(0,a))s.aV(new A.dd(s,a,new A.a9(new A.C($.E,t.D),t.F)))}, -e9(a){return $.oP().dW(0,"/"+a)}, -b4(a,b){var s,r,q,p=this,o=a.a -if(o==null)o=A.p6(p.b,"/") -s=p.r -r=s.d.D(0,o)?1:0 -q=s.b4(new A.d0(o),b) -if(r===0)if((b&8)!==0)p.x.m(0,o) -else p.aV(new A.cp(p,o,new A.a9(new A.C($.E,t.D),t.F))) -return new A.dh(new A.i9(p,q.a,o),0)}, -eb(a){}} -A.jK.prototype={ -$0(){var s=this.a -s.f=null -s.dr()}, -$S:8} -A.jL.prototype={ -$0(){}, -$S:8} -A.i9.prototype={ -bL(a,b){this.b.bL(a,b)}, -ge8(){return 0}, -e7(){return this.b.d>=2?1:0}, -bJ(){}, -bK(){return this.b.bK()}, -ea(a){this.b.d=a -return null}, -ec(a){}, -bM(a){var s=this,r=s.a,q=r.d.a -if(q==null)A.O(A.hA(10)) -s.b.bM(a) -if(!r.x.N(0,s.c))r.aV(new A.de(t.M.a(new A.m0(s,a)),new A.a9(new A.C($.E,t.D),t.F)))}, -ed(a){this.b.d=a -return null}, -bN(a,b){var s,r,q,p,o=this.a,n=o.d.a -if(n==null)A.O(A.hA(10)) -n=this.c -s=o.r.d.i(0,n) -if(s==null)s=new Uint8Array(0) -this.b.bN(a,b) -if(!o.x.N(0,n)){r=new Uint8Array(a.length) -B.e.a7(r,0,a) -q=A.u([],t.p8) -p=$.E -B.a.m(q,new A.ip(b,r)) -o.aV(new A.cw(o,n,s,q,new A.a9(new A.C(p,t.D),t.F)))}}, -$ihC:1} -A.m0.prototype={ -$0(){var s=0,r=A.y(t.H),q,p=this,o,n,m -var $async$$0=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:o=p.a -n=o.a -m=n.d -s=3 -return A.o(n.ao(o.c),$async$$0) -case 3:q=m.al(0,b,p.b) -s=1 -break -case 1:return A.w(q,r)}}) -return A.x($async$$0,r)}, -$S:4} -A.a8.prototype={ -cz(a){t.h.a(a) -a.$ti.c.a(this) -a.cb(a.c,this,!1) -return!0}} -A.de.prototype={ -E(){return this.w.$0()}} -A.dd.prototype={ -cz(a){var s,r,q,p -t.h.a(a) -if(!a.gY(0)){s=a.ga4(0) -for(r=this.x;s!=null;)if(s instanceof A.dd)if(s.x===r)return!1 -else s=s.gb2() -else if(s instanceof A.cw){q=s.gb2() -if(s.x===r){p=s.a -p.toString -p.ck(A.B(s).h("af.E").a(s))}s=q}else if(s instanceof A.cp){if(s.x===r){r=s.a -r.toString -r.ck(A.B(s).h("af.E").a(s)) -return!1}s=s.gb2()}else break}a.$ti.c.a(this) -a.cb(a.c,this,!1) -return!0}, -E(){var s=0,r=A.y(t.H),q=this,p,o,n -var $async$E=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:p=q.w -o=q.x -s=2 -return A.o(p.ao(o),$async$E) -case 2:n=b -p.y.K(0,o) -s=3 -return A.o(p.d.bt(n),$async$E) -case 3:return A.w(null,r)}}) -return A.x($async$E,r)}} -A.cp.prototype={ -E(){var s=0,r=A.y(t.H),q=this,p,o,n,m,l -var $async$E=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:p=q.w -o=q.x -n=p.d.a -n.toString -n=B.f.cO(n,"files","readwrite").objectStore("files") -n.toString -m=p.y -l=o -s=2 -return A.o(A.nV(A.t9(n,{name:o,length:0}),!0,t.S),$async$E) -case 2:m.l(0,l,b) -return A.w(null,r)}}) -return A.x($async$E,r)}} -A.cw.prototype={ -cz(a){var s,r -t.h.a(a) -s=a.b===0?null:a.ga4(0) -for(r=this.x;s!=null;)if(s instanceof A.cw)if(s.x===r){B.a.aW(s.z,this.z) -return!1}else s=s.gb2() -else if(s instanceof A.cp){if(s.x===r)break -s=s.gb2()}else break -a.$ti.c.a(this) -a.cb(a.c,this,!1) -return!0}, -E(){var s=0,r=A.y(t.H),q=this,p,o,n,m,l,k -var $async$E=A.z(function(a,b){if(a===1)return A.v(b,r) -while(true)switch(s){case 0:m=q.y -l=new A.lM(m,A.W(t.S,t.p),m.length) -for(m=q.z,p=m.length,o=0;o=2?1:0}, -bJ(){if(this.c)this.a.d.K(0,this.b)}, -bK(){return this.a.d.i(0,this.b).length}, -ea(a){this.d=a}, -ec(a){}, -bM(a){var s=this.a.d,r=this.b,q=s.i(0,r),p=new Uint8Array(a) -if(q!=null)B.e.U(p,0,Math.min(a,q.length),q) -s.l(0,r,p)}, -ed(a){this.d=a}, -bN(a,b){var s,r,q,p,o=this.a.d,n=this.b,m=o.i(0,n) -if(m==null)m=new Uint8Array(0) -s=b+a.length -r=m.length -q=s-r -if(q<=0)B.e.U(m,b,s,a) -else{p=new Uint8Array(r+q) -B.e.a7(p,0,m) -B.e.a7(p,b,a) -o.l(0,n,p)}}} -A.hD.prototype={ -bo(a,b){var s,r,q -t.L.a(a) -s=J.Y(a) -r=A.h(this.d.$1(s.gj(a)+b)) -q=A.b5(t.J.a(this.b.buffer),0,null) -B.e.U(q,r,r+s.gj(a),a) -B.e.cs(q,r+s.gj(a),r+s.gj(a)+b,0) -return r}, -cn(a){return this.bo(a,0)}, -cS(a,b,c){return A.h(this.p4.$3(a,b,self.BigInt(c)))}, -el(a,b,c){var s=this.fR -if(s!=null)return A.h(s.$3(a,b,c)) -else return 1}} -A.m1.prototype={ -ew(){var s,r,q,p=this,o=t.d9.a(new self.WebAssembly.Memory({initial:16})) -p.c=o -s=t.N -r=t.K -q=t.Z -p.sez(t.n2.a(A.az(["env",A.az(["memory",o],s,r),"dart",A.az(["error_log",A.X(new A.mh(o),q),"xOpen",A.X(new A.mi(p,o),q),"xDelete",A.X(new A.mj(p,o),q),"xAccess",A.X(new A.mu(p,o),q),"xFullPathname",A.X(new A.mA(p,o),q),"xRandomness",A.X(new A.mB(p,o),q),"xSleep",A.X(new A.mC(p),q),"xCurrentTimeInt64",A.X(new A.mD(p,o),q),"xDeviceCharacteristics",A.X(new A.mE(p),q),"xClose",A.X(new A.mF(p),q),"xRead",A.X(new A.mG(p,o),q),"xWrite",A.X(new A.mk(p,o),q),"xTruncate",A.X(new A.ml(p),q),"xSync",A.X(new A.mm(p),q),"xFileSize",A.X(new A.mn(p,o),q),"xLock",A.X(new A.mo(p),q),"xUnlock",A.X(new A.mp(p),q),"xCheckReservedLock",A.X(new A.mq(p,o),q),"function_xFunc",A.X(new A.mr(p),q),"function_xStep",A.X(new A.ms(p),q),"function_xInverse",A.X(new A.mt(p),q),"function_xFinal",A.X(new A.mv(p),q),"function_xValue",A.X(new A.mw(p),q),"function_forget",A.X(new A.mx(p),q),"function_compare",A.X(new A.my(p,o),q),"function_hook",A.X(new A.mz(p,o),q)],s,r)],s,t.lK)))}, -sez(a){this.b=t.n2.a(a)}} -A.mh.prototype={ -$1(a){A.aZ("[sqlite3] "+A.cm(this.a,A.h(a)))}, -$S:9} -A.mi.prototype={ -$5(a,b,c,d,e){var s,r,q -A.h(a) -A.h(b) -A.h(c) -A.h(d) -A.h(e) -s=this.a -r=s.d.e.i(0,a) -r.toString -q=this.b -return A.aK(new A.m8(s,r,new A.d0(A.oa(q,b,null)),d,q,c,e))}, -$C:"$5", -$R:5, -$S:26} -A.m8.prototype={ -$0(){var s=this,r=s.b.b4(s.c,s.d),q=t.a5.a(r.a),p=s.a.d.f,o=p.a -p.l(0,o,q) -q=s.e -A.hK(q,s.f,o) -p=s.r -if(p!==0)A.hK(q,p,r.b)}, -$S:0} -A.mj.prototype={ -$3(a,b,c){var s -A.h(a) -A.h(b) -A.h(c) -s=this.a.d.e.i(0,a) -s.toString -return A.aK(new A.m7(s,A.cm(this.b,b),c))}, -$C:"$3", -$R:3, -$S:18} -A.m7.prototype={ -$0(){return this.a.cR(this.b,this.c)}, -$S:0} -A.mu.prototype={ -$4(a,b,c,d){var s,r -A.h(a) -A.h(b) -A.h(c) -A.h(d) -s=this.a.d.e.i(0,a) -s.toString -r=this.b -return A.aK(new A.m6(s,A.cm(r,b),c,r,d))}, -$C:"$4", -$R:4, -$S:27} -A.m6.prototype={ -$0(){var s=this -A.hK(s.d,s.e,s.a.bI(s.b,s.c))}, -$S:0} -A.mA.prototype={ -$4(a,b,c,d){var s,r -A.h(a) -A.h(b) -A.h(c) -A.h(d) -s=this.a.d.e.i(0,a) -s.toString -r=this.b -return A.aK(new A.m5(s,A.cm(r,b),c,r,d))}, -$C:"$4", -$R:4, -$S:27} -A.m5.prototype={ -$0(){var s,r,q=this,p=B.i.ar(q.a.e9(q.b)),o=p.length -if(o>q.c)throw A.b(A.hA(14)) -s=A.b5(t.J.a(q.d.buffer),0,null) -r=q.e -B.e.a7(s,r,p) -o=r+o -if(!(o>=0&&o").b(j)?j:A.pK(c.a(j),c),$async$aO) -case 12:j=f -q=j -n=[1] -s=4 -break -s=10 -break -case 11:q=l -n=[1] -s=4 -break -case 10:n.push(5) -s=4 -break -case 3:n=[2] -case 4:p=2 -k=new A.jv(m,h) -k.$0() -s=n.pop() -break -case 5:case 1:return A.w(q,r) -case 2:return A.v(o,r)}}) -return A.x($async$aO,r)}, -k(a){return"Lock["+A.oG(this)+"]"}, -$it7:1} -A.jv.prototype={ -$0(){var s=this.a,r=this.b -if(s.a===r.a)s.a=null -r.fH(0)}, -$S:0};(function aliases(){var s=J.cM.prototype -s.eo=s.k -s=J.a2.prototype -s.ep=s.k -s=A.i.prototype -s.cU=s.M -s=A.f.prototype -s.en=s.cm -s=A.fn.prototype -s.em=s.k -s=A.hd.prototype -s.eq=s.k})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers._static_0,p=hunkHelpers.installStaticTearOff,o=hunkHelpers.installInstanceTearOff,n=hunkHelpers._instance_2u,m=hunkHelpers._instance_0u -s(J,"uX","t0",72) -r(A,"vl","tV",10) -r(A,"vm","tW",10) -r(A,"vn","tX",10) -q(A,"qF","vd",0) -r(A,"vo","v9",5) -p(A,"vp",4,null,["$4"],["ng"],54,0) -o(A.co.prototype,"gfI",0,1,null,["$2","$1"],["bq","ac"],24,0,0) -n(A.C.prototype,"gd2","P",20) -o(A.dj.prototype,"gfA",0,1,null,["$2","$1"],["dD","fB"],24,0,0) -r(A,"vs","tT",49) -r(A,"oH","j7",25) -m(A.de.prototype,"gbE","E",0) -m(A.dd.prototype,"gbE","E",4) -m(A.cp.prototype,"gbE","E",4) -m(A.cw.prototype,"gbE","E",4)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany -r(A.r,null) -q(A.r,[A.nO,J.cM,J.du,A.e,A.dx,A.D,A.bN,A.R,A.i,A.ki,A.b4,A.dQ,A.cl,A.e1,A.dE,A.ed,A.au,A.bX,A.d5,A.cu,A.cT,A.dA,A.en,A.fF,A.lc,A.k1,A.dF,A.eB,A.mL,A.jQ,A.dM,A.cP,A.es,A.hN,A.e7,A.iJ,A.lE,A.aV,A.i4,A.mW,A.mU,A.ee,A.eE,A.dw,A.co,A.bC,A.C,A.hP,A.d3,A.dj,A.iO,A.eg,A.bB,A.hW,A.aX,A.iH,A.iW,A.eP,A.cY,A.id,A.ct,A.ep,A.af,A.er,A.c1,A.cC,A.fi,A.mZ,A.eO,A.a7,A.i3,A.bP,A.bQ,A.lH,A.h0,A.e6,A.lL,A.jG,A.fD,A.a5,A.Q,A.iM,A.aj,A.eM,A.le,A.iA,A.fu,A.jz,A.nL,A.em,A.A,A.dG,A.mR,A.ls,A.k0,A.ia,A.fY,A.hu,A.fh,A.lb,A.k3,A.fn,A.jD,A.fv,A.cG,A.ky,A.kz,A.e3,A.iE,A.is,A.aP,A.kl,A.dm,A.l1,A.e4,A.d1,A.h5,A.hg,A.h6,A.k9,A.dZ,A.k7,A.k8,A.bo,A.fo,A.l2,A.fe,A.cE,A.ix,A.it,A.cd,A.eb,A.d0,A.cj,A.f8,A.nP,A.dc,A.hF,A.jk,A.lM,A.ip,A.i9,A.hD,A.m1,A.jA,A.fa]) -q(J.cM,[J.fE,J.dL,J.a,J.cQ,J.cR,J.cO,J.bR]) -q(J.a,[J.a2,J.M,A.cW,A.a6,A.f,A.f_,A.bM,A.b1,A.P,A.hT,A.at,A.fm,A.fq,A.hX,A.dD,A.hZ,A.fs,A.m,A.i1,A.ay,A.fz,A.i6,A.cL,A.fK,A.fM,A.ig,A.ih,A.aA,A.ii,A.ik,A.aB,A.iq,A.iz,A.cZ,A.aE,A.iB,A.aF,A.iG,A.ao,A.iP,A.hn,A.aI,A.iR,A.hp,A.hx,A.iX,A.iZ,A.j0,A.j2,A.j4,A.bO,A.cK,A.dI,A.dW,A.aL,A.ib,A.aN,A.im,A.h3,A.iK,A.aQ,A.iT,A.f4,A.hQ]) -q(J.a2,[J.h1,J.bW,J.bq,A.jr,A.jE,A.kf,A.m_,A.mK,A.jF,A.jC,A.n0,A.di,A.jV,A.cJ,A.lr,A.b8]) -r(J.jN,J.M) -q(J.cO,[J.dK,J.fG]) -q(A.e,[A.c_,A.l,A.br,A.lq,A.bt,A.ec,A.cs,A.hM,A.iI,A.dk,A.cS]) -q(A.c_,[A.c5,A.eQ]) -r(A.el,A.c5) -r(A.eh,A.eQ) -r(A.b0,A.eh) -q(A.D,[A.dy,A.d8,A.b2]) -q(A.bN,[A.fd,A.jw,A.fc,A.hk,A.jP,A.nr,A.nt,A.lv,A.lu,A.n2,A.jI,A.lS,A.lZ,A.l8,A.l7,A.mO,A.jT,A.lB,A.n8,A.n9,A.lJ,A.lK,A.n6,A.n5,A.k2,A.nB,A.nC,A.jy,A.nh,A.nk,A.kk,A.kq,A.kp,A.kn,A.ko,A.kZ,A.kF,A.kR,A.kQ,A.kL,A.kN,A.kT,A.kH,A.nd,A.nx,A.l3,A.nn,A.kd,A.ke,A.lF,A.lG,A.jp,A.jo,A.jl,A.jm,A.mh,A.mi,A.mj,A.mu,A.mA,A.mB,A.mE,A.mF,A.mG,A.mk,A.mr,A.ms,A.mt,A.mv,A.mw,A.mx,A.my,A.mz]) -q(A.fd,[A.jx,A.k5,A.jO,A.ns,A.n3,A.ni,A.jJ,A.lT,A.jR,A.jU,A.lA,A.k_,A.lf,A.lg,A.lh,A.n7,A.jW,A.jX,A.jY,A.jZ,A.kg,A.kh,A.l4,A.l5,A.mS,A.mT,A.lt,A.nl,A.js,A.jt,A.n1,A.nb,A.na,A.lm,A.ll,A.jn,A.mC,A.mD,A.ml,A.mm,A.mn,A.mo,A.mp,A.mq]) -q(A.R,[A.ce,A.bw,A.fH,A.ht,A.hU,A.h9,A.dv,A.i0,A.bb,A.fX,A.hv,A.hr,A.bv,A.fg]) -q(A.i,[A.d7,A.d9]) -r(A.dz,A.d7) -q(A.fc,[A.nz,A.lw,A.lx,A.mV,A.jH,A.lO,A.lV,A.lU,A.lR,A.lQ,A.lP,A.lY,A.lX,A.lW,A.l9,A.l6,A.mQ,A.mP,A.lD,A.lC,A.mI,A.n4,A.nf,A.mN,A.mM,A.mY,A.mX,A.kj,A.kt,A.kr,A.km,A.ku,A.kx,A.kw,A.kv,A.ks,A.kD,A.kC,A.kO,A.kI,A.kP,A.kM,A.kK,A.kJ,A.kS,A.kU,A.jB,A.kc,A.kb,A.jq,A.lN,A.jK,A.jL,A.m0,A.m8,A.m7,A.m6,A.m5,A.mg,A.mf,A.me,A.md,A.mc,A.mb,A.ma,A.m9,A.m4,A.m3,A.m2,A.jv]) -q(A.l,[A.a4,A.c8,A.b3,A.eq]) -q(A.a4,[A.ci,A.ag,A.ie,A.e0]) -r(A.c7,A.br) -r(A.cF,A.bt) -r(A.dN,A.d8) -r(A.dg,A.cu) -r(A.dh,A.dg) -r(A.dn,A.cT) -r(A.ea,A.dn) -r(A.dB,A.ea) -r(A.c6,A.dA) -r(A.dV,A.bw) -q(A.hk,[A.hh,A.cB]) -r(A.hO,A.dv) -q(A.a6,[A.dR,A.ah]) -q(A.ah,[A.eu,A.ew]) -r(A.ev,A.eu) -r(A.bS,A.ev) -r(A.ex,A.ew) -r(A.aM,A.ex) -q(A.bS,[A.fQ,A.fR]) -q(A.aM,[A.fS,A.fT,A.fU,A.fV,A.fW,A.dS,A.dT]) -r(A.eH,A.i0) -q(A.co,[A.cn,A.a9]) -r(A.dl,A.dj) -q(A.d3,[A.eD,A.lI]) -r(A.da,A.eD) -r(A.db,A.eg) -q(A.bB,[A.cq,A.ej]) -r(A.iw,A.eP) -r(A.ey,A.cY) -r(A.eo,A.ey) -q(A.cC,[A.f7,A.ft]) -q(A.fi,[A.ju,A.li]) -r(A.hz,A.ft) -q(A.bb,[A.cX,A.fB]) -r(A.hV,A.eM) -q(A.f,[A.H,A.fw,A.cf,A.bY,A.aD,A.ez,A.aH,A.ap,A.eF,A.hB,A.bd,A.bs,A.e9,A.f6,A.bL]) -q(A.H,[A.p,A.bc]) -r(A.q,A.p) -q(A.q,[A.f0,A.f1,A.fy,A.ha]) -r(A.fj,A.b1) -r(A.cD,A.hT) -q(A.at,[A.fk,A.fl]) -r(A.hY,A.hX) -r(A.dC,A.hY) -r(A.i_,A.hZ) -r(A.fr,A.i_) -r(A.ax,A.bM) -r(A.i2,A.i1) -r(A.cH,A.i2) -r(A.i7,A.i6) -r(A.cb,A.i7) -q(A.m,[A.cV,A.by]) -r(A.fN,A.ig) -r(A.fO,A.ih) -r(A.ij,A.ii) -r(A.fP,A.ij) -r(A.il,A.ik) -r(A.dU,A.il) -r(A.ir,A.iq) -r(A.h2,A.ir) -r(A.h8,A.iz) -r(A.d_,A.bY) -r(A.eA,A.ez) -r(A.hb,A.eA) -r(A.iC,A.iB) -r(A.hc,A.iC) -r(A.hi,A.iG) -r(A.iQ,A.iP) -r(A.hl,A.iQ) -r(A.eG,A.eF) -r(A.hm,A.eG) -r(A.iS,A.iR) -r(A.ho,A.iS) -r(A.iY,A.iX) -r(A.hS,A.iY) -r(A.ek,A.dD) -r(A.j_,A.iZ) -r(A.i5,A.j_) -r(A.j1,A.j0) -r(A.et,A.j1) -r(A.j3,A.j2) -r(A.iD,A.j3) -r(A.j5,A.j4) -r(A.iN,A.j5) -r(A.cv,A.mR) -r(A.bZ,A.ls) -r(A.bn,A.bO) -r(A.ic,A.ib) -r(A.fI,A.ic) -r(A.io,A.im) -r(A.fZ,A.io) -r(A.iL,A.iK) -r(A.hj,A.iL) -r(A.iU,A.iT) -r(A.hq,A.iU) -r(A.f5,A.hQ) -r(A.h_,A.bL) -r(A.cN,A.lb) -q(A.cN,[A.h4,A.hy,A.hJ]) -r(A.hd,A.fn) -r(A.bu,A.hd) -r(A.iF,A.ky) -r(A.kA,A.iF) -r(A.b6,A.dm) -r(A.e5,A.e4) -q(A.bo,[A.fx,A.cI]) -r(A.d2,A.fe) -q(A.cE,[A.dJ,A.iu]) -r(A.hL,A.dJ) -r(A.iv,A.iu) -r(A.h7,A.iv) -r(A.iy,A.ix) -r(A.an,A.iy) -r(A.dX,A.lH) -r(A.f9,A.cj) -r(A.hH,A.h5) -r(A.hE,A.h6) -r(A.lp,A.k9) -r(A.hI,A.dZ) -r(A.ck,A.k7) -r(A.bz,A.k8) -r(A.hG,A.l2) -q(A.f9,[A.cc,A.fA]) -r(A.a8,A.af) -q(A.a8,[A.de,A.dd,A.cp,A.cw]) -r(A.i8,A.f8) -s(A.d7,A.bX) -s(A.eQ,A.i) -s(A.eu,A.i) -s(A.ev,A.au) -s(A.ew,A.i) -s(A.ex,A.au) -s(A.dl,A.iO) -s(A.d8,A.c1) -s(A.dn,A.c1) -s(A.hT,A.jz) -s(A.hX,A.i) -s(A.hY,A.A) -s(A.hZ,A.i) -s(A.i_,A.A) -s(A.i1,A.i) -s(A.i2,A.A) -s(A.i6,A.i) -s(A.i7,A.A) -s(A.ig,A.D) -s(A.ih,A.D) -s(A.ii,A.i) -s(A.ij,A.A) -s(A.ik,A.i) -s(A.il,A.A) -s(A.iq,A.i) -s(A.ir,A.A) -s(A.iz,A.D) -s(A.ez,A.i) -s(A.eA,A.A) -s(A.iB,A.i) -s(A.iC,A.A) -s(A.iG,A.D) -s(A.iP,A.i) -s(A.iQ,A.A) -s(A.eF,A.i) -s(A.eG,A.A) -s(A.iR,A.i) -s(A.iS,A.A) -s(A.iX,A.i) -s(A.iY,A.A) -s(A.iZ,A.i) -s(A.j_,A.A) -s(A.j0,A.i) -s(A.j1,A.A) -s(A.j2,A.i) -s(A.j3,A.A) -s(A.j4,A.i) -s(A.j5,A.A) -s(A.ib,A.i) -s(A.ic,A.A) -s(A.im,A.i) -s(A.io,A.A) -s(A.iK,A.i) -s(A.iL,A.A) -s(A.iT,A.i) -s(A.iU,A.A) -s(A.hQ,A.D) -s(A.iF,A.kz) -s(A.iu,A.i) -s(A.iv,A.fY) -s(A.ix,A.hu) -s(A.iy,A.D)})() -var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{d:"int",N:"double",Z:"num",j:"String",bg:"bool",Q:"Null",n:"List",r:"Object",J:"Map"},mangledNames:{},types:["~()","~(j,@)","~(m)","d(d,d)","I<~>()","~(@)","I<@>()","~(@,@)","Q()","Q(d)","~(~())","d(d)","I()","I<@>(aP)","Q(d,d,d)","~(aR,j,d)","d(d,d,d,r)","@()","d(d,d,d)","~(j,j)","~(r,aG)","I()","Q(@)","I>()","~(r[aG?])","I<~>(m)","d(d,d,d,d,d)","d(d,d,d,d)","I()","@(@,@)","bg(j)","j(j?)","j?(r?)","d?()","d?(j)","~(d,@)","Q(~())","@(@,j)","~(d6,@)","~(j,d)","J(bu)","~(@[@])","bu(@)","~(j,d?)","J<@,@>(d)","~(J<@,@>)","aR(@,@)","I(aP)","I(aP)","j(j)","I()","~(cG)","~(r?,r?)","a5(d,b6)","~(bA?,oc?,bA,~())","~(bo)","~(j,J)","~(j,r)","~(by)","b8(b8?)","I<~>(d,aR)","I<~>(d)","aR()","I(aP)","@(@)","j(r?)","Q(@,aG)","Q(d,d)","Q(@,@)","d(d,r)","Q(r,aG)","Q(d,d,d,d,r)","d(@,@)","C<@>(@)","@(j)","I()"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;file,outFlags":(a,b)=>c=>c instanceof A.dh&&a.b(c.a)&&b.b(c.b)}} -A.um(v.typeUniverse,JSON.parse('{"h1":"a2","bW":"a2","bq":"a2","jr":"a2","jE":"a2","kf":"a2","m_":"a2","mK":"a2","jF":"a2","jC":"a2","di":"a2","cJ":"a2","n0":"a2","jV":"a2","lr":"a2","b8":"a2","wd":"a","we":"a","vW":"a","vU":"m","w9":"m","vX":"bL","vV":"f","wj":"f","wn":"f","wf":"p","wi":"bs","vY":"q","wg":"q","wb":"H","w8":"H","wF":"ap","w7":"bY","vZ":"bc","wu":"bc","wc":"cb","w_":"P","w1":"b1","w3":"ao","w4":"at","w0":"at","w2":"at","a":{"k":[]},"fE":{"bg":[],"S":[]},"dL":{"Q":[],"S":[]},"a2":{"a":[],"k":[],"di":[],"cJ":[],"b8":[]},"M":{"n":["1"],"a":[],"l":["1"],"k":[],"e":["1"]},"jN":{"M":["1"],"n":["1"],"a":[],"l":["1"],"k":[],"e":["1"]},"du":{"L":["1"]},"cO":{"N":[],"Z":[],"al":["Z"]},"dK":{"N":[],"d":[],"Z":[],"al":["Z"],"S":[]},"fG":{"N":[],"Z":[],"al":["Z"],"S":[]},"bR":{"j":[],"al":["j"],"k4":[],"S":[]},"c_":{"e":["2"]},"dx":{"L":["2"]},"c5":{"c_":["1","2"],"e":["2"],"e.E":"2"},"el":{"c5":["1","2"],"c_":["1","2"],"l":["2"],"e":["2"],"e.E":"2"},"eh":{"i":["2"],"n":["2"],"c_":["1","2"],"l":["2"],"e":["2"]},"b0":{"eh":["1","2"],"i":["2"],"n":["2"],"c_":["1","2"],"l":["2"],"e":["2"],"i.E":"2","e.E":"2"},"dy":{"D":["3","4"],"J":["3","4"],"D.K":"3","D.V":"4"},"ce":{"R":[]},"dz":{"i":["d"],"bX":["d"],"n":["d"],"l":["d"],"e":["d"],"i.E":"d","bX.E":"d"},"l":{"e":["1"]},"a4":{"l":["1"],"e":["1"]},"ci":{"a4":["1"],"l":["1"],"e":["1"],"a4.E":"1","e.E":"1"},"b4":{"L":["1"]},"br":{"e":["2"],"e.E":"2"},"c7":{"br":["1","2"],"l":["2"],"e":["2"],"e.E":"2"},"dQ":{"L":["2"]},"ag":{"a4":["2"],"l":["2"],"e":["2"],"a4.E":"2","e.E":"2"},"lq":{"e":["1"],"e.E":"1"},"cl":{"L":["1"]},"bt":{"e":["1"],"e.E":"1"},"cF":{"bt":["1"],"l":["1"],"e":["1"],"e.E":"1"},"e1":{"L":["1"]},"c8":{"l":["1"],"e":["1"],"e.E":"1"},"dE":{"L":["1"]},"ec":{"e":["1"],"e.E":"1"},"ed":{"L":["1"]},"d7":{"i":["1"],"bX":["1"],"n":["1"],"l":["1"],"e":["1"]},"ie":{"a4":["d"],"l":["d"],"e":["d"],"a4.E":"d","e.E":"d"},"dN":{"D":["d","1"],"c1":["d","1"],"J":["d","1"],"D.K":"d","D.V":"1"},"e0":{"a4":["1"],"l":["1"],"e":["1"],"a4.E":"1","e.E":"1"},"d5":{"d6":[]},"dh":{"dg":[],"cu":[]},"dB":{"ea":["1","2"],"dn":["1","2"],"cT":["1","2"],"c1":["1","2"],"J":["1","2"]},"dA":{"J":["1","2"]},"c6":{"dA":["1","2"],"J":["1","2"]},"cs":{"e":["1"],"e.E":"1"},"en":{"L":["1"]},"fF":{"p7":[]},"dV":{"bw":[],"R":[]},"fH":{"R":[]},"ht":{"R":[]},"eB":{"aG":[]},"bN":{"ca":[]},"fc":{"ca":[]},"fd":{"ca":[]},"hk":{"ca":[]},"hh":{"ca":[]},"cB":{"ca":[]},"hU":{"R":[]},"h9":{"R":[]},"hO":{"R":[]},"b2":{"D":["1","2"],"pe":["1","2"],"J":["1","2"],"D.K":"1","D.V":"2"},"b3":{"l":["1"],"e":["1"],"e.E":"1"},"dM":{"L":["1"]},"dg":{"cu":[]},"cP":{"tp":[],"k4":[]},"es":{"e_":[],"cU":[]},"hM":{"e":["e_"],"e.E":"e_"},"hN":{"L":["e_"]},"e7":{"cU":[]},"iI":{"e":["cU"],"e.E":"cU"},"iJ":{"L":["cU"]},"cW":{"a":[],"k":[],"nK":[],"S":[]},"a6":{"a":[],"k":[]},"dR":{"a6":[],"a":[],"p0":[],"k":[],"S":[]},"ah":{"a6":[],"G":["1"],"a":[],"k":[]},"bS":{"i":["N"],"ah":["N"],"n":["N"],"a6":[],"G":["N"],"a":[],"l":["N"],"k":[],"e":["N"],"au":["N"]},"aM":{"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"]},"fQ":{"bS":[],"i":["N"],"ah":["N"],"n":["N"],"a6":[],"G":["N"],"a":[],"l":["N"],"k":[],"e":["N"],"au":["N"],"S":[],"i.E":"N"},"fR":{"bS":[],"i":["N"],"ah":["N"],"n":["N"],"a6":[],"G":["N"],"a":[],"l":["N"],"k":[],"e":["N"],"au":["N"],"S":[],"i.E":"N"},"fS":{"aM":[],"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"fT":{"aM":[],"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"fU":{"aM":[],"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"fV":{"aM":[],"i":["d"],"o7":[],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"fW":{"aM":[],"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"dS":{"aM":[],"i":["d"],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"dT":{"aM":[],"i":["d"],"aR":[],"ah":["d"],"n":["d"],"a6":[],"G":["d"],"a":[],"l":["d"],"k":[],"e":["d"],"au":["d"],"S":[],"i.E":"d"},"i0":{"R":[]},"eH":{"bw":[],"R":[]},"C":{"I":["1"]},"ee":{"ff":["1"]},"eE":{"L":["1"]},"dk":{"e":["1"],"e.E":"1"},"dw":{"R":[]},"co":{"ff":["1"]},"cn":{"co":["1"],"ff":["1"]},"a9":{"co":["1"],"ff":["1"]},"dj":{"pR":["1"],"cr":["1"]},"dl":{"iO":["1"],"dj":["1"],"pR":["1"],"cr":["1"]},"da":{"eD":["1"],"d3":["1"]},"db":{"eg":["1"],"d4":["1"],"cr":["1"]},"eg":{"d4":["1"],"cr":["1"]},"eD":{"d3":["1"]},"cq":{"bB":["1"]},"ej":{"bB":["@"]},"hW":{"bB":["@"]},"eP":{"bA":[]},"iw":{"eP":[],"bA":[]},"eo":{"cY":["1"],"nX":["1"],"l":["1"],"e":["1"]},"ct":{"L":["1"]},"cS":{"e":["1"],"e.E":"1"},"ep":{"L":["1"]},"i":{"n":["1"],"l":["1"],"e":["1"]},"D":{"J":["1","2"]},"d8":{"D":["1","2"],"c1":["1","2"],"J":["1","2"]},"eq":{"l":["2"],"e":["2"],"e.E":"2"},"er":{"L":["2"]},"cT":{"J":["1","2"]},"ea":{"dn":["1","2"],"cT":["1","2"],"c1":["1","2"],"J":["1","2"]},"cY":{"nX":["1"],"l":["1"],"e":["1"]},"ey":{"cY":["1"],"nX":["1"],"l":["1"],"e":["1"]},"f7":{"cC":["n","j"]},"ft":{"cC":["j","n"]},"hz":{"cC":["j","n"]},"cA":{"al":["cA"]},"bP":{"al":["bP"]},"N":{"Z":[],"al":["Z"]},"bQ":{"al":["bQ"]},"d":{"Z":[],"al":["Z"]},"n":{"l":["1"],"e":["1"]},"Z":{"al":["Z"]},"e_":{"cU":[]},"j":{"al":["j"],"k4":[]},"a7":{"cA":[],"al":["cA"]},"dv":{"R":[]},"bw":{"R":[]},"bb":{"R":[]},"cX":{"R":[]},"fB":{"R":[]},"fX":{"R":[]},"hv":{"R":[]},"hr":{"R":[]},"bv":{"R":[]},"fg":{"R":[]},"h0":{"R":[]},"e6":{"R":[]},"fD":{"R":[]},"iM":{"aG":[]},"aj":{"tL":[]},"eM":{"hw":[]},"iA":{"hw":[]},"hV":{"hw":[]},"P":{"a":[],"k":[]},"m":{"a":[],"k":[]},"ax":{"bM":[],"a":[],"k":[]},"ay":{"a":[],"k":[]},"aA":{"a":[],"k":[]},"H":{"f":[],"a":[],"k":[]},"aB":{"a":[],"k":[]},"aD":{"f":[],"a":[],"k":[]},"aE":{"a":[],"k":[]},"aF":{"a":[],"k":[]},"ao":{"a":[],"k":[]},"aH":{"f":[],"a":[],"k":[]},"ap":{"f":[],"a":[],"k":[]},"aI":{"a":[],"k":[]},"q":{"H":[],"f":[],"a":[],"k":[]},"f_":{"a":[],"k":[]},"f0":{"H":[],"f":[],"a":[],"k":[]},"f1":{"H":[],"f":[],"a":[],"k":[]},"bM":{"a":[],"k":[]},"bc":{"H":[],"f":[],"a":[],"k":[]},"fj":{"a":[],"k":[]},"cD":{"a":[],"k":[]},"at":{"a":[],"k":[]},"b1":{"a":[],"k":[]},"fk":{"a":[],"k":[]},"fl":{"a":[],"k":[]},"fm":{"a":[],"k":[]},"fq":{"a":[],"k":[]},"dC":{"i":["bf"],"A":["bf"],"n":["bf"],"G":["bf"],"a":[],"l":["bf"],"k":[],"e":["bf"],"A.E":"bf","i.E":"bf"},"dD":{"a":[],"bf":["Z"],"k":[]},"fr":{"i":["j"],"A":["j"],"n":["j"],"G":["j"],"a":[],"l":["j"],"k":[],"e":["j"],"A.E":"j","i.E":"j"},"fs":{"a":[],"k":[]},"p":{"H":[],"f":[],"a":[],"k":[]},"f":{"a":[],"k":[]},"cH":{"i":["ax"],"A":["ax"],"n":["ax"],"G":["ax"],"a":[],"l":["ax"],"k":[],"e":["ax"],"A.E":"ax","i.E":"ax"},"fw":{"f":[],"a":[],"k":[]},"fy":{"H":[],"f":[],"a":[],"k":[]},"fz":{"a":[],"k":[]},"cb":{"i":["H"],"A":["H"],"n":["H"],"G":["H"],"a":[],"l":["H"],"k":[],"e":["H"],"A.E":"H","i.E":"H"},"cL":{"a":[],"k":[]},"fK":{"a":[],"k":[]},"fM":{"a":[],"k":[]},"cV":{"m":[],"a":[],"k":[]},"cf":{"f":[],"a":[],"k":[]},"fN":{"a":[],"D":["j","@"],"k":[],"J":["j","@"],"D.K":"j","D.V":"@"},"fO":{"a":[],"D":["j","@"],"k":[],"J":["j","@"],"D.K":"j","D.V":"@"},"fP":{"i":["aA"],"A":["aA"],"n":["aA"],"G":["aA"],"a":[],"l":["aA"],"k":[],"e":["aA"],"A.E":"aA","i.E":"aA"},"dU":{"i":["H"],"A":["H"],"n":["H"],"G":["H"],"a":[],"l":["H"],"k":[],"e":["H"],"A.E":"H","i.E":"H"},"h2":{"i":["aB"],"A":["aB"],"n":["aB"],"G":["aB"],"a":[],"l":["aB"],"k":[],"e":["aB"],"A.E":"aB","i.E":"aB"},"h8":{"a":[],"D":["j","@"],"k":[],"J":["j","@"],"D.K":"j","D.V":"@"},"ha":{"H":[],"f":[],"a":[],"k":[]},"cZ":{"a":[],"k":[]},"d_":{"f":[],"a":[],"k":[]},"hb":{"i":["aD"],"A":["aD"],"n":["aD"],"f":[],"G":["aD"],"a":[],"l":["aD"],"k":[],"e":["aD"],"A.E":"aD","i.E":"aD"},"hc":{"i":["aE"],"A":["aE"],"n":["aE"],"G":["aE"],"a":[],"l":["aE"],"k":[],"e":["aE"],"A.E":"aE","i.E":"aE"},"hi":{"a":[],"D":["j","j"],"k":[],"J":["j","j"],"D.K":"j","D.V":"j"},"hl":{"i":["ap"],"A":["ap"],"n":["ap"],"G":["ap"],"a":[],"l":["ap"],"k":[],"e":["ap"],"A.E":"ap","i.E":"ap"},"hm":{"i":["aH"],"A":["aH"],"n":["aH"],"f":[],"G":["aH"],"a":[],"l":["aH"],"k":[],"e":["aH"],"A.E":"aH","i.E":"aH"},"hn":{"a":[],"k":[]},"ho":{"i":["aI"],"A":["aI"],"n":["aI"],"G":["aI"],"a":[],"l":["aI"],"k":[],"e":["aI"],"A.E":"aI","i.E":"aI"},"hp":{"a":[],"k":[]},"hx":{"a":[],"k":[]},"hB":{"f":[],"a":[],"k":[]},"bY":{"f":[],"a":[],"k":[]},"hS":{"i":["P"],"A":["P"],"n":["P"],"G":["P"],"a":[],"l":["P"],"k":[],"e":["P"],"A.E":"P","i.E":"P"},"ek":{"a":[],"bf":["Z"],"k":[]},"i5":{"i":["ay?"],"A":["ay?"],"n":["ay?"],"G":["ay?"],"a":[],"l":["ay?"],"k":[],"e":["ay?"],"A.E":"ay?","i.E":"ay?"},"et":{"i":["H"],"A":["H"],"n":["H"],"G":["H"],"a":[],"l":["H"],"k":[],"e":["H"],"A.E":"H","i.E":"H"},"iD":{"i":["aF"],"A":["aF"],"n":["aF"],"G":["aF"],"a":[],"l":["aF"],"k":[],"e":["aF"],"A.E":"aF","i.E":"aF"},"iN":{"i":["ao"],"A":["ao"],"n":["ao"],"G":["ao"],"a":[],"l":["ao"],"k":[],"e":["ao"],"A.E":"ao","i.E":"ao"},"lI":{"d3":["1"]},"em":{"d4":["1"]},"dG":{"L":["1"]},"bO":{"a":[],"k":[]},"bn":{"bO":[],"a":[],"k":[]},"bd":{"f":[],"a":[],"k":[]},"cK":{"a":[],"k":[]},"bs":{"f":[],"a":[],"k":[]},"by":{"m":[],"a":[],"k":[]},"dI":{"a":[],"k":[]},"dW":{"a":[],"k":[]},"e9":{"f":[],"a":[],"k":[]},"ia":{"tn":[]},"aL":{"a":[],"k":[]},"aN":{"a":[],"k":[]},"aQ":{"a":[],"k":[]},"fI":{"i":["aL"],"A":["aL"],"n":["aL"],"a":[],"l":["aL"],"k":[],"e":["aL"],"A.E":"aL","i.E":"aL"},"fZ":{"i":["aN"],"A":["aN"],"n":["aN"],"a":[],"l":["aN"],"k":[],"e":["aN"],"A.E":"aN","i.E":"aN"},"h3":{"a":[],"k":[]},"hj":{"i":["j"],"A":["j"],"n":["j"],"a":[],"l":["j"],"k":[],"e":["j"],"A.E":"j","i.E":"j"},"hq":{"i":["aQ"],"A":["aQ"],"n":["aQ"],"a":[],"l":["aQ"],"k":[],"e":["aQ"],"A.E":"aQ","i.E":"aQ"},"f4":{"a":[],"k":[]},"f5":{"a":[],"D":["j","@"],"k":[],"J":["j","@"],"D.K":"j","D.V":"@"},"f6":{"f":[],"a":[],"k":[]},"bL":{"f":[],"a":[],"k":[]},"h_":{"f":[],"a":[],"k":[]},"h4":{"cN":[]},"hy":{"cN":[]},"hJ":{"cN":[]},"b6":{"dm":["cA"],"dm.T":"cA"},"e5":{"e4":[]},"fx":{"bo":[]},"fo":{"p2":[]},"cI":{"bo":[]},"d2":{"fe":[]},"hL":{"dJ":[],"cE":[],"L":["an"]},"an":{"hu":["j","@"],"D":["j","@"],"J":["j","@"],"D.K":"j","D.V":"@"},"dJ":{"cE":[],"L":["an"]},"h7":{"i":["an"],"fY":["an"],"n":["an"],"l":["an"],"cE":[],"e":["an"],"i.E":"an"},"it":{"L":["an"]},"cd":{"tK":[]},"f9":{"cj":[]},"f8":{"hC":[]},"hH":{"h5":[]},"hE":{"h6":[]},"hI":{"dZ":[]},"d9":{"i":["bz"],"n":["bz"],"l":["bz"],"e":["bz"],"i.E":"bz"},"cc":{"cj":[]},"a8":{"af":["a8"]},"i9":{"hC":[]},"de":{"a8":[],"af":["a8"],"af.E":"a8"},"dd":{"a8":[],"af":["a8"],"af.E":"a8"},"cp":{"a8":[],"af":["a8"],"af.E":"a8"},"cw":{"a8":[],"af":["a8"],"af.E":"a8"},"fA":{"cj":[]},"i8":{"hC":[]},"fa":{"t7":[]},"rX":{"n":["d"],"l":["d"],"e":["d"]},"aR":{"n":["d"],"l":["d"],"e":["d"]},"tR":{"n":["d"],"l":["d"],"e":["d"]},"rV":{"n":["d"],"l":["d"],"e":["d"]},"o7":{"n":["d"],"l":["d"],"e":["d"]},"rW":{"n":["d"],"l":["d"],"e":["d"]},"tQ":{"n":["d"],"l":["d"],"e":["d"]},"rR":{"n":["N"],"l":["N"],"e":["N"]},"rS":{"n":["N"],"l":["N"],"e":["N"]}}')) -A.ul(v.typeUniverse,JSON.parse('{"d7":1,"eQ":2,"ah":1,"bB":1,"d8":2,"ey":1,"fi":2,"rD":1}')) -var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",f:"Tried to operate on a released prepared statement"} -var t=(function rtii(){var s=A.aw -return{ie:s("rD"),n:s("dw"),dz:s("cA"),w:s("bM"),J:s("nK"),bT:s("p2"),bP:s("al<@>"),i9:s("dB"),d5:s("P"),nT:s("bn"),E:s("bd"),cs:s("bP"),jS:s("bQ"),O:s("l<@>"),U:s("R"),A:s("m"),V:s("ax"),kL:s("cH"),m:s("bo"),Z:s("ca"),g7:s("I<@>"),gq:s("I<@>()"),W:s("cJ"),ad:s("cL"),cF:s("cc"),bg:s("p7"),bq:s("e"),id:s("e"),e7:s("e<@>"),fm:s("e"),eY:s("M"),iw:s("M>"),dO:s("M>"),C:s("M>"),ke:s("M>"),jP:s("M>"),bw:s("M"),lE:s("M"),s:s("M"),bs:s("M"),p8:s("M"),it:s("M"),b:s("M<@>"),t:s("M"),mf:s("M"),T:s("dL"),bp:s("k"),dY:s("bq"),dX:s("G<@>"),d9:s("a"),bX:s("b2"),kT:s("aL"),h:s("cS"),fr:s("n"),a:s("n"),j:s("n<@>"),L:s("n"),kS:s("n"),ag:s("a5"),lK:s("J"),dV:s("J"),f:s("J<@,@>"),n2:s("J>"),lb:s("J"),iZ:s("ag"),hy:s("cV"),oA:s("cf"),ib:s("aA"),hH:s("cW"),dQ:s("bS"),aj:s("aM"),hK:s("a6"),G:s("H"),P:s("Q"),ai:s("aN"),K:s("r"),d8:s("aB"),lZ:s("wl"),aK:s("+()"),q:s("bf"),lu:s("e_"),lq:s("wm"),B:s("bs"),hF:s("e0"),oy:s("an"),kI:s("cZ"),aD:s("d_"),ls:s("aD"),cA:s("aE"),hI:s("aF"),cE:s("e4"),db:s("e5"),kY:s("hg"),l:s("aG"),N:s("j"),lv:s("ao"),bR:s("d6"),dR:s("aH"),gJ:s("ap"),ki:s("aI"),hk:s("aQ"),aJ:s("S"),do:s("bw"),p:s("aR"),cx:s("bW"),jJ:s("hw"),bo:s("by"),e6:s("cj"),a5:s("hC"),n0:s("hD"),ax:s("hF"),es:s("hG"),cI:s("bz"),lS:s("ec"),x:s("bA"),ou:s("cn<~>"),ap:s("b6"),kg:s("a7"),oz:s("dc"),c6:s("dc"),bc:s("b8"),go:s("C"),g5:s("C"),c:s("C<@>"),g_:s("C"),D:s("C<~>"),ot:s("di"),lz:s("iE"),gL:s("eC"),my:s("a9"),ex:s("a9"),F:s("a9<~>"),y:s("bg"),iW:s("bg(r)"),i:s("N"),z:s("@"),mY:s("@()"),v:s("@(r)"),Q:s("@(r,aG)"),ha:s("@(j)"),p1:s("@(@,@)"),S:s("d"),eK:s("0&*"),_:s("r*"),g9:s("bn?"),k5:s("bd?"),iB:s("f?"),gK:s("I?"),ef:s("ay?"),kq:s("cK?"),lH:s("n<@>?"),kR:s("n?"),h9:s("J?"),X:s("r?"),fw:s("aG?"),nh:s("aR?"),R:s("bA?"),r:s("oc?"),lT:s("bB<@>?"),jV:s("b8?"),d:s("bC<@,@>?"),g:s("id?"),o:s("@(m)?"),I:s("d?"),e:s("~()?"),Y:s("~(m)?"),jM:s("~(by)?"),hC:s("~(d,j,d)?"),cZ:s("Z"),H:s("~"),M:s("~()"),i6:s("~(r)"),k:s("~(r,aG)"),bm:s("~(j,j)"),u:s("~(j,@)")}})();(function constants(){var s=hunkHelpers.makeConstList -B.r=A.bn.prototype -B.f=A.bd.prototype -B.W=A.dI.prototype -B.X=J.cM.prototype -B.a=J.M.prototype -B.c=J.dK.prototype -B.k=J.cO.prototype -B.b=J.bR.prototype -B.Y=J.bq.prototype -B.Z=J.a.prototype -B.a0=A.cf.prototype -B.G=A.dR.prototype -B.e=A.dT.prototype -B.h=A.dW.prototype -B.K=J.h1.prototype -B.t=J.bW.prototype -B.ai=new A.ju() -B.L=new A.f7() -B.M=new A.dE(A.aw("dE<0&>")) -B.N=new A.fD() -B.u=function getTagFallback(o) { - var s = Object.prototype.toString.call(o); - return s.substring(8, s.length - 1); -} -B.O=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.T=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.P=function(hooks) { - if (typeof dartExperimentalFixupGetTag != "function") return hooks; - hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); -} -B.S=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.R=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.Q=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.v=function(hooks) { return hooks; } - -B.U=new A.h0() -B.q=new A.ki() -B.j=new A.hz() -B.i=new A.li() -B.w=new A.hW() -B.x=new A.mL() -B.d=new A.iw() -B.V=new A.iM() -B.y=new A.bQ(0) -B.l=A.u(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) -B.m=A.u(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) -B.a_=A.u(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) -B.z=A.u(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) -B.n=A.u(s([0,0,32776,33792,1,10240,0,0]),t.t) -B.A=A.u(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) -B.B=A.u(s([]),t.s) -B.D=A.u(s([]),t.b) -B.C=A.u(s([]),A.aw("M")) -B.o=A.u(s(["files","blocks"]),t.s) -B.p=A.u(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) -B.H={} -B.E=new A.c6(B.H,[],A.aw("c6")) -B.F=new A.c6(B.H,[],A.aw("c6")) -B.I=new A.dX("readOnly") -B.a1=new A.dX("readWrite") -B.J=new A.dX("readWriteCreate") -B.a2=new A.d5("call") -B.a3=A.b_("nK") -B.a4=A.b_("p0") -B.a5=A.b_("rR") -B.a6=A.b_("rS") -B.a7=A.b_("rV") -B.a8=A.b_("rW") -B.a9=A.b_("rX") -B.aa=A.b_("k") -B.ab=A.b_("r") -B.ac=A.b_("o7") -B.ad=A.b_("tQ") -B.ae=A.b_("tR") -B.af=A.b_("aR") -B.ag=new A.eb(522) -B.ah=new A.iW(B.d,A.vp(),A.aw("iW<~(bA,oc,bA,~())>"))})();(function staticFields(){$.mH=null -$.aT=A.u([],A.aw("M")) -$.qP=null -$.pk=null -$.oZ=null -$.oY=null -$.qJ=null -$.qD=null -$.qQ=null -$.nm=null -$.nv=null -$.oD=null -$.mJ=A.u([],A.aw("M?>")) -$.dr=null -$.eS=null -$.eT=null -$.ov=!1 -$.E=B.d -$.pD=null -$.pE=null -$.pF=null -$.pG=null -$.od=A.ei("_lastQuoRemDigits") -$.oe=A.ei("_lastQuoRemUsed") -$.ef=A.ei("_lastRemUsed") -$.of=A.ei("_lastRem_nsh") -$.px="" -$.py=null -$.qB=null -$.qr=null -$.qH=A.W(t.S,A.aw("aP")) -$.ja=A.W(A.aw("j?"),A.aw("aP")) -$.qs=0 -$.nw=0 -$.aq=null -$.qT=A.W(t.N,t.X) -$.qA=null -$.eU="/shw2"})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy -s($,"w5","oI",()=>A.vA("_$dart_dartClosure")) -s($,"x9","nG",()=>B.d.cL(new A.nz(),A.aw("I"))) -s($,"wv","qZ",()=>A.bx(A.ld({ -toString:function(){return"$receiver$"}}))) -s($,"ww","r_",()=>A.bx(A.ld({$method$:null, -toString:function(){return"$receiver$"}}))) -s($,"wx","r0",()=>A.bx(A.ld(null))) -s($,"wy","r1",()=>A.bx(function(){var $argumentsExpr$="$arguments$" -try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) -s($,"wB","r4",()=>A.bx(A.ld(void 0))) -s($,"wC","r5",()=>A.bx(function(){var $argumentsExpr$="$arguments$" -try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) -s($,"wA","r3",()=>A.bx(A.pv(null))) -s($,"wz","r2",()=>A.bx(function(){try{null.$method$}catch(q){return q.message}}())) -s($,"wE","r7",()=>A.bx(A.pv(void 0))) -s($,"wD","r6",()=>A.bx(function(){try{(void 0).$method$}catch(q){return q.message}}())) -s($,"wG","oK",()=>A.tU()) -s($,"wa","eY",()=>A.aw("C").a($.nG())) -s($,"wR","re",()=>A.t8(4096)) -s($,"wP","rc",()=>new A.mY().$0()) -s($,"wQ","rd",()=>new A.mX().$0()) -s($,"wH","r8",()=>new Int8Array(A.uO(A.u([-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],t.t)))) -s($,"wM","bJ",()=>A.ly(0)) -s($,"wL","je",()=>A.ly(1)) -s($,"wJ","oM",()=>$.je().a6(0)) -s($,"wI","oL",()=>A.ly(1e4)) -r($,"wK","r9",()=>A.aU("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$",!1)) -s($,"wN","ra",()=>typeof FinalizationRegistry=="function"?FinalizationRegistry:null) -s($,"wO","rb",()=>typeof process!="undefined"&&Object.prototype.toString.call(process)=="[object process]"&&process.platform=="win32") -s($,"x2","nF",()=>A.oG(B.ab)) -s($,"x3","ri",()=>A.uN()) -s($,"wk","oJ",()=>{var q=new A.ia(new DataView(new ArrayBuffer(A.uK(8)))) -q.ex() -return q}) -s($,"xa","oP",()=>{var q=$.nE() -return new A.fh(q)}) -s($,"x6","oO",()=>new A.fh($.qX())) -s($,"wr","qY",()=>new A.h4(A.aU("/",!0),A.aU("[^/]$",!0),A.aU("^/",!0))) -s($,"wt","jd",()=>new A.hJ(A.aU("[/\\\\]",!0),A.aU("[^/\\\\]$",!0),A.aU("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])",!0),A.aU("^[/\\\\](?![/\\\\])",!0))) -s($,"ws","nE",()=>new A.hy(A.aU("/",!0),A.aU("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$",!0),A.aU("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*",!0),A.aU("^/",!0))) -s($,"wq","qX",()=>A.tO()) -s($,"x1","rh",()=>A.nS()) -r($,"wS","oN",()=>A.u([new A.b6("BigInt")],A.aw("M"))) -r($,"wT","rf",()=>{var q=$.oN() -q=A.t6(q,A.aa(q).c) -return q.hf(q,new A.n1(),t.N,t.ap)}) -r($,"x0","rg",()=>A.pz("sqlite3.wasm")) -s($,"x5","rk",()=>A.oW("-9223372036854775808")) -s($,"x4","rj",()=>A.oW("9223372036854775807")) -s($,"x8","jf",()=>{var q=$.ra() -q=q==null?null:new q(A.bH(A.vT(new A.nn(),t.m),1)) -return new A.i3(q,A.aw("i3"))}) -s($,"w6","qW",()=>new A.fu(new WeakMap(),A.aw("fu")))})();(function nativeSupport(){!function(){var s=function(a){var m={} -m[a]=1 -return Object.keys(hunkHelpers.convertToFastObject(m))[0]} -v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} -var r="___dart_isolate_tags_" -var q=Object[r]||(Object[r]=Object.create(null)) -var p="_ZxYxX" -for(var o=0;;o++){var n=s(p+"_"+o+"_") -if(!(n in q)){q[n]=1 -v.isolateTag=n -break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() -hunkHelpers.setOrUpdateInterceptorsByTag({WebGL:J.cM,AnimationEffectReadOnly:J.a,AnimationEffectTiming:J.a,AnimationEffectTimingReadOnly:J.a,AnimationTimeline:J.a,AnimationWorkletGlobalScope:J.a,AuthenticatorAssertionResponse:J.a,AuthenticatorAttestationResponse:J.a,AuthenticatorResponse:J.a,BackgroundFetchFetch:J.a,BackgroundFetchManager:J.a,BackgroundFetchSettledFetch:J.a,BarProp:J.a,BarcodeDetector:J.a,BluetoothRemoteGATTDescriptor:J.a,Body:J.a,BudgetState:J.a,CacheStorage:J.a,CanvasGradient:J.a,CanvasPattern:J.a,CanvasRenderingContext2D:J.a,Client:J.a,Clients:J.a,CookieStore:J.a,Coordinates:J.a,Credential:J.a,CredentialUserData:J.a,CredentialsContainer:J.a,Crypto:J.a,CryptoKey:J.a,CSS:J.a,CSSVariableReferenceValue:J.a,CustomElementRegistry:J.a,DataTransfer:J.a,DataTransferItem:J.a,DeprecatedStorageInfo:J.a,DeprecatedStorageQuota:J.a,DeprecationReport:J.a,DetectedBarcode:J.a,DetectedFace:J.a,DetectedText:J.a,DeviceAcceleration:J.a,DeviceRotationRate:J.a,DirectoryEntry:J.a,webkitFileSystemDirectoryEntry:J.a,FileSystemDirectoryEntry:J.a,DirectoryReader:J.a,WebKitDirectoryReader:J.a,webkitFileSystemDirectoryReader:J.a,FileSystemDirectoryReader:J.a,DocumentOrShadowRoot:J.a,DocumentTimeline:J.a,DOMError:J.a,DOMImplementation:J.a,Iterator:J.a,DOMMatrix:J.a,DOMMatrixReadOnly:J.a,DOMParser:J.a,DOMPoint:J.a,DOMPointReadOnly:J.a,DOMQuad:J.a,DOMStringMap:J.a,Entry:J.a,webkitFileSystemEntry:J.a,FileSystemEntry:J.a,External:J.a,FaceDetector:J.a,FederatedCredential:J.a,FileEntry:J.a,webkitFileSystemFileEntry:J.a,FileSystemFileEntry:J.a,DOMFileSystem:J.a,WebKitFileSystem:J.a,webkitFileSystem:J.a,FileSystem:J.a,FontFace:J.a,FontFaceSource:J.a,FormData:J.a,GamepadButton:J.a,GamepadPose:J.a,Geolocation:J.a,Position:J.a,GeolocationPosition:J.a,Headers:J.a,HTMLHyperlinkElementUtils:J.a,IdleDeadline:J.a,ImageBitmap:J.a,ImageBitmapRenderingContext:J.a,ImageCapture:J.a,InputDeviceCapabilities:J.a,IntersectionObserver:J.a,IntersectionObserverEntry:J.a,InterventionReport:J.a,KeyframeEffect:J.a,KeyframeEffectReadOnly:J.a,MediaCapabilities:J.a,MediaCapabilitiesInfo:J.a,MediaDeviceInfo:J.a,MediaError:J.a,MediaKeyStatusMap:J.a,MediaKeySystemAccess:J.a,MediaKeys:J.a,MediaKeysPolicy:J.a,MediaMetadata:J.a,MediaSession:J.a,MediaSettingsRange:J.a,MemoryInfo:J.a,MessageChannel:J.a,Metadata:J.a,MutationObserver:J.a,WebKitMutationObserver:J.a,MutationRecord:J.a,NavigationPreloadManager:J.a,Navigator:J.a,NavigatorAutomationInformation:J.a,NavigatorConcurrentHardware:J.a,NavigatorCookies:J.a,NavigatorUserMediaError:J.a,NodeFilter:J.a,NodeIterator:J.a,NonDocumentTypeChildNode:J.a,NonElementParentNode:J.a,NoncedElement:J.a,OffscreenCanvasRenderingContext2D:J.a,OverconstrainedError:J.a,PaintRenderingContext2D:J.a,PaintSize:J.a,PaintWorkletGlobalScope:J.a,PasswordCredential:J.a,Path2D:J.a,PaymentAddress:J.a,PaymentInstruments:J.a,PaymentManager:J.a,PaymentResponse:J.a,PerformanceEntry:J.a,PerformanceLongTaskTiming:J.a,PerformanceMark:J.a,PerformanceMeasure:J.a,PerformanceNavigation:J.a,PerformanceNavigationTiming:J.a,PerformanceObserver:J.a,PerformanceObserverEntryList:J.a,PerformancePaintTiming:J.a,PerformanceResourceTiming:J.a,PerformanceServerTiming:J.a,PerformanceTiming:J.a,Permissions:J.a,PhotoCapabilities:J.a,PositionError:J.a,GeolocationPositionError:J.a,Presentation:J.a,PresentationReceiver:J.a,PublicKeyCredential:J.a,PushManager:J.a,PushMessageData:J.a,PushSubscription:J.a,PushSubscriptionOptions:J.a,Range:J.a,RelatedApplication:J.a,ReportBody:J.a,ReportingObserver:J.a,ResizeObserver:J.a,ResizeObserverEntry:J.a,RTCCertificate:J.a,RTCIceCandidate:J.a,mozRTCIceCandidate:J.a,RTCLegacyStatsReport:J.a,RTCRtpContributingSource:J.a,RTCRtpReceiver:J.a,RTCRtpSender:J.a,RTCSessionDescription:J.a,mozRTCSessionDescription:J.a,RTCStatsResponse:J.a,Screen:J.a,ScrollState:J.a,ScrollTimeline:J.a,Selection:J.a,SpeechRecognitionAlternative:J.a,SpeechSynthesisVoice:J.a,StaticRange:J.a,StorageManager:J.a,StyleMedia:J.a,StylePropertyMap:J.a,StylePropertyMapReadonly:J.a,SyncManager:J.a,TaskAttributionTiming:J.a,TextDetector:J.a,TextMetrics:J.a,TrackDefault:J.a,TreeWalker:J.a,TrustedHTML:J.a,TrustedScriptURL:J.a,TrustedURL:J.a,UnderlyingSourceBase:J.a,URLSearchParams:J.a,VRCoordinateSystem:J.a,VRDisplayCapabilities:J.a,VREyeParameters:J.a,VRFrameData:J.a,VRFrameOfReference:J.a,VRPose:J.a,VRStageBounds:J.a,VRStageBoundsPoint:J.a,VRStageParameters:J.a,ValidityState:J.a,VideoPlaybackQuality:J.a,VideoTrack:J.a,VTTRegion:J.a,WindowClient:J.a,WorkletAnimation:J.a,WorkletGlobalScope:J.a,XPathEvaluator:J.a,XPathExpression:J.a,XPathNSResolver:J.a,XPathResult:J.a,XMLSerializer:J.a,XSLTProcessor:J.a,Bluetooth:J.a,BluetoothCharacteristicProperties:J.a,BluetoothRemoteGATTServer:J.a,BluetoothRemoteGATTService:J.a,BluetoothUUID:J.a,BudgetService:J.a,Cache:J.a,DOMFileSystemSync:J.a,DirectoryEntrySync:J.a,DirectoryReaderSync:J.a,EntrySync:J.a,FileEntrySync:J.a,FileReaderSync:J.a,FileWriterSync:J.a,HTMLAllCollection:J.a,Mojo:J.a,MojoHandle:J.a,MojoWatcher:J.a,NFC:J.a,PagePopupController:J.a,Report:J.a,Request:J.a,Response:J.a,SubtleCrypto:J.a,USBAlternateInterface:J.a,USBConfiguration:J.a,USBDevice:J.a,USBEndpoint:J.a,USBInTransferResult:J.a,USBInterface:J.a,USBIsochronousInTransferPacket:J.a,USBIsochronousInTransferResult:J.a,USBIsochronousOutTransferPacket:J.a,USBIsochronousOutTransferResult:J.a,USBOutTransferResult:J.a,WorkerLocation:J.a,WorkerNavigator:J.a,Worklet:J.a,IDBKeyRange:J.a,IDBObservation:J.a,IDBObserver:J.a,IDBObserverChanges:J.a,SVGAngle:J.a,SVGAnimatedAngle:J.a,SVGAnimatedBoolean:J.a,SVGAnimatedEnumeration:J.a,SVGAnimatedInteger:J.a,SVGAnimatedLength:J.a,SVGAnimatedLengthList:J.a,SVGAnimatedNumber:J.a,SVGAnimatedNumberList:J.a,SVGAnimatedPreserveAspectRatio:J.a,SVGAnimatedRect:J.a,SVGAnimatedString:J.a,SVGAnimatedTransformList:J.a,SVGMatrix:J.a,SVGPoint:J.a,SVGPreserveAspectRatio:J.a,SVGRect:J.a,SVGUnitTypes:J.a,AudioListener:J.a,AudioParam:J.a,AudioTrack:J.a,AudioWorkletGlobalScope:J.a,AudioWorkletProcessor:J.a,PeriodicWave:J.a,WebGLActiveInfo:J.a,ANGLEInstancedArrays:J.a,ANGLE_instanced_arrays:J.a,WebGLBuffer:J.a,WebGLCanvas:J.a,WebGLColorBufferFloat:J.a,WebGLCompressedTextureASTC:J.a,WebGLCompressedTextureATC:J.a,WEBGL_compressed_texture_atc:J.a,WebGLCompressedTextureETC1:J.a,WEBGL_compressed_texture_etc1:J.a,WebGLCompressedTextureETC:J.a,WebGLCompressedTexturePVRTC:J.a,WEBGL_compressed_texture_pvrtc:J.a,WebGLCompressedTextureS3TC:J.a,WEBGL_compressed_texture_s3tc:J.a,WebGLCompressedTextureS3TCsRGB:J.a,WebGLDebugRendererInfo:J.a,WEBGL_debug_renderer_info:J.a,WebGLDebugShaders:J.a,WEBGL_debug_shaders:J.a,WebGLDepthTexture:J.a,WEBGL_depth_texture:J.a,WebGLDrawBuffers:J.a,WEBGL_draw_buffers:J.a,EXTsRGB:J.a,EXT_sRGB:J.a,EXTBlendMinMax:J.a,EXT_blend_minmax:J.a,EXTColorBufferFloat:J.a,EXTColorBufferHalfFloat:J.a,EXTDisjointTimerQuery:J.a,EXTDisjointTimerQueryWebGL2:J.a,EXTFragDepth:J.a,EXT_frag_depth:J.a,EXTShaderTextureLOD:J.a,EXT_shader_texture_lod:J.a,EXTTextureFilterAnisotropic:J.a,EXT_texture_filter_anisotropic:J.a,WebGLFramebuffer:J.a,WebGLGetBufferSubDataAsync:J.a,WebGLLoseContext:J.a,WebGLExtensionLoseContext:J.a,WEBGL_lose_context:J.a,OESElementIndexUint:J.a,OES_element_index_uint:J.a,OESStandardDerivatives:J.a,OES_standard_derivatives:J.a,OESTextureFloat:J.a,OES_texture_float:J.a,OESTextureFloatLinear:J.a,OES_texture_float_linear:J.a,OESTextureHalfFloat:J.a,OES_texture_half_float:J.a,OESTextureHalfFloatLinear:J.a,OES_texture_half_float_linear:J.a,OESVertexArrayObject:J.a,OES_vertex_array_object:J.a,WebGLProgram:J.a,WebGLQuery:J.a,WebGLRenderbuffer:J.a,WebGLRenderingContext:J.a,WebGL2RenderingContext:J.a,WebGLSampler:J.a,WebGLShader:J.a,WebGLShaderPrecisionFormat:J.a,WebGLSync:J.a,WebGLTexture:J.a,WebGLTimerQueryEXT:J.a,WebGLTransformFeedback:J.a,WebGLUniformLocation:J.a,WebGLVertexArrayObject:J.a,WebGLVertexArrayObjectOES:J.a,WebGL2RenderingContextBase:J.a,ArrayBuffer:A.cW,ArrayBufferView:A.a6,DataView:A.dR,Float32Array:A.fQ,Float64Array:A.fR,Int16Array:A.fS,Int32Array:A.fT,Int8Array:A.fU,Uint16Array:A.fV,Uint32Array:A.fW,Uint8ClampedArray:A.dS,CanvasPixelArray:A.dS,Uint8Array:A.dT,HTMLAudioElement:A.q,HTMLBRElement:A.q,HTMLBaseElement:A.q,HTMLBodyElement:A.q,HTMLButtonElement:A.q,HTMLCanvasElement:A.q,HTMLContentElement:A.q,HTMLDListElement:A.q,HTMLDataElement:A.q,HTMLDataListElement:A.q,HTMLDetailsElement:A.q,HTMLDialogElement:A.q,HTMLDivElement:A.q,HTMLEmbedElement:A.q,HTMLFieldSetElement:A.q,HTMLHRElement:A.q,HTMLHeadElement:A.q,HTMLHeadingElement:A.q,HTMLHtmlElement:A.q,HTMLIFrameElement:A.q,HTMLImageElement:A.q,HTMLInputElement:A.q,HTMLLIElement:A.q,HTMLLabelElement:A.q,HTMLLegendElement:A.q,HTMLLinkElement:A.q,HTMLMapElement:A.q,HTMLMediaElement:A.q,HTMLMenuElement:A.q,HTMLMetaElement:A.q,HTMLMeterElement:A.q,HTMLModElement:A.q,HTMLOListElement:A.q,HTMLObjectElement:A.q,HTMLOptGroupElement:A.q,HTMLOptionElement:A.q,HTMLOutputElement:A.q,HTMLParagraphElement:A.q,HTMLParamElement:A.q,HTMLPictureElement:A.q,HTMLPreElement:A.q,HTMLProgressElement:A.q,HTMLQuoteElement:A.q,HTMLScriptElement:A.q,HTMLShadowElement:A.q,HTMLSlotElement:A.q,HTMLSourceElement:A.q,HTMLSpanElement:A.q,HTMLStyleElement:A.q,HTMLTableCaptionElement:A.q,HTMLTableCellElement:A.q,HTMLTableDataCellElement:A.q,HTMLTableHeaderCellElement:A.q,HTMLTableColElement:A.q,HTMLTableElement:A.q,HTMLTableRowElement:A.q,HTMLTableSectionElement:A.q,HTMLTemplateElement:A.q,HTMLTextAreaElement:A.q,HTMLTimeElement:A.q,HTMLTitleElement:A.q,HTMLTrackElement:A.q,HTMLUListElement:A.q,HTMLUnknownElement:A.q,HTMLVideoElement:A.q,HTMLDirectoryElement:A.q,HTMLFontElement:A.q,HTMLFrameElement:A.q,HTMLFrameSetElement:A.q,HTMLMarqueeElement:A.q,HTMLElement:A.q,AccessibleNodeList:A.f_,HTMLAnchorElement:A.f0,HTMLAreaElement:A.f1,Blob:A.bM,CDATASection:A.bc,CharacterData:A.bc,Comment:A.bc,ProcessingInstruction:A.bc,Text:A.bc,CSSPerspective:A.fj,CSSCharsetRule:A.P,CSSConditionRule:A.P,CSSFontFaceRule:A.P,CSSGroupingRule:A.P,CSSImportRule:A.P,CSSKeyframeRule:A.P,MozCSSKeyframeRule:A.P,WebKitCSSKeyframeRule:A.P,CSSKeyframesRule:A.P,MozCSSKeyframesRule:A.P,WebKitCSSKeyframesRule:A.P,CSSMediaRule:A.P,CSSNamespaceRule:A.P,CSSPageRule:A.P,CSSRule:A.P,CSSStyleRule:A.P,CSSSupportsRule:A.P,CSSViewportRule:A.P,CSSStyleDeclaration:A.cD,MSStyleCSSProperties:A.cD,CSS2Properties:A.cD,CSSImageValue:A.at,CSSKeywordValue:A.at,CSSNumericValue:A.at,CSSPositionValue:A.at,CSSResourceValue:A.at,CSSUnitValue:A.at,CSSURLImageValue:A.at,CSSStyleValue:A.at,CSSMatrixComponent:A.b1,CSSRotation:A.b1,CSSScale:A.b1,CSSSkew:A.b1,CSSTranslation:A.b1,CSSTransformComponent:A.b1,CSSTransformValue:A.fk,CSSUnparsedValue:A.fl,DataTransferItemList:A.fm,DOMException:A.fq,ClientRectList:A.dC,DOMRectList:A.dC,DOMRectReadOnly:A.dD,DOMStringList:A.fr,DOMTokenList:A.fs,MathMLElement:A.p,SVGAElement:A.p,SVGAnimateElement:A.p,SVGAnimateMotionElement:A.p,SVGAnimateTransformElement:A.p,SVGAnimationElement:A.p,SVGCircleElement:A.p,SVGClipPathElement:A.p,SVGDefsElement:A.p,SVGDescElement:A.p,SVGDiscardElement:A.p,SVGEllipseElement:A.p,SVGFEBlendElement:A.p,SVGFEColorMatrixElement:A.p,SVGFEComponentTransferElement:A.p,SVGFECompositeElement:A.p,SVGFEConvolveMatrixElement:A.p,SVGFEDiffuseLightingElement:A.p,SVGFEDisplacementMapElement:A.p,SVGFEDistantLightElement:A.p,SVGFEFloodElement:A.p,SVGFEFuncAElement:A.p,SVGFEFuncBElement:A.p,SVGFEFuncGElement:A.p,SVGFEFuncRElement:A.p,SVGFEGaussianBlurElement:A.p,SVGFEImageElement:A.p,SVGFEMergeElement:A.p,SVGFEMergeNodeElement:A.p,SVGFEMorphologyElement:A.p,SVGFEOffsetElement:A.p,SVGFEPointLightElement:A.p,SVGFESpecularLightingElement:A.p,SVGFESpotLightElement:A.p,SVGFETileElement:A.p,SVGFETurbulenceElement:A.p,SVGFilterElement:A.p,SVGForeignObjectElement:A.p,SVGGElement:A.p,SVGGeometryElement:A.p,SVGGraphicsElement:A.p,SVGImageElement:A.p,SVGLineElement:A.p,SVGLinearGradientElement:A.p,SVGMarkerElement:A.p,SVGMaskElement:A.p,SVGMetadataElement:A.p,SVGPathElement:A.p,SVGPatternElement:A.p,SVGPolygonElement:A.p,SVGPolylineElement:A.p,SVGRadialGradientElement:A.p,SVGRectElement:A.p,SVGScriptElement:A.p,SVGSetElement:A.p,SVGStopElement:A.p,SVGStyleElement:A.p,SVGElement:A.p,SVGSVGElement:A.p,SVGSwitchElement:A.p,SVGSymbolElement:A.p,SVGTSpanElement:A.p,SVGTextContentElement:A.p,SVGTextElement:A.p,SVGTextPathElement:A.p,SVGTextPositioningElement:A.p,SVGTitleElement:A.p,SVGUseElement:A.p,SVGViewElement:A.p,SVGGradientElement:A.p,SVGComponentTransferFunctionElement:A.p,SVGFEDropShadowElement:A.p,SVGMPathElement:A.p,Element:A.p,AbortPaymentEvent:A.m,AnimationEvent:A.m,AnimationPlaybackEvent:A.m,ApplicationCacheErrorEvent:A.m,BackgroundFetchClickEvent:A.m,BackgroundFetchEvent:A.m,BackgroundFetchFailEvent:A.m,BackgroundFetchedEvent:A.m,BeforeInstallPromptEvent:A.m,BeforeUnloadEvent:A.m,BlobEvent:A.m,CanMakePaymentEvent:A.m,ClipboardEvent:A.m,CloseEvent:A.m,CompositionEvent:A.m,CustomEvent:A.m,DeviceMotionEvent:A.m,DeviceOrientationEvent:A.m,ErrorEvent:A.m,ExtendableEvent:A.m,ExtendableMessageEvent:A.m,FetchEvent:A.m,FocusEvent:A.m,FontFaceSetLoadEvent:A.m,ForeignFetchEvent:A.m,GamepadEvent:A.m,HashChangeEvent:A.m,InstallEvent:A.m,KeyboardEvent:A.m,MediaEncryptedEvent:A.m,MediaKeyMessageEvent:A.m,MediaQueryListEvent:A.m,MediaStreamEvent:A.m,MediaStreamTrackEvent:A.m,MIDIConnectionEvent:A.m,MIDIMessageEvent:A.m,MouseEvent:A.m,DragEvent:A.m,MutationEvent:A.m,NotificationEvent:A.m,PageTransitionEvent:A.m,PaymentRequestEvent:A.m,PaymentRequestUpdateEvent:A.m,PointerEvent:A.m,PopStateEvent:A.m,PresentationConnectionAvailableEvent:A.m,PresentationConnectionCloseEvent:A.m,ProgressEvent:A.m,PromiseRejectionEvent:A.m,PushEvent:A.m,RTCDataChannelEvent:A.m,RTCDTMFToneChangeEvent:A.m,RTCPeerConnectionIceEvent:A.m,RTCTrackEvent:A.m,SecurityPolicyViolationEvent:A.m,SensorErrorEvent:A.m,SpeechRecognitionError:A.m,SpeechRecognitionEvent:A.m,SpeechSynthesisEvent:A.m,StorageEvent:A.m,SyncEvent:A.m,TextEvent:A.m,TouchEvent:A.m,TrackEvent:A.m,TransitionEvent:A.m,WebKitTransitionEvent:A.m,UIEvent:A.m,VRDeviceEvent:A.m,VRDisplayEvent:A.m,VRSessionEvent:A.m,WheelEvent:A.m,MojoInterfaceRequestEvent:A.m,ResourceProgressEvent:A.m,USBConnectionEvent:A.m,AudioProcessingEvent:A.m,OfflineAudioCompletionEvent:A.m,WebGLContextEvent:A.m,Event:A.m,InputEvent:A.m,SubmitEvent:A.m,AbsoluteOrientationSensor:A.f,Accelerometer:A.f,AccessibleNode:A.f,AmbientLightSensor:A.f,Animation:A.f,ApplicationCache:A.f,DOMApplicationCache:A.f,OfflineResourceList:A.f,BackgroundFetchRegistration:A.f,BatteryManager:A.f,BroadcastChannel:A.f,CanvasCaptureMediaStreamTrack:A.f,EventSource:A.f,FileReader:A.f,FontFaceSet:A.f,Gyroscope:A.f,XMLHttpRequest:A.f,XMLHttpRequestEventTarget:A.f,XMLHttpRequestUpload:A.f,LinearAccelerationSensor:A.f,Magnetometer:A.f,MediaDevices:A.f,MediaKeySession:A.f,MediaQueryList:A.f,MediaRecorder:A.f,MediaSource:A.f,MediaStream:A.f,MediaStreamTrack:A.f,MIDIAccess:A.f,MIDIInput:A.f,MIDIOutput:A.f,MIDIPort:A.f,NetworkInformation:A.f,Notification:A.f,OffscreenCanvas:A.f,OrientationSensor:A.f,PaymentRequest:A.f,Performance:A.f,PermissionStatus:A.f,PresentationAvailability:A.f,PresentationConnection:A.f,PresentationConnectionList:A.f,PresentationRequest:A.f,RelativeOrientationSensor:A.f,RemotePlayback:A.f,RTCDataChannel:A.f,DataChannel:A.f,RTCDTMFSender:A.f,RTCPeerConnection:A.f,webkitRTCPeerConnection:A.f,mozRTCPeerConnection:A.f,ScreenOrientation:A.f,Sensor:A.f,ServiceWorker:A.f,ServiceWorkerContainer:A.f,ServiceWorkerRegistration:A.f,SharedWorker:A.f,SpeechRecognition:A.f,webkitSpeechRecognition:A.f,SpeechSynthesis:A.f,SpeechSynthesisUtterance:A.f,VR:A.f,VRDevice:A.f,VRDisplay:A.f,VRSession:A.f,VisualViewport:A.f,WebSocket:A.f,Window:A.f,DOMWindow:A.f,Worker:A.f,WorkerPerformance:A.f,BluetoothDevice:A.f,BluetoothRemoteGATTCharacteristic:A.f,Clipboard:A.f,MojoInterfaceInterceptor:A.f,USB:A.f,AnalyserNode:A.f,RealtimeAnalyserNode:A.f,AudioBufferSourceNode:A.f,AudioDestinationNode:A.f,AudioNode:A.f,AudioScheduledSourceNode:A.f,AudioWorkletNode:A.f,BiquadFilterNode:A.f,ChannelMergerNode:A.f,AudioChannelMerger:A.f,ChannelSplitterNode:A.f,AudioChannelSplitter:A.f,ConstantSourceNode:A.f,ConvolverNode:A.f,DelayNode:A.f,DynamicsCompressorNode:A.f,GainNode:A.f,AudioGainNode:A.f,IIRFilterNode:A.f,MediaElementAudioSourceNode:A.f,MediaStreamAudioDestinationNode:A.f,MediaStreamAudioSourceNode:A.f,OscillatorNode:A.f,Oscillator:A.f,PannerNode:A.f,AudioPannerNode:A.f,webkitAudioPannerNode:A.f,ScriptProcessorNode:A.f,JavaScriptAudioNode:A.f,StereoPannerNode:A.f,WaveShaperNode:A.f,EventTarget:A.f,File:A.ax,FileList:A.cH,FileWriter:A.fw,HTMLFormElement:A.fy,Gamepad:A.ay,History:A.fz,HTMLCollection:A.cb,HTMLFormControlsCollection:A.cb,HTMLOptionsCollection:A.cb,ImageData:A.cL,Location:A.fK,MediaList:A.fM,MessageEvent:A.cV,MessagePort:A.cf,MIDIInputMap:A.fN,MIDIOutputMap:A.fO,MimeType:A.aA,MimeTypeArray:A.fP,Document:A.H,DocumentFragment:A.H,HTMLDocument:A.H,ShadowRoot:A.H,XMLDocument:A.H,Attr:A.H,DocumentType:A.H,Node:A.H,NodeList:A.dU,RadioNodeList:A.dU,Plugin:A.aB,PluginArray:A.h2,RTCStatsReport:A.h8,HTMLSelectElement:A.ha,SharedArrayBuffer:A.cZ,SharedWorkerGlobalScope:A.d_,SourceBuffer:A.aD,SourceBufferList:A.hb,SpeechGrammar:A.aE,SpeechGrammarList:A.hc,SpeechRecognitionResult:A.aF,Storage:A.hi,CSSStyleSheet:A.ao,StyleSheet:A.ao,TextTrack:A.aH,TextTrackCue:A.ap,VTTCue:A.ap,TextTrackCueList:A.hl,TextTrackList:A.hm,TimeRanges:A.hn,Touch:A.aI,TouchList:A.ho,TrackDefaultList:A.hp,URL:A.hx,VideoTrackList:A.hB,DedicatedWorkerGlobalScope:A.bY,ServiceWorkerGlobalScope:A.bY,WorkerGlobalScope:A.bY,CSSRuleList:A.hS,ClientRect:A.ek,DOMRect:A.ek,GamepadList:A.i5,NamedNodeMap:A.et,MozNamedAttrMap:A.et,SpeechRecognitionResultList:A.iD,StyleSheetList:A.iN,IDBCursor:A.bO,IDBCursorWithValue:A.bn,IDBDatabase:A.bd,IDBFactory:A.cK,IDBIndex:A.dI,IDBObjectStore:A.dW,IDBOpenDBRequest:A.bs,IDBVersionChangeRequest:A.bs,IDBRequest:A.bs,IDBTransaction:A.e9,IDBVersionChangeEvent:A.by,SVGLength:A.aL,SVGLengthList:A.fI,SVGNumber:A.aN,SVGNumberList:A.fZ,SVGPointList:A.h3,SVGStringList:A.hj,SVGTransform:A.aQ,SVGTransformList:A.hq,AudioBuffer:A.f4,AudioParamMap:A.f5,AudioTrackList:A.f6,AudioContext:A.bL,webkitAudioContext:A.bL,BaseAudioContext:A.bL,OfflineAudioContext:A.h_}) -hunkHelpers.setOrUpdateLeafTags({WebGL:true,AnimationEffectReadOnly:true,AnimationEffectTiming:true,AnimationEffectTimingReadOnly:true,AnimationTimeline:true,AnimationWorkletGlobalScope:true,AuthenticatorAssertionResponse:true,AuthenticatorAttestationResponse:true,AuthenticatorResponse:true,BackgroundFetchFetch:true,BackgroundFetchManager:true,BackgroundFetchSettledFetch:true,BarProp:true,BarcodeDetector:true,BluetoothRemoteGATTDescriptor:true,Body:true,BudgetState:true,CacheStorage:true,CanvasGradient:true,CanvasPattern:true,CanvasRenderingContext2D:true,Client:true,Clients:true,CookieStore:true,Coordinates:true,Credential:true,CredentialUserData:true,CredentialsContainer:true,Crypto:true,CryptoKey:true,CSS:true,CSSVariableReferenceValue:true,CustomElementRegistry:true,DataTransfer:true,DataTransferItem:true,DeprecatedStorageInfo:true,DeprecatedStorageQuota:true,DeprecationReport:true,DetectedBarcode:true,DetectedFace:true,DetectedText:true,DeviceAcceleration:true,DeviceRotationRate:true,DirectoryEntry:true,webkitFileSystemDirectoryEntry:true,FileSystemDirectoryEntry:true,DirectoryReader:true,WebKitDirectoryReader:true,webkitFileSystemDirectoryReader:true,FileSystemDirectoryReader:true,DocumentOrShadowRoot:true,DocumentTimeline:true,DOMError:true,DOMImplementation:true,Iterator:true,DOMMatrix:true,DOMMatrixReadOnly:true,DOMParser:true,DOMPoint:true,DOMPointReadOnly:true,DOMQuad:true,DOMStringMap:true,Entry:true,webkitFileSystemEntry:true,FileSystemEntry:true,External:true,FaceDetector:true,FederatedCredential:true,FileEntry:true,webkitFileSystemFileEntry:true,FileSystemFileEntry:true,DOMFileSystem:true,WebKitFileSystem:true,webkitFileSystem:true,FileSystem:true,FontFace:true,FontFaceSource:true,FormData:true,GamepadButton:true,GamepadPose:true,Geolocation:true,Position:true,GeolocationPosition:true,Headers:true,HTMLHyperlinkElementUtils:true,IdleDeadline:true,ImageBitmap:true,ImageBitmapRenderingContext:true,ImageCapture:true,InputDeviceCapabilities:true,IntersectionObserver:true,IntersectionObserverEntry:true,InterventionReport:true,KeyframeEffect:true,KeyframeEffectReadOnly:true,MediaCapabilities:true,MediaCapabilitiesInfo:true,MediaDeviceInfo:true,MediaError:true,MediaKeyStatusMap:true,MediaKeySystemAccess:true,MediaKeys:true,MediaKeysPolicy:true,MediaMetadata:true,MediaSession:true,MediaSettingsRange:true,MemoryInfo:true,MessageChannel:true,Metadata:true,MutationObserver:true,WebKitMutationObserver:true,MutationRecord:true,NavigationPreloadManager:true,Navigator:true,NavigatorAutomationInformation:true,NavigatorConcurrentHardware:true,NavigatorCookies:true,NavigatorUserMediaError:true,NodeFilter:true,NodeIterator:true,NonDocumentTypeChildNode:true,NonElementParentNode:true,NoncedElement:true,OffscreenCanvasRenderingContext2D:true,OverconstrainedError:true,PaintRenderingContext2D:true,PaintSize:true,PaintWorkletGlobalScope:true,PasswordCredential:true,Path2D:true,PaymentAddress:true,PaymentInstruments:true,PaymentManager:true,PaymentResponse:true,PerformanceEntry:true,PerformanceLongTaskTiming:true,PerformanceMark:true,PerformanceMeasure:true,PerformanceNavigation:true,PerformanceNavigationTiming:true,PerformanceObserver:true,PerformanceObserverEntryList:true,PerformancePaintTiming:true,PerformanceResourceTiming:true,PerformanceServerTiming:true,PerformanceTiming:true,Permissions:true,PhotoCapabilities:true,PositionError:true,GeolocationPositionError:true,Presentation:true,PresentationReceiver:true,PublicKeyCredential:true,PushManager:true,PushMessageData:true,PushSubscription:true,PushSubscriptionOptions:true,Range:true,RelatedApplication:true,ReportBody:true,ReportingObserver:true,ResizeObserver:true,ResizeObserverEntry:true,RTCCertificate:true,RTCIceCandidate:true,mozRTCIceCandidate:true,RTCLegacyStatsReport:true,RTCRtpContributingSource:true,RTCRtpReceiver:true,RTCRtpSender:true,RTCSessionDescription:true,mozRTCSessionDescription:true,RTCStatsResponse:true,Screen:true,ScrollState:true,ScrollTimeline:true,Selection:true,SpeechRecognitionAlternative:true,SpeechSynthesisVoice:true,StaticRange:true,StorageManager:true,StyleMedia:true,StylePropertyMap:true,StylePropertyMapReadonly:true,SyncManager:true,TaskAttributionTiming:true,TextDetector:true,TextMetrics:true,TrackDefault:true,TreeWalker:true,TrustedHTML:true,TrustedScriptURL:true,TrustedURL:true,UnderlyingSourceBase:true,URLSearchParams:true,VRCoordinateSystem:true,VRDisplayCapabilities:true,VREyeParameters:true,VRFrameData:true,VRFrameOfReference:true,VRPose:true,VRStageBounds:true,VRStageBoundsPoint:true,VRStageParameters:true,ValidityState:true,VideoPlaybackQuality:true,VideoTrack:true,VTTRegion:true,WindowClient:true,WorkletAnimation:true,WorkletGlobalScope:true,XPathEvaluator:true,XPathExpression:true,XPathNSResolver:true,XPathResult:true,XMLSerializer:true,XSLTProcessor:true,Bluetooth:true,BluetoothCharacteristicProperties:true,BluetoothRemoteGATTServer:true,BluetoothRemoteGATTService:true,BluetoothUUID:true,BudgetService:true,Cache:true,DOMFileSystemSync:true,DirectoryEntrySync:true,DirectoryReaderSync:true,EntrySync:true,FileEntrySync:true,FileReaderSync:true,FileWriterSync:true,HTMLAllCollection:true,Mojo:true,MojoHandle:true,MojoWatcher:true,NFC:true,PagePopupController:true,Report:true,Request:true,Response:true,SubtleCrypto:true,USBAlternateInterface:true,USBConfiguration:true,USBDevice:true,USBEndpoint:true,USBInTransferResult:true,USBInterface:true,USBIsochronousInTransferPacket:true,USBIsochronousInTransferResult:true,USBIsochronousOutTransferPacket:true,USBIsochronousOutTransferResult:true,USBOutTransferResult:true,WorkerLocation:true,WorkerNavigator:true,Worklet:true,IDBKeyRange:true,IDBObservation:true,IDBObserver:true,IDBObserverChanges:true,SVGAngle:true,SVGAnimatedAngle:true,SVGAnimatedBoolean:true,SVGAnimatedEnumeration:true,SVGAnimatedInteger:true,SVGAnimatedLength:true,SVGAnimatedLengthList:true,SVGAnimatedNumber:true,SVGAnimatedNumberList:true,SVGAnimatedPreserveAspectRatio:true,SVGAnimatedRect:true,SVGAnimatedString:true,SVGAnimatedTransformList:true,SVGMatrix:true,SVGPoint:true,SVGPreserveAspectRatio:true,SVGRect:true,SVGUnitTypes:true,AudioListener:true,AudioParam:true,AudioTrack:true,AudioWorkletGlobalScope:true,AudioWorkletProcessor:true,PeriodicWave:true,WebGLActiveInfo:true,ANGLEInstancedArrays:true,ANGLE_instanced_arrays:true,WebGLBuffer:true,WebGLCanvas:true,WebGLColorBufferFloat:true,WebGLCompressedTextureASTC:true,WebGLCompressedTextureATC:true,WEBGL_compressed_texture_atc:true,WebGLCompressedTextureETC1:true,WEBGL_compressed_texture_etc1:true,WebGLCompressedTextureETC:true,WebGLCompressedTexturePVRTC:true,WEBGL_compressed_texture_pvrtc:true,WebGLCompressedTextureS3TC:true,WEBGL_compressed_texture_s3tc:true,WebGLCompressedTextureS3TCsRGB:true,WebGLDebugRendererInfo:true,WEBGL_debug_renderer_info:true,WebGLDebugShaders:true,WEBGL_debug_shaders:true,WebGLDepthTexture:true,WEBGL_depth_texture:true,WebGLDrawBuffers:true,WEBGL_draw_buffers:true,EXTsRGB:true,EXT_sRGB:true,EXTBlendMinMax:true,EXT_blend_minmax:true,EXTColorBufferFloat:true,EXTColorBufferHalfFloat:true,EXTDisjointTimerQuery:true,EXTDisjointTimerQueryWebGL2:true,EXTFragDepth:true,EXT_frag_depth:true,EXTShaderTextureLOD:true,EXT_shader_texture_lod:true,EXTTextureFilterAnisotropic:true,EXT_texture_filter_anisotropic:true,WebGLFramebuffer:true,WebGLGetBufferSubDataAsync:true,WebGLLoseContext:true,WebGLExtensionLoseContext:true,WEBGL_lose_context:true,OESElementIndexUint:true,OES_element_index_uint:true,OESStandardDerivatives:true,OES_standard_derivatives:true,OESTextureFloat:true,OES_texture_float:true,OESTextureFloatLinear:true,OES_texture_float_linear:true,OESTextureHalfFloat:true,OES_texture_half_float:true,OESTextureHalfFloatLinear:true,OES_texture_half_float_linear:true,OESVertexArrayObject:true,OES_vertex_array_object:true,WebGLProgram:true,WebGLQuery:true,WebGLRenderbuffer:true,WebGLRenderingContext:true,WebGL2RenderingContext:true,WebGLSampler:true,WebGLShader:true,WebGLShaderPrecisionFormat:true,WebGLSync:true,WebGLTexture:true,WebGLTimerQueryEXT:true,WebGLTransformFeedback:true,WebGLUniformLocation:true,WebGLVertexArrayObject:true,WebGLVertexArrayObjectOES:true,WebGL2RenderingContextBase:true,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,HTMLAudioElement:true,HTMLBRElement:true,HTMLBaseElement:true,HTMLBodyElement:true,HTMLButtonElement:true,HTMLCanvasElement:true,HTMLContentElement:true,HTMLDListElement:true,HTMLDataElement:true,HTMLDataListElement:true,HTMLDetailsElement:true,HTMLDialogElement:true,HTMLDivElement:true,HTMLEmbedElement:true,HTMLFieldSetElement:true,HTMLHRElement:true,HTMLHeadElement:true,HTMLHeadingElement:true,HTMLHtmlElement:true,HTMLIFrameElement:true,HTMLImageElement:true,HTMLInputElement:true,HTMLLIElement:true,HTMLLabelElement:true,HTMLLegendElement:true,HTMLLinkElement:true,HTMLMapElement:true,HTMLMediaElement:true,HTMLMenuElement:true,HTMLMetaElement:true,HTMLMeterElement:true,HTMLModElement:true,HTMLOListElement:true,HTMLObjectElement:true,HTMLOptGroupElement:true,HTMLOptionElement:true,HTMLOutputElement:true,HTMLParagraphElement:true,HTMLParamElement:true,HTMLPictureElement:true,HTMLPreElement:true,HTMLProgressElement:true,HTMLQuoteElement:true,HTMLScriptElement:true,HTMLShadowElement:true,HTMLSlotElement:true,HTMLSourceElement:true,HTMLSpanElement:true,HTMLStyleElement:true,HTMLTableCaptionElement:true,HTMLTableCellElement:true,HTMLTableDataCellElement:true,HTMLTableHeaderCellElement:true,HTMLTableColElement:true,HTMLTableElement:true,HTMLTableRowElement:true,HTMLTableSectionElement:true,HTMLTemplateElement:true,HTMLTextAreaElement:true,HTMLTimeElement:true,HTMLTitleElement:true,HTMLTrackElement:true,HTMLUListElement:true,HTMLUnknownElement:true,HTMLVideoElement:true,HTMLDirectoryElement:true,HTMLFontElement:true,HTMLFrameElement:true,HTMLFrameSetElement:true,HTMLMarqueeElement:true,HTMLElement:false,AccessibleNodeList:true,HTMLAnchorElement:true,HTMLAreaElement:true,Blob:false,CDATASection:true,CharacterData:true,Comment:true,ProcessingInstruction:true,Text:true,CSSPerspective:true,CSSCharsetRule:true,CSSConditionRule:true,CSSFontFaceRule:true,CSSGroupingRule:true,CSSImportRule:true,CSSKeyframeRule:true,MozCSSKeyframeRule:true,WebKitCSSKeyframeRule:true,CSSKeyframesRule:true,MozCSSKeyframesRule:true,WebKitCSSKeyframesRule:true,CSSMediaRule:true,CSSNamespaceRule:true,CSSPageRule:true,CSSRule:true,CSSStyleRule:true,CSSSupportsRule:true,CSSViewportRule:true,CSSStyleDeclaration:true,MSStyleCSSProperties:true,CSS2Properties:true,CSSImageValue:true,CSSKeywordValue:true,CSSNumericValue:true,CSSPositionValue:true,CSSResourceValue:true,CSSUnitValue:true,CSSURLImageValue:true,CSSStyleValue:false,CSSMatrixComponent:true,CSSRotation:true,CSSScale:true,CSSSkew:true,CSSTranslation:true,CSSTransformComponent:false,CSSTransformValue:true,CSSUnparsedValue:true,DataTransferItemList:true,DOMException:true,ClientRectList:true,DOMRectList:true,DOMRectReadOnly:false,DOMStringList:true,DOMTokenList:true,MathMLElement:true,SVGAElement:true,SVGAnimateElement:true,SVGAnimateMotionElement:true,SVGAnimateTransformElement:true,SVGAnimationElement:true,SVGCircleElement:true,SVGClipPathElement:true,SVGDefsElement:true,SVGDescElement:true,SVGDiscardElement:true,SVGEllipseElement:true,SVGFEBlendElement:true,SVGFEColorMatrixElement:true,SVGFEComponentTransferElement:true,SVGFECompositeElement:true,SVGFEConvolveMatrixElement:true,SVGFEDiffuseLightingElement:true,SVGFEDisplacementMapElement:true,SVGFEDistantLightElement:true,SVGFEFloodElement:true,SVGFEFuncAElement:true,SVGFEFuncBElement:true,SVGFEFuncGElement:true,SVGFEFuncRElement:true,SVGFEGaussianBlurElement:true,SVGFEImageElement:true,SVGFEMergeElement:true,SVGFEMergeNodeElement:true,SVGFEMorphologyElement:true,SVGFEOffsetElement:true,SVGFEPointLightElement:true,SVGFESpecularLightingElement:true,SVGFESpotLightElement:true,SVGFETileElement:true,SVGFETurbulenceElement:true,SVGFilterElement:true,SVGForeignObjectElement:true,SVGGElement:true,SVGGeometryElement:true,SVGGraphicsElement:true,SVGImageElement:true,SVGLineElement:true,SVGLinearGradientElement:true,SVGMarkerElement:true,SVGMaskElement:true,SVGMetadataElement:true,SVGPathElement:true,SVGPatternElement:true,SVGPolygonElement:true,SVGPolylineElement:true,SVGRadialGradientElement:true,SVGRectElement:true,SVGScriptElement:true,SVGSetElement:true,SVGStopElement:true,SVGStyleElement:true,SVGElement:true,SVGSVGElement:true,SVGSwitchElement:true,SVGSymbolElement:true,SVGTSpanElement:true,SVGTextContentElement:true,SVGTextElement:true,SVGTextPathElement:true,SVGTextPositioningElement:true,SVGTitleElement:true,SVGUseElement:true,SVGViewElement:true,SVGGradientElement:true,SVGComponentTransferFunctionElement:true,SVGFEDropShadowElement:true,SVGMPathElement:true,Element:false,AbortPaymentEvent:true,AnimationEvent:true,AnimationPlaybackEvent:true,ApplicationCacheErrorEvent:true,BackgroundFetchClickEvent:true,BackgroundFetchEvent:true,BackgroundFetchFailEvent:true,BackgroundFetchedEvent:true,BeforeInstallPromptEvent:true,BeforeUnloadEvent:true,BlobEvent:true,CanMakePaymentEvent:true,ClipboardEvent:true,CloseEvent:true,CompositionEvent:true,CustomEvent:true,DeviceMotionEvent:true,DeviceOrientationEvent:true,ErrorEvent:true,ExtendableEvent:true,ExtendableMessageEvent:true,FetchEvent:true,FocusEvent:true,FontFaceSetLoadEvent:true,ForeignFetchEvent:true,GamepadEvent:true,HashChangeEvent:true,InstallEvent:true,KeyboardEvent:true,MediaEncryptedEvent:true,MediaKeyMessageEvent:true,MediaQueryListEvent:true,MediaStreamEvent:true,MediaStreamTrackEvent:true,MIDIConnectionEvent:true,MIDIMessageEvent:true,MouseEvent:true,DragEvent:true,MutationEvent:true,NotificationEvent:true,PageTransitionEvent:true,PaymentRequestEvent:true,PaymentRequestUpdateEvent:true,PointerEvent:true,PopStateEvent:true,PresentationConnectionAvailableEvent:true,PresentationConnectionCloseEvent:true,ProgressEvent:true,PromiseRejectionEvent:true,PushEvent:true,RTCDataChannelEvent:true,RTCDTMFToneChangeEvent:true,RTCPeerConnectionIceEvent:true,RTCTrackEvent:true,SecurityPolicyViolationEvent:true,SensorErrorEvent:true,SpeechRecognitionError:true,SpeechRecognitionEvent:true,SpeechSynthesisEvent:true,StorageEvent:true,SyncEvent:true,TextEvent:true,TouchEvent:true,TrackEvent:true,TransitionEvent:true,WebKitTransitionEvent:true,UIEvent:true,VRDeviceEvent:true,VRDisplayEvent:true,VRSessionEvent:true,WheelEvent:true,MojoInterfaceRequestEvent:true,ResourceProgressEvent:true,USBConnectionEvent:true,AudioProcessingEvent:true,OfflineAudioCompletionEvent:true,WebGLContextEvent:true,Event:false,InputEvent:false,SubmitEvent:false,AbsoluteOrientationSensor:true,Accelerometer:true,AccessibleNode:true,AmbientLightSensor:true,Animation:true,ApplicationCache:true,DOMApplicationCache:true,OfflineResourceList:true,BackgroundFetchRegistration:true,BatteryManager:true,BroadcastChannel:true,CanvasCaptureMediaStreamTrack:true,EventSource:true,FileReader:true,FontFaceSet:true,Gyroscope:true,XMLHttpRequest:true,XMLHttpRequestEventTarget:true,XMLHttpRequestUpload:true,LinearAccelerationSensor:true,Magnetometer:true,MediaDevices:true,MediaKeySession:true,MediaQueryList:true,MediaRecorder:true,MediaSource:true,MediaStream:true,MediaStreamTrack:true,MIDIAccess:true,MIDIInput:true,MIDIOutput:true,MIDIPort:true,NetworkInformation:true,Notification:true,OffscreenCanvas:true,OrientationSensor:true,PaymentRequest:true,Performance:true,PermissionStatus:true,PresentationAvailability:true,PresentationConnection:true,PresentationConnectionList:true,PresentationRequest:true,RelativeOrientationSensor:true,RemotePlayback:true,RTCDataChannel:true,DataChannel:true,RTCDTMFSender:true,RTCPeerConnection:true,webkitRTCPeerConnection:true,mozRTCPeerConnection:true,ScreenOrientation:true,Sensor:true,ServiceWorker:true,ServiceWorkerContainer:true,ServiceWorkerRegistration:true,SharedWorker:true,SpeechRecognition:true,webkitSpeechRecognition:true,SpeechSynthesis:true,SpeechSynthesisUtterance:true,VR:true,VRDevice:true,VRDisplay:true,VRSession:true,VisualViewport:true,WebSocket:true,Window:true,DOMWindow:true,Worker:true,WorkerPerformance:true,BluetoothDevice:true,BluetoothRemoteGATTCharacteristic:true,Clipboard:true,MojoInterfaceInterceptor:true,USB:true,AnalyserNode:true,RealtimeAnalyserNode:true,AudioBufferSourceNode:true,AudioDestinationNode:true,AudioNode:true,AudioScheduledSourceNode:true,AudioWorkletNode:true,BiquadFilterNode:true,ChannelMergerNode:true,AudioChannelMerger:true,ChannelSplitterNode:true,AudioChannelSplitter:true,ConstantSourceNode:true,ConvolverNode:true,DelayNode:true,DynamicsCompressorNode:true,GainNode:true,AudioGainNode:true,IIRFilterNode:true,MediaElementAudioSourceNode:true,MediaStreamAudioDestinationNode:true,MediaStreamAudioSourceNode:true,OscillatorNode:true,Oscillator:true,PannerNode:true,AudioPannerNode:true,webkitAudioPannerNode:true,ScriptProcessorNode:true,JavaScriptAudioNode:true,StereoPannerNode:true,WaveShaperNode:true,EventTarget:false,File:true,FileList:true,FileWriter:true,HTMLFormElement:true,Gamepad:true,History:true,HTMLCollection:true,HTMLFormControlsCollection:true,HTMLOptionsCollection:true,ImageData:true,Location:true,MediaList:true,MessageEvent:true,MessagePort:true,MIDIInputMap:true,MIDIOutputMap:true,MimeType:true,MimeTypeArray:true,Document:true,DocumentFragment:true,HTMLDocument:true,ShadowRoot:true,XMLDocument:true,Attr:true,DocumentType:true,Node:false,NodeList:true,RadioNodeList:true,Plugin:true,PluginArray:true,RTCStatsReport:true,HTMLSelectElement:true,SharedArrayBuffer:true,SharedWorkerGlobalScope:true,SourceBuffer:true,SourceBufferList:true,SpeechGrammar:true,SpeechGrammarList:true,SpeechRecognitionResult:true,Storage:true,CSSStyleSheet:true,StyleSheet:true,TextTrack:true,TextTrackCue:true,VTTCue:true,TextTrackCueList:true,TextTrackList:true,TimeRanges:true,Touch:true,TouchList:true,TrackDefaultList:true,URL:true,VideoTrackList:true,DedicatedWorkerGlobalScope:true,ServiceWorkerGlobalScope:true,WorkerGlobalScope:false,CSSRuleList:true,ClientRect:true,DOMRect:true,GamepadList:true,NamedNodeMap:true,MozNamedAttrMap:true,SpeechRecognitionResultList:true,StyleSheetList:true,IDBCursor:false,IDBCursorWithValue:true,IDBDatabase:true,IDBFactory:true,IDBIndex:true,IDBObjectStore:true,IDBOpenDBRequest:true,IDBVersionChangeRequest:true,IDBRequest:true,IDBTransaction:true,IDBVersionChangeEvent:true,SVGLength:true,SVGLengthList:true,SVGNumber:true,SVGNumberList:true,SVGPointList:true,SVGStringList:true,SVGTransform:true,SVGTransformList:true,AudioBuffer:true,AudioParamMap:true,AudioTrackList:true,AudioContext:true,webkitAudioContext:true,BaseAudioContext:false,OfflineAudioContext:true}) -A.ah.$nativeSuperclassTag="ArrayBufferView" -A.eu.$nativeSuperclassTag="ArrayBufferView" -A.ev.$nativeSuperclassTag="ArrayBufferView" -A.bS.$nativeSuperclassTag="ArrayBufferView" -A.ew.$nativeSuperclassTag="ArrayBufferView" -A.ex.$nativeSuperclassTag="ArrayBufferView" -A.aM.$nativeSuperclassTag="ArrayBufferView" -A.ez.$nativeSuperclassTag="EventTarget" -A.eA.$nativeSuperclassTag="EventTarget" -A.eF.$nativeSuperclassTag="EventTarget" -A.eG.$nativeSuperclassTag="EventTarget"})() -Function.prototype.$2=function(a,b){return this(a,b)} -Function.prototype.$1=function(a){return this(a)} -Function.prototype.$0=function(){return this()} -Function.prototype.$3$3=function(a,b,c){return this(a,b,c)} -Function.prototype.$2$2=function(a,b){return this(a,b)} -Function.prototype.$1$1=function(a){return this(a)} -Function.prototype.$2$1=function(a){return this(a)} -Function.prototype.$3=function(a,b,c){return this(a,b,c)} -Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} -Function.prototype.$3$1=function(a){return this(a)} -Function.prototype.$1$0=function(){return this()} -Function.prototype.$5=function(a,b,c,d,e){return this(a,b,c,d,e)} -Function.prototype.$6=function(a,b,c,d,e,f){return this(a,b,c,d,e,f)} -Function.prototype.$2$3=function(a,b,c){return this(a,b,c)} -Function.prototype.$1$2=function(a,b){return this(a,b)} -convertAllToFastObject(w) -convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) -return}if(typeof document.currentScript!="undefined"){a(document.currentScript) -return}var s=document.scripts -function onLoad(b){for(var q=0;q:_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/example/windows/flutter/CMakeLists.txt b/example/windows/flutter/CMakeLists.txt new file mode 100644 index 00000000..903f4899 --- /dev/null +++ b/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/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 00000000..8b6d4680 --- /dev/null +++ b/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/example/windows/flutter/generated_plugin_registrant.h b/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 00000000..dc139d85 --- /dev/null +++ b/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/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake new file mode 100644 index 00000000..b93c4c30 --- /dev/null +++ b/example/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/example/windows/runner/CMakeLists.txt b/example/windows/runner/CMakeLists.txt new file mode 100644 index 00000000..394917c0 --- /dev/null +++ b/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/example/windows/runner/Runner.rc b/example/windows/runner/Runner.rc new file mode 100644 index 00000000..7b2a2142 --- /dev/null +++ b/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", "another_example" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "another_example" "\0" + VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "another_example.exe" "\0" + VALUE "ProductName", "another_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/example/windows/runner/flutter_window.cpp b/example/windows/runner/flutter_window.cpp new file mode 100644 index 00000000..955ee303 --- /dev/null +++ b/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/example/windows/runner/flutter_window.h b/example/windows/runner/flutter_window.h new file mode 100644 index 00000000..6da0652f --- /dev/null +++ b/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/example/windows/runner/main.cpp b/example/windows/runner/main.cpp new file mode 100644 index 00000000..1ad1c956 --- /dev/null +++ b/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"another_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/example/windows/runner/resource.h b/example/windows/runner/resource.h new file mode 100644 index 00000000..66a65d1e --- /dev/null +++ b/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/example/windows/runner/resources/app_icon.ico b/example/windows/runner/resources/app_icon.ico new file mode 100644 index 00000000..c04e20ca Binary files /dev/null and b/example/windows/runner/resources/app_icon.ico differ diff --git a/example/windows/runner/runner.exe.manifest b/example/windows/runner/runner.exe.manifest new file mode 100644 index 00000000..153653e8 --- /dev/null +++ b/example/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/example/windows/runner/utils.cpp b/example/windows/runner/utils.cpp new file mode 100644 index 00000000..3a0b4651 --- /dev/null +++ b/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/example/windows/runner/utils.h b/example/windows/runner/utils.h new file mode 100644 index 00000000..3879d547 --- /dev/null +++ b/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/example/windows/runner/win32_window.cpp b/example/windows/runner/win32_window.cpp new file mode 100644 index 00000000..60608d0f --- /dev/null +++ b/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/example/windows/runner/win32_window.h b/example/windows/runner/win32_window.h new file mode 100644 index 00000000..e901dde6 --- /dev/null +++ b/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/floor/pubspec.lock b/floor/pubspec.lock index b8f2496b..822343b0 100644 --- a/floor/pubspec.lock +++ b/floor/pubspec.lock @@ -5,90 +5,98 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "80.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "7.3.0" + archive: + dependency: transitive + description: + name: archive + sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742" + url: "https://pub.dev" + source: hosted + version: "4.0.4" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.6.0" async: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.12.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.4" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.15" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "8.0.0" built_collection: dependency: transitive description: @@ -101,26 +109,26 @@ packages: dependency: transitive description: name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 url: "https://pub.dev" source: hosted - version: "8.9.1" + version: "8.9.5" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" charcode: dependency: transitive description: name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -133,90 +141,90 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.10.1" collection: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" convert: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" dart_style: dependency: transitive description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "3.0.1" dev_build: dependency: transitive description: name: dev_build - sha256: e5d575f3de4b0e5f004e065e1e2d98fa012d634b61b5855216b5698ed7f1e443 + sha256: "6e5251015d8fd2f5597615cef58c9f7e69035085520de97fd055c02ecfa5afa6" url: "https://pub.dev" source: hosted - version: "0.16.4+3" + version: "1.1.2+6" fake_async: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.2" ffi: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" fixnum: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" floor_annotation: dependency: "direct main" description: @@ -252,170 +260,178 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" http: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" http_multi_server: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" io: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.2" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.8" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" - lists: - dependency: transitive - description: - name: lists - sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "3.0.1" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" matcher: dependency: "direct dev" description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.16.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" mockito: dependency: "direct dev" description: name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6 url: "https://pub.dev" source: hosted - version: "5.4.4" + version: "5.4.5" package_config: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" path: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" pool: dependency: transitive description: @@ -424,203 +440,243 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" process_run: dependency: transitive description: name: process_run - sha256: "8d9c6198b98fbbfb511edd42e7364e24d85c163e47398919871b952dc86a423e" + sha256: "6ec839cdd3e6de4685318e7686cd4abb523c3d3a55af0e8d32a12ae19bc66622" url: "https://pub.dev" source: hosted - version: "0.14.2" + version: "1.2.4" pub_semver: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" pubspec_parse: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.5.0" shelf: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "3.0.0" + simple_sparse_list: + dependency: transitive + description: + name: simple_sparse_list + sha256: aa648fd240fa39b49dcd11c19c266990006006de6699a412de485695910fbc1f + url: "https://pub.dev" + source: hosted + version: "0.1.4" sky_engine: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "2.0.0" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sqflite: dependency: "direct main" description: name: sqflite - sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 + sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.2" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b" + url: "https://pub.dev" + source: hosted + version: "2.4.1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" url: "https://pub.dev" source: hosted - version: "2.5.4" + version: "2.5.5" sqflite_common_ffi: dependency: "direct main" description: name: sqflite_common_ffi - sha256: "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5" + sha256: "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.5" sqflite_common_ffi_web: dependency: "direct main" description: name: sqflite_common_ffi_web - sha256: "323e6db355c9eac7d3d834e35be339cedbd04f43ef5bcef4e8158bd290c2a94e" + sha256: "983cf7b33b16e6bc086c8e09f6a1fae69d34cdb167d7acaf64cbd3515942d4e6" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" url: "https://pub.dev" source: hosted - version: "0.4.3" + version: "2.4.2" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" sqlite3: dependency: transitive description: name: sqlite3 - sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" + sha256: "32b632dda27d664f85520093ed6f735ae5c49b5b75345afb8b19411bc59bb53d" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.7.4" sqlparser: dependency: "direct main" description: name: sqlparser - sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0" + sha256: "27dd0a9f0c02e22ac0eb42a23df9ea079ce69b52bb4a3b478d64e0ef34a263ee" url: "https://pub.dev" source: hosted - version: "0.34.1" + version: "0.41.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" strings: dependency: transitive description: name: strings - sha256: b33f40c4dd3e597bf6d9e7f4f4dc282dad0f19b07d9f320cb5c2183859cbccf5 + sha256: "482f1511d2cd8ab9f2c4cc148e6837be8a00c03b9a8eaedbc981a84d9c6305d8" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" synchronized: dependency: transitive description: name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" url: "https://pub.dev" source: hosted - version: "3.1.0+1" + version: "3.3.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.4" timing: dependency: transitive description: name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" unicode: dependency: transitive description: name: unicode - sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + sha256: "0d99edbd2e74726bed2e4989713c8bec02e5581628e334d8c88c0271593fb402" url: "https://pub.dev" source: hosted - version: "0.3.1" + version: "1.1.8" vector_math: dependency: transitive description: @@ -633,42 +689,50 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.3.1" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" url: "https://pub.dev" source: hosted - version: "2.4.4" + version: "3.0.2" yaml: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.7.0" + dart: ">=3.7.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/floor/pubspec.yaml b/floor/pubspec.yaml index eaec378c..ae4c8e45 100644 --- a/floor/pubspec.yaml +++ b/floor/pubspec.yaml @@ -9,10 +9,10 @@ issue_tracker: https://github.com/pinchbv/floor/issues publish_to: none environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: - collection: ^1.18.0 + collection: ^1.19.1 floor_annotation: path: ../floor_annotation/ floor_common: @@ -20,17 +20,17 @@ dependencies: flutter: sdk: flutter meta: - path: ^1.9.0 - sqflite: ^2.3.2 - sqflite_common_ffi: ^2.3.2+1 - sqflite_common_ffi_web: ^0.4.3 - sqlparser: ^0.34.1 + path: ^1.9.1 + sqflite: ^2.4.2 + sqflite_common_ffi: ^2.3.5 + sqflite_common_ffi_web: ^1.0.0 + sqlparser: ^0.41.0 dev_dependencies: - build_runner: ^2.4.8 + build_runner: ^2.4.15 floor_generator: path: ../floor_generator flutter_test: sdk: flutter - matcher: ^0.12.16+1 - mockito: ^5.4.4 \ No newline at end of file + matcher: ^0.12.17 + mockito: ^5.4.5 \ No newline at end of file diff --git a/floor_annotation/pubspec.lock b/floor_annotation/pubspec.lock index 646b6b43..f0767d58 100644 --- a/floor_annotation/pubspec.lock +++ b/floor_annotation/pubspec.lock @@ -5,9 +5,9 @@ packages: dependency: "direct main" description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.16.0" sdks: - dart: ">=3.2.6 <4.0.0" + dart: ">=3.6.0 <4.0.0" diff --git a/floor_annotation/pubspec.yaml b/floor_annotation/pubspec.yaml index d97bdada..2d83eb59 100644 --- a/floor_annotation/pubspec.yaml +++ b/floor_annotation/pubspec.yaml @@ -8,7 +8,7 @@ repository: https://github.com/pinchbv/floor issue_tracker: https://github.com/pinchbv/floor/issues environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: meta: diff --git a/floor_common/pubspec.lock b/floor_common/pubspec.lock index d772245d..e3dbb84d 100644 --- a/floor_common/pubspec.lock +++ b/floor_common/pubspec.lock @@ -5,90 +5,98 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "80.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "7.3.0" + archive: + dependency: transitive + description: + name: archive + sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742" + url: "https://pub.dev" + source: hosted + version: "4.0.4" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.6.0" async: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.4" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.15" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "8.0.0" built_collection: dependency: transitive description: @@ -101,26 +109,26 @@ packages: dependency: transitive description: name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 url: "https://pub.dev" source: hosted - version: "8.9.1" + version: "8.9.5" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" charcode: dependency: transitive description: name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -133,74 +141,74 @@ packages: dependency: transitive description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.10.1" collection: dependency: "direct dev" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" convert: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" coverage: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.11.1" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" dart_style: dependency: transitive description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "3.0.1" ffi: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" fixnum: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" floor_annotation: dependency: "direct main" description: @@ -219,114 +227,114 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + http: + dependency: transitive + description: + name: http + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "1.3.0" http_multi_server: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" io: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.2" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - lists: - dependency: transitive - description: - name: lists - sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "4.9.0" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" matcher: dependency: "direct dev" description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" meta: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.16.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" mockito: dependency: "direct dev" description: name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6 url: "https://pub.dev" source: hosted - version: "5.4.4" + version: "5.4.5" node_preamble: dependency: transitive description: @@ -339,18 +347,18 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" path: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" pool: dependency: transitive description: @@ -359,30 +367,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" pub_semver: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" pubspec_parse: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.5.0" shelf: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: @@ -395,218 +411,234 @@ packages: dependency: transitive description: name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + simple_sparse_list: + dependency: transitive + description: + name: simple_sparse_list + sha256: aa648fd240fa39b49dcd11c19c266990006006de6699a412de485695910fbc1f url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "0.1.4" source_gen: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "2.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" source_maps: dependency: transitive description: name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" url: "https://pub.dev" source: hosted - version: "0.10.12" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sqflite_common: dependency: "direct main" description: name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" url: "https://pub.dev" source: hosted - version: "2.5.4" + version: "2.5.5" sqflite_common_ffi: dependency: "direct dev" description: name: sqflite_common_ffi - sha256: "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5" + sha256: "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.5" sqlite3: dependency: transitive description: name: sqlite3 - sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" + sha256: "32b632dda27d664f85520093ed6f735ae5c49b5b75345afb8b19411bc59bb53d" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.7.4" sqlparser: dependency: "direct main" description: name: sqlparser - sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0" + sha256: "27dd0a9f0c02e22ac0eb42a23df9ea079ce69b52bb4a3b478d64e0ef34a263ee" url: "https://pub.dev" source: hosted - version: "0.34.1" + version: "0.41.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" strings: dependency: transitive description: name: strings - sha256: b33f40c4dd3e597bf6d9e7f4f4dc282dad0f19b07d9f320cb5c2183859cbccf5 + sha256: "482f1511d2cd8ab9f2c4cc148e6837be8a00c03b9a8eaedbc981a84d9c6305d8" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" synchronized: dependency: transitive description: name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" url: "https://pub.dev" source: hosted - version: "3.1.0+1" + version: "3.3.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" + sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" url: "https://pub.dev" source: hosted - version: "1.25.2" + version: "1.25.15" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.8" timing: dependency: transitive description: name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" unicode: dependency: transitive description: name: unicode - sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + sha256: "0d99edbd2e74726bed2e4989713c8bec02e5581628e334d8c88c0271593fb402" url: "https://pub.dev" source: hosted - version: "0.3.1" + version: "1.1.8" vm_service: dependency: transitive description: name: vm_service - sha256: e7d5ecd604e499358c5fe35ee828c0298a320d54455e791e9dcf73486bc8d9f0 + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.1.0" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" url: "https://pub.dev" source: hosted - version: "2.4.4" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: @@ -619,9 +651,9 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.7.0 <4.0.0" diff --git a/floor_common/pubspec.yaml b/floor_common/pubspec.yaml index d4a78d8c..2efec512 100644 --- a/floor_common/pubspec.yaml +++ b/floor_common/pubspec.yaml @@ -7,22 +7,22 @@ homepage: https://floor.codes publish_to: none environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: floor_annotation: path: ../floor_annotation/ meta: - path: ^1.9.0 - sqflite_common: ^2.5.3 - sqlparser: ^0.34.1 + path: ^1.9.1 + sqflite_common: ^2.5.5 + sqlparser: ^0.41.0 dev_dependencies: - build_runner: ^2.4.8 - collection: ^1.18.0 + build_runner: ^2.4.15 + collection: ^1.19.1 floor_generator: path: ../floor_generator/ - sqflite_common_ffi: ^2.3.2+1 - test: ^1.25.2 - matcher: ^0.12.16+1 - mockito: ^5.4.4 + sqflite_common_ffi: ^2.3.5 + test: ^1.25.15 + matcher: ^0.12.17 + mockito: ^5.4.5 diff --git a/floor_ffi/pubspec.lock b/floor_ffi/pubspec.lock index 2afe3734..f68cd89b 100644 --- a/floor_ffi/pubspec.lock +++ b/floor_ffi/pubspec.lock @@ -5,26 +5,26 @@ packages: dependency: transitive description: name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" ffi: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" floor_annotation: dependency: "direct main" description: @@ -39,85 +39,93 @@ packages: relative: true source: path version: "1.2.0" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" meta: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.16.0" path: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" + sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" url: "https://pub.dev" source: hosted - version: "2.5.3" + version: "2.5.5" sqflite_common_ffi: dependency: "direct main" description: name: sqflite_common_ffi - sha256: "754927d82de369a6b9e760fb60640aa81da650f35ffd468d5a992814d6022908" + sha256: "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1" url: "https://pub.dev" source: hosted - version: "2.3.2+1" + version: "2.3.5" sqlite3: dependency: transitive description: name: sqlite3 - sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" + sha256: "32b632dda27d664f85520093ed6f735ae5c49b5b75345afb8b19411bc59bb53d" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.7.4" sqlparser: dependency: transitive description: name: sqlparser - sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0" + sha256: "27dd0a9f0c02e22ac0eb42a23df9ea079ce69b52bb4a3b478d64e0ef34a263ee" url: "https://pub.dev" source: hosted - version: "0.34.1" + version: "0.41.0" synchronized: dependency: transitive description: name: synchronized - sha256: "271977ff1e9e82ceefb4f08424b8839f577c1852e0726b5ce855311b46d3ef83" + sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.3.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.1.1" sdks: - dart: ">=3.3.0-279.1.beta <4.0.0" + dart: ">=3.7.0 <4.0.0" diff --git a/floor_ffi/pubspec.yaml b/floor_ffi/pubspec.yaml index 50d36991..72c5da82 100644 --- a/floor_ffi/pubspec.yaml +++ b/floor_ffi/pubspec.yaml @@ -7,7 +7,7 @@ homepage: https://floor.codes publish_to: none environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: floor_annotation: @@ -15,5 +15,5 @@ dependencies: floor_common: path: ../floor_common/ meta: - path: ^1.9.0 - sqflite_common_ffi: ^2.3.2+1 + path: ^1.9.1 + sqflite_common_ffi: ^2.3.5 diff --git a/floor_generator/pubspec.lock b/floor_generator/pubspec.lock index 7628dc6c..a980e232 100644 --- a/floor_generator/pubspec.lock +++ b/floor_generator/pubspec.lock @@ -5,74 +5,82 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "80.0.0" analyzer: dependency: "direct main" description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "7.3.0" + archive: + dependency: transitive + description: + name: archive + sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742" + url: "https://pub.dev" + source: hosted + version: "4.0.4" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.6.0" async: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: "direct main" description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_config: dependency: "direct main" description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.4" build_test: dependency: "direct dev" description: name: build_test - sha256: "260dbba934f41b0a42935e9cae1f5731b94f0c3e489dc97bcf8e281265aaa5ae" + sha256: a580c76c28440d0006b75c6746bbbb3c1648959ba9e1afae2c2b0f2c26acdf3d url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" built_collection: dependency: transitive description: @@ -85,18 +93,18 @@ packages: dependency: transitive description: name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 url: "https://pub.dev" source: hosted - version: "8.9.1" + version: "8.9.5" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -109,74 +117,82 @@ packages: dependency: "direct main" description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.10.1" collection: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" convert: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" coverage: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.11.1" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" csslib: dependency: transitive description: name: csslib - sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.2" dart_style: dependency: "direct dev" description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "3.0.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + url: "https://pub.dev" + source: hosted + version: "2.1.4" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" fixnum: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" floor_annotation: dependency: "direct main" description: @@ -188,122 +204,114 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" html: dependency: transitive description: name: html - sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" + sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" url: "https://pub.dev" source: hosted - version: "0.15.4" + version: "0.15.5" http_multi_server: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" io: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.7.2" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - lists: - dependency: transitive - description: - name: lists - sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "4.9.0" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" matcher: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" meta: dependency: "direct main" description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.16.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" mockito: dependency: "direct dev" description: name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6 url: "https://pub.dev" source: hosted - version: "5.4.4" + version: "5.4.5" node_preamble: dependency: transitive description: @@ -316,18 +324,18 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" path: dependency: "direct dev" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" pool: dependency: transitive description: @@ -336,30 +344,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" pub_semver: dependency: "direct dev" description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" pubspec_parse: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.5.0" shelf: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: @@ -372,179 +388,186 @@ packages: dependency: transitive description: name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + simple_sparse_list: + dependency: transitive + description: + name: simple_sparse_list + sha256: aa648fd240fa39b49dcd11c19c266990006006de6699a412de485695910fbc1f url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "0.1.4" source_gen: dependency: "direct main" description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "2.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" source_maps: dependency: transitive description: name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" url: "https://pub.dev" source: hosted - version: "0.10.12" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" strings: dependency: "direct main" description: name: strings - sha256: b33f40c4dd3e597bf6d9e7f4f4dc282dad0f19b07d9f320cb5c2183859cbccf5 + sha256: "482f1511d2cd8ab9f2c4cc148e6837be8a00c03b9a8eaedbc981a84d9c6305d8" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" + sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" url: "https://pub.dev" source: hosted - version: "1.25.2" + version: "1.25.15" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" url: "https://pub.dev" source: hosted - version: "0.6.0" - test_cov: - dependency: "direct dev" - description: - path: "." - ref: HEAD - resolved-ref: e3bb980197a0b9388ab1fb8cd841b0e1d05c6356 - url: "https://github.com/dkaera/test_cov" - source: git - version: "1.0.4" + version: "0.6.8" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" unicode: dependency: transitive description: name: unicode - sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + sha256: "0d99edbd2e74726bed2e4989713c8bec02e5581628e334d8c88c0271593fb402" url: "https://pub.dev" source: hosted - version: "0.3.1" + version: "1.1.8" vm_service: dependency: transitive description: name: vm_service - sha256: e7d5ecd604e499358c5fe35ee828c0298a320d54455e791e9dcf73486bc8d9f0 + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.1.0" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" url: "https://pub.dev" source: hosted - version: "2.4.4" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: @@ -557,9 +580,9 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.3.0 <=3.3.8" + dart: ">=3.7.0 <4.0.0" diff --git a/floor_generator/pubspec.yaml b/floor_generator/pubspec.yaml index ba572593..21a17cd7 100644 --- a/floor_generator/pubspec.yaml +++ b/floor_generator/pubspec.yaml @@ -9,27 +9,24 @@ issue_tracker: https://github.com/pinchbv/floor/issues publish_to: none environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: - analyzer: ^6.4.1 - build: ^2.4.1 - build_config: ^1.1.1 - code_builder: ^4.10.0 - collection: ^1.18.0 + analyzer: ^7.0.0 + build: ^2.4.2 + build_config: ^1.1.2 + code_builder: ^4.10.1 + collection: ^1.19.1 floor_annotation: path: ../floor_annotation meta: - source_gen: ^1.5.0 - strings: ^3.1.1 + source_gen: ^2.0.0 + strings: ^3.2.0 dev_dependencies: - build_test: ^2.2.2 - dart_style: ^2.3.4 - mockito: ^5.4.4 - path: ^1.9.0 - pub_semver: ^2.1.4 - test: ^1.25.2 - test_cov: - git: - url: https://github.com/dkaera/test_cov + build_test: ^2.2.3 + dart_style: ^3.0.1 + mockito: ^5.4.5 + path: ^1.9.1 + pub_semver: ^2.1.5 + test: ^1.25.15 diff --git a/floor_generator/test/fakes.dart b/floor_generator/test/fakes.dart index 8ecd1881..faec6e68 100644 --- a/floor_generator/test/fakes.dart +++ b/floor_generator/test/fakes.dart @@ -1,8 +1,10 @@ import 'package:analyzer/dart/analysis/session.dart'; import 'package:analyzer/dart/constant/value.dart'; import 'package:analyzer/dart/element/element.dart'; +import 'package:analyzer/dart/element/element2.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/type.dart'; +import 'package:analyzer/source/source.dart'; import 'package:analyzer/src/generated/engine.dart'; import 'package:analyzer/src/generated/source.dart'; import 'package:pub_semver/src/version.dart'; @@ -40,12 +42,6 @@ class FakeClassElement implements ClassElement { @override List get fields => throw UnimplementedError(); - @override - String getDisplayString( - {required bool withNullability, bool multiline = false}) { - throw UnimplementedError(); - } - @override String getExtendedDisplayName(String? shortName) { throw UnimplementedError(); @@ -181,9 +177,6 @@ class FakeClassElement implements ClassElement { @override LibraryElement get library => throw UnimplementedError(); - @override - Source get librarySource => throw UnimplementedError(); - @override ElementLocation? get location => throw UnimplementedError(); @@ -255,9 +248,6 @@ class FakeClassElement implements ClassElement { @override AnalysisSession? get session => throw UnimplementedError(); - @override - Source get source => throw UnimplementedError(); - @override InterfaceType? get supertype => throw UnimplementedError(); @@ -296,98 +286,106 @@ class FakeClassElement implements ClassElement { bool get isDartCoreEnum => throw UnimplementedError(); @override - // TODO: implement augmented AugmentedClassElement get augmented => throw UnimplementedError(); @override - // TODO: implement hasMustBeOverridden bool get hasMustBeOverridden => throw UnimplementedError(); @override - // TODO: implement children List get children => throw UnimplementedError(); @override - // TODO: implement hasReopen bool get hasReopen => throw UnimplementedError(); @override - // TODO: implement isBase bool get isBase => throw UnimplementedError(); @override - // TODO: implement isConstructable bool get isConstructable => throw UnimplementedError(); @override - // TODO: implement isExhaustive bool get isExhaustive => throw UnimplementedError(); @override bool isExtendableIn(LibraryElement library) { - // TODO: implement isExtendableIn throw UnimplementedError(); } @override - // TODO: implement isFinal bool get isFinal => throw UnimplementedError(); @override bool isImplementableIn(LibraryElement library) { - // TODO: implement isImplementableIn throw UnimplementedError(); } @override - // TODO: implement isInterface bool get isInterface => throw UnimplementedError(); @override bool isMixableIn(LibraryElement library) { - // TODO: implement isMixableIn throw UnimplementedError(); } @override - // TODO: implement isMixinClass bool get isMixinClass => throw UnimplementedError(); @override - // TODO: implement isSealed bool get isSealed => throw UnimplementedError(); @override - // TODO: implement sinceSdkVersion Version? get sinceSdkVersion => throw UnimplementedError(); @override - // TODO: implement augmentationTarget ClassElement? get augmentationTarget => throw UnimplementedError(); @override - // TODO: implement hasImmutable bool get hasImmutable => throw UnimplementedError(); @override - // TODO: implement hasRedeclare bool get hasRedeclare => throw UnimplementedError(); @override - // TODO: implement hasVisibleOutsideTemplate bool get hasVisibleOutsideTemplate => throw UnimplementedError(); @override - // TODO: implement isAugmentation bool get isAugmentation => throw UnimplementedError(); @override - // TODO: implement isInline bool get isInline => throw UnimplementedError(); @override - // TODO: implement augmentation ClassElement? get augmentation => throw UnimplementedError(); + + @override + CompilationUnitElement get enclosingElement3 => throw UnimplementedError(); + + @override + String getDisplayString({bool withNullability = true, bool multiline = false}) { + throw UnimplementedError(); + } + + @override + bool get hasDoNotSubmit => throw UnimplementedError(); + + @override + bool get hasMustBeConst => throw UnimplementedError(); + + @override + Source get librarySource => throw UnimplementedError(); + + @override + Source get source => throw UnimplementedError(); + + @override + E? thisOrAncestorMatching3(bool Function(Element p1) predicate) { + throw UnimplementedError(); + } + + @override + E? thisOrAncestorOfType3() { + throw UnimplementedError(); + } } class FakeFieldElement implements FieldElement { @@ -416,12 +414,6 @@ class FakeFieldElement implements FieldElement { @override Element get enclosingElement => throw UnimplementedError(); - @override - String getDisplayString( - {required bool withNullability, bool multiline = false}) { - throw UnimplementedError(); - } - @override String getExtendedDisplayName(String? shortName) { throw UnimplementedError(); @@ -540,9 +532,6 @@ class FakeFieldElement implements FieldElement { @override LibraryElement get library => throw UnimplementedError(); - @override - Source? get librarySource => throw UnimplementedError(); - @override ElementLocation? get location => throw UnimplementedError(); @@ -564,9 +553,6 @@ class FakeFieldElement implements FieldElement { @override PropertyAccessorElement? get setter => throw UnimplementedError(); - @override - Source? get source => throw UnimplementedError(); - @override E? thisOrAncestorMatching(predicate) { throw UnimplementedError(); @@ -593,48 +579,70 @@ class FakeFieldElement implements FieldElement { Element get nonSynthetic => throw UnimplementedError(); @override - // TODO: implement hasMustBeOverridden bool get hasMustBeOverridden => throw UnimplementedError(); @override - // TODO: implement children List get children => throw UnimplementedError(); @override - // TODO: implement hasReopen bool get hasReopen => throw UnimplementedError(); @override - // TODO: implement isPromotable bool get isPromotable => throw UnimplementedError(); @override - // TODO: implement sinceSdkVersion Version? get sinceSdkVersion => throw UnimplementedError(); @override - // TODO: implement augmentationTarget FieldElement? get augmentationTarget => throw UnimplementedError(); @override - // TODO: implement hasImmutable bool get hasImmutable => throw UnimplementedError(); @override - // TODO: implement hasRedeclare bool get hasRedeclare => throw UnimplementedError(); @override - // TODO: implement hasVisibleOutsideTemplate bool get hasVisibleOutsideTemplate => throw UnimplementedError(); @override - // TODO: implement isAugmentation bool get isAugmentation => throw UnimplementedError(); @override - // TODO: implement augmentation FieldElement? get augmentation => throw UnimplementedError(); + + @override + Element get enclosingElement3 => throw UnimplementedError(); + + @override + String getDisplayString({bool withNullability = true, bool multiline = false}) { + throw UnimplementedError(); + } + + @override + bool get hasDoNotSubmit => throw UnimplementedError(); + + @override + bool get hasMustBeConst => throw UnimplementedError(); + + @override + LibraryElement2? get library2 => throw UnimplementedError(); + + @override + Source? get librarySource => throw UnimplementedError(); + + @override + Source? get source => throw UnimplementedError(); + + @override + E? thisOrAncestorMatching3(bool Function(Element p1) predicate) { + throw UnimplementedError(); + } + + @override + E? thisOrAncestorOfType3() { + throw UnimplementedError(); + } } class FakeDartObject implements DartObject { @@ -706,6 +714,18 @@ class FakeDartObject implements DartObject { ParameterizedType? get type => throw UnimplementedError(); @override - // TODO: implement variable VariableElement? get variable => throw UnimplementedError(); + + @override + ExecutableElement2? toFunctionValue2() { + throw UnimplementedError(); + } + + @override + ({Map named, List positional})? toRecordValue() { + throw UnimplementedError(); + } + + @override + VariableElement2? get variable2 => throw UnimplementedError(); } diff --git a/floor_generator/test/processor/query_method_processor_test.dart b/floor_generator/test/processor/query_method_processor_test.dart index 5d1470b5..d50f74e6 100644 --- a/floor_generator/test/processor/query_method_processor_test.dart +++ b/floor_generator/test/processor/query_method_processor_test.dart @@ -36,7 +36,7 @@ void main() { .process(); expect( - actual, + actual.toString(), equals( QueryMethod( methodElement, @@ -47,7 +47,7 @@ void main() { [], entities.first, {}, - ), + ).toString(), ), ); }); @@ -63,7 +63,7 @@ void main() { .process(); expect( - actual, + actual.toString(), equals( QueryMethod( methodElement, @@ -74,7 +74,7 @@ void main() { [], views.first, {}, - ), + ).toString(), ), ); }); diff --git a/floor_generator/test/test_utils.dart b/floor_generator/test/test_utils.dart index 0a5960ae..bf036723 100644 --- a/floor_generator/test/test_utils.dart +++ b/floor_generator/test/test_utils.dart @@ -15,9 +15,12 @@ import 'package:floor_generator/processor/view_processor.dart'; import 'package:floor_generator/value_object/dao.dart'; import 'package:floor_generator/value_object/entity.dart'; import 'package:path/path.dart' as path; +import 'package:pub_semver/pub_semver.dart'; import 'package:source_gen/source_gen.dart'; import 'package:test/test.dart'; +final targetLanguageVersion = Version(3, 7, 0); + /// Creates a [LibraryReader] of the [sourceFile]. Future resolveCompilationUnit(final String sourceFile) async { final files = [File(sourceFile)]; @@ -112,7 +115,7 @@ Future getDartTypeFromDeclaration(final String declaration) async { }); } -final _dartfmt = DartFormatter(); +final _dartfmt = DartFormatter(languageVersion: targetLanguageVersion); String _format(final String source) { try {