From 6aac5de2e7521dbb919d76110d685d8120068337 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Mon, 25 Dec 2023 09:02:55 +0700 Subject: [PATCH 01/11] Create actual implementation for expect component --- demos/chat-demo-mpp/common/common.podspec | 39 ++ .../github/jan/supabase/common/MPViewModel.kt | 2 + .../common/di/platformGoTrueConfig.kt | 2 + .../jan/supabase/common/di/viewModel.kt | 2 + .../common/ui/components/AlertDialog.kt | 2 + .../github/jan/supabase/common/MPViewModel.kt | 2 + .../common/di/platformGoTrueConfig.kt | 2 + .../jan/supabase/common/di/viewModel.kt | 2 + .../common/ui/components/AlertDialog.kt | 2 + .../github/jan/supabase/common/MPViewModel.kt | 2 + .../common/di/platformGoTrueConfig.kt | 2 + .../jan/supabase/common/di/viewModel.kt | 2 + .../common/ui/components/AlertDialog.kt | 2 + demos/chat-demo-mpp/ios/.gitignore | 1 + demos/chat-demo-mpp/ios/build.gradle.kts | 10 + .../ios/chatdemoios.xcodeproj/project.pbxproj | 389 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcschemes/xcschememanagement.plist | 14 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 63 +++ .../chatdemoios/Assets.xcassets/Contents.json | 6 + .../ios/chatdemoios/ContentView.swift | 25 ++ .../Preview Assets.xcassets/Contents.json | 6 + .../ios/chatdemoios/chatdemoios.entitlements | 10 + .../ios/chatdemoios/chatdemoiosApp.swift | 17 + .../ios/src/jvmMain/kotlin/Main.kt | 23 ++ demos/chat-demo-mpp/shared/build.gradle.kts | 42 ++ .../com/example/shared/Platform.android.kt | 7 + .../kotlin/com/example/shared/Greeting.kt | 9 + .../kotlin/com/example/shared/Platform.kt | 7 + .../kotlin/com/example/shared/Platform.ios.kt | 9 + 32 files changed, 727 insertions(+) create mode 100644 demos/chat-demo-mpp/common/common.podspec create mode 100644 demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt create mode 100644 demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt create mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt create mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt create mode 100644 demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt create mode 100644 demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt create mode 100644 demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt create mode 100644 demos/chat-demo-mpp/ios/.gitignore create mode 100644 demos/chat-demo-mpp/ios/build.gradle.kts create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/Contents.json create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/chatdemoios.entitlements create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift create mode 100644 demos/chat-demo-mpp/ios/src/jvmMain/kotlin/Main.kt create mode 100644 demos/chat-demo-mpp/shared/build.gradle.kts create mode 100644 demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt create mode 100644 demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt create mode 100644 demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt create mode 100644 demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt diff --git a/demos/chat-demo-mpp/common/common.podspec b/demos/chat-demo-mpp/common/common.podspec new file mode 100644 index 000000000..91c2d3bc1 --- /dev/null +++ b/demos/chat-demo-mpp/common/common.podspec @@ -0,0 +1,39 @@ +Pod::Spec.new do |spec| + spec.name = 'common' + spec.version = '1.0' + spec.homepage = 'Link to a Kotlin/Native module homepage' + spec.source = { :http=> ''} + spec.authors = '' + spec.license = '' + spec.summary = 'Some description for a Kotlin/Native module' + spec.vendored_frameworks = 'build/cocoapods/framework/common.framework' + spec.libraries = 'c++' + + + + spec.pod_target_xcconfig = { + 'KOTLIN_PROJECT_PATH' => ':common', + 'PRODUCT_MODULE_NAME' => 'common', + } + + spec.script_phases = [ + { + :name => 'Build common', + :execution_position => :before_compile, + :shell_path => '/bin/sh', + :script => <<-SCRIPT + if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then + echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"" + exit 0 + fi + set -ev + REPO_ROOT="$PODS_TARGET_SRCROOT" + "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ + -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ + -Pkotlin.native.cocoapods.archs="$ARCHS" \ + -Pkotlin.native.cocoapods.configuration="$CONFIGURATION" + SCRIPT + } + ] + spec.resources = ['build/compose/ios/common/compose-resources'] +end \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt new file mode 100644 index 000000000..eaf36d9e2 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common + diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt new file mode 100644 index 000000000..f50d5f962 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.ui.components + diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt new file mode 100644 index 000000000..eaf36d9e2 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common + diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt new file mode 100644 index 000000000..f50d5f962 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.ui.components + diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt new file mode 100644 index 000000000..eaf36d9e2 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common + diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt new file mode 100644 index 000000000..ad2d39501 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.di + diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt new file mode 100644 index 000000000..f50d5f962 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -0,0 +1,2 @@ +package io.github.jan.supabase.common.ui.components + diff --git a/demos/chat-demo-mpp/ios/.gitignore b/demos/chat-demo-mpp/ios/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/demos/chat-demo-mpp/ios/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/build.gradle.kts b/demos/chat-demo-mpp/ios/build.gradle.kts new file mode 100644 index 000000000..7afdbc404 --- /dev/null +++ b/demos/chat-demo-mpp/ios/build.gradle.kts @@ -0,0 +1,10 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + id("java-library") + alias(libs.plugins.org.jetbrains.kotlin.jvm) +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj new file mode 100644 index 000000000..f3dad6528 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj @@ -0,0 +1,389 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 6581F1522B36C0CF00BA34A9 /* chatdemoiosApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6581F1512B36C0CF00BA34A9 /* chatdemoiosApp.swift */; }; + 6581F1542B36C0CF00BA34A9 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6581F1532B36C0CF00BA34A9 /* ContentView.swift */; }; + 6581F1562B36C0D000BA34A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1552B36C0D000BA34A9 /* Assets.xcassets */; }; + 6581F15A2B36C0D000BA34A9 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 6581F14E2B36C0CF00BA34A9 /* chatdemoios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = chatdemoios.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 6581F1512B36C0CF00BA34A9 /* chatdemoiosApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = chatdemoiosApp.swift; sourceTree = ""; }; + 6581F1532B36C0CF00BA34A9 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 6581F1552B36C0D000BA34A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 6581F1572B36C0D000BA34A9 /* chatdemoios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = chatdemoios.entitlements; sourceTree = ""; }; + 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 6581F14B2B36C0CF00BA34A9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 6581F1452B36C0CF00BA34A9 = { + isa = PBXGroup; + children = ( + 6581F1502B36C0CF00BA34A9 /* chatdemoios */, + 6581F14F2B36C0CF00BA34A9 /* Products */, + ); + sourceTree = ""; + }; + 6581F14F2B36C0CF00BA34A9 /* Products */ = { + isa = PBXGroup; + children = ( + 6581F14E2B36C0CF00BA34A9 /* chatdemoios.app */, + ); + name = Products; + sourceTree = ""; + }; + 6581F1502B36C0CF00BA34A9 /* chatdemoios */ = { + isa = PBXGroup; + children = ( + 6581F1512B36C0CF00BA34A9 /* chatdemoiosApp.swift */, + 6581F1532B36C0CF00BA34A9 /* ContentView.swift */, + 6581F1552B36C0D000BA34A9 /* Assets.xcassets */, + 6581F1572B36C0D000BA34A9 /* chatdemoios.entitlements */, + 6581F1582B36C0D000BA34A9 /* Preview Content */, + ); + path = chatdemoios; + sourceTree = ""; + }; + 6581F1582B36C0D000BA34A9 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 6581F14D2B36C0CF00BA34A9 /* chatdemoios */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6581F15D2B36C0D000BA34A9 /* Build configuration list for PBXNativeTarget "chatdemoios" */; + buildPhases = ( + 6581F1602B36C25B00BA34A9 /* Run Script */, + 6581F14A2B36C0CF00BA34A9 /* Sources */, + 6581F14B2B36C0CF00BA34A9 /* Frameworks */, + 6581F14C2B36C0CF00BA34A9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = chatdemoios; + productName = chatdemoios; + productReference = 6581F14E2B36C0CF00BA34A9 /* chatdemoios.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 6581F1462B36C0CF00BA34A9 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1510; + LastUpgradeCheck = 1510; + TargetAttributes = { + 6581F14D2B36C0CF00BA34A9 = { + CreatedOnToolsVersion = 15.1; + }; + }; + }; + buildConfigurationList = 6581F1492B36C0CF00BA34A9 /* Build configuration list for PBXProject "chatdemoios" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 6581F1452B36C0CF00BA34A9; + productRefGroup = 6581F14F2B36C0CF00BA34A9 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 6581F14D2B36C0CF00BA34A9 /* chatdemoios */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 6581F14C2B36C0CF00BA34A9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6581F15A2B36C0D000BA34A9 /* Preview Assets.xcassets in Resources */, + 6581F1562B36C0D000BA34A9 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 6581F1602B36C25B00BA34A9 /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cd \"$SRCROOT/..\"\n./gradlew :shared:embedAndSignAppleFrameworkForXcode\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 6581F14A2B36C0CF00BA34A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6581F1542B36C0CF00BA34A9 /* ContentView.swift in Sources */, + 6581F1522B36C0CF00BA34A9 /* chatdemoiosApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 6581F15B2B36C0D000BA34A9 /* Debug */ = { + isa = XCBuildConfiguration; + 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++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 6581F15C2B36C0D000BA34A9 /* Release */ = { + isa = XCBuildConfiguration; + 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++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 6581F15E2B36C0D000BA34A9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = chatdemoios/chatdemoios.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 14.1; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = "\"$(inherited) -framework shared\""; + PRODUCT_BUNDLE_IDENTIFIER = com.chatdemo.chatdemoios; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 6581F15F2B36C0D000BA34A9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = chatdemoios/chatdemoios.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 14.1; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = "\"$(inherited) -framework shared\""; + PRODUCT_BUNDLE_IDENTIFIER = com.chatdemo.chatdemoios; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 6581F1492B36C0CF00BA34A9 /* Build configuration list for PBXProject "chatdemoios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6581F15B2B36C0D000BA34A9 /* Debug */, + 6581F15C2B36C0D000BA34A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6581F15D2B36C0D000BA34A9 /* Build configuration list for PBXNativeTarget "chatdemoios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6581F15E2B36C0D000BA34A9 /* Debug */, + 6581F15F2B36C0D000BA34A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 6581F1462B36C0CF00BA34A9 /* Project object */; +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..361dd69a3 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + chatdemoios.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AccentColor.colorset/Contents.json b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AppIcon.appiconset/Contents.json b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..532cd729c --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,63 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/Contents.json b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift new file mode 100644 index 000000000..15d30fef8 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift @@ -0,0 +1,25 @@ +// +// ContentView.swift +// chatdemoios +// +// Created by Hieu Vu on 23/12/2023. +// + +import SwiftUI +import shared + +struct ContentView: View { + var body: some View { + VStack { + Image(systemName: "globe") + .imageScale(.large) + .foregroundStyle(.tint) + Text("Hello, world!") + } + .padding() + } +} + +#Preview { + ContentView() +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/Preview Content/Preview Assets.xcassets/Contents.json b/demos/chat-demo-mpp/ios/chatdemoios/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoios.entitlements b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoios.entitlements new file mode 100644 index 000000000..f2ef3ae02 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoios.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift new file mode 100644 index 000000000..8c68cec75 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift @@ -0,0 +1,17 @@ +// +// chatdemoiosApp.swift +// chatdemoios +// +// Created by Hieu Vu on 23/12/2023. +// + +import SwiftUI + +@main +struct chatdemoiosApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/demos/chat-demo-mpp/ios/src/jvmMain/kotlin/Main.kt b/demos/chat-demo-mpp/ios/src/jvmMain/kotlin/Main.kt new file mode 100644 index 000000000..5cca61f35 --- /dev/null +++ b/demos/chat-demo-mpp/ios/src/jvmMain/kotlin/Main.kt @@ -0,0 +1,23 @@ +import androidx.compose.ui.window.Window +import androidx.compose.ui.window.application +import io.github.jan.supabase.common.App +import io.github.jan.supabase.common.ChatViewModel +import io.github.jan.supabase.common.di.initKoin +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject + +class RootComponent : KoinComponent { + + val viewModel: ChatViewModel by inject() + +} + +fun main() { + initKoin() + val root = RootComponent() + application { + Window(onCloseRequest = ::exitApplication, title = "Chat App") { + App(root.viewModel) + } + } +} diff --git a/demos/chat-demo-mpp/shared/build.gradle.kts b/demos/chat-demo-mpp/shared/build.gradle.kts new file mode 100644 index 000000000..66de1c2ca --- /dev/null +++ b/demos/chat-demo-mpp/shared/build.gradle.kts @@ -0,0 +1,42 @@ +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidLibrary) +} + +kotlin { + androidTarget { + compilations.all { + kotlinOptions { + jvmTarget = "1.8" + } + } + } + + listOf( + iosX64(), + iosArm64(), + iosSimulatorArm64() + ).forEach { + it.binaries.framework { + baseName = "shared" + isStatic = true + } + } + + sourceSets { + commonMain.dependencies { + //put your multiplatform dependencies here + } + commonTest.dependencies { + implementation(libs.kotlin.test) + } + } +} + +android { + namespace = "com.example.shared" + compileSdk = 34 + defaultConfig { + minSdk = 30 + } +} diff --git a/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt b/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt new file mode 100644 index 000000000..822f623c6 --- /dev/null +++ b/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt @@ -0,0 +1,7 @@ +package com.example.shared + +class AndroidPlatform : Platform { + override val name: String = "Android ${android.os.Build.VERSION.SDK_INT}" +} + +actual fun getPlatform(): Platform = AndroidPlatform() \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt new file mode 100644 index 000000000..3d9dd3664 --- /dev/null +++ b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt @@ -0,0 +1,9 @@ +package com.example.shared + +class Greeting { + private val platform: Platform = getPlatform() + + fun greet(): String { + return "Hello, ${platform.name}!" + } +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt new file mode 100644 index 000000000..df7383e72 --- /dev/null +++ b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt @@ -0,0 +1,7 @@ +package com.example.shared + +interface Platform { + val name: String +} + +expect fun getPlatform(): Platform \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt b/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt new file mode 100644 index 000000000..6bfc4a79e --- /dev/null +++ b/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt @@ -0,0 +1,9 @@ +package com.example.shared + +import platform.UIKit.UIDevice + +class IOSPlatform: Platform { + override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion +} + +actual fun getPlatform(): Platform = IOSPlatform() \ No newline at end of file From 3d10dac1379ad1bc21a1767f2bafec421b791e49 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Mon, 25 Dec 2023 09:04:01 +0700 Subject: [PATCH 02/11] Set up iOS --- .DS_Store | Bin 0 -> 6148 bytes demos/.DS_Store | Bin 0 -> 6148 bytes demos/chat-demo-mpp/android/build.gradle.kts | 6 +- .../jan/supabase/android/MainActivity.kt | 3 - .../contents.xcworkspacedata | 7 + demos/chat-demo-mpp/common/build.gradle.kts | 61 +- .../jan/supabase/common/di/viewModel.kt | 1 - .../jan/supabase/common/ChatViewModel.kt | 1 - .../jan/supabase/common/di/viewModel.kt | 1 - .../github/jan/supabase/common/MPViewModel.kt | 9 +- .../common/di/platformGoTrueConfig.kt | 6 +- .../jan/supabase/common/di/viewModel.kt | 6 +- .../common/ui/components/AlertDialog.kt | 7 +- .../github/jan/supabase/common/MPViewModel.kt | 9 +- .../common/di/platformGoTrueConfig.kt | 6 +- .../jan/supabase/common/di/viewModel.kt | 6 +- .../common/ui/components/AlertDialog.kt | 7 +- .../github/jan/supabase/common/MPViewModel.kt | 9 +- .../common/di/platformGoTrueConfig.kt | 6 +- .../jan/supabase/common/di/viewModel.kt | 6 +- .../common/ui/components/AlertDialog.kt | 7 +- .../jan/supabase/common/di/viewModel.kt | 1 - demos/chat-demo-mpp/gradle.properties | 4 +- demos/chat-demo-mpp/gradle/libs.versions.toml | 9 +- .../gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 62076 bytes demos/chat-demo-mpp/gradlew | 7 +- demos/chat-demo-mpp/ios/.gitignore | 1 - demos/chat-demo-mpp/ios/Podfile | 11 + demos/chat-demo-mpp/ios/Podfile.lock | 16 + .../Pods/Local Podspecs/common.podspec.json | 35 + demos/chat-demo-mpp/ios/Pods/Manifest.lock | 16 + .../ios/Pods/Pods.xcodeproj/project.pbxproj | 536 +++++++++++ .../xcschemes/Pods-chatdemoios.xcscheme | 58 ++ .../xcschemes/common.xcscheme | 58 ++ .../xcschemes/xcschememanagement.plist | 21 + .../Pods-chatdemoios-Info.plist | 26 + ...Pods-chatdemoios-acknowledgements.markdown | 3 + .../Pods-chatdemoios-acknowledgements.plist | 29 + .../Pods-chatdemoios/Pods-chatdemoios-dummy.m | 5 + ...os-frameworks-Debug-input-files.xcfilelist | 2 + ...s-frameworks-Debug-output-files.xcfilelist | 1 + ...-frameworks-Release-input-files.xcfilelist | 2 + ...frameworks-Release-output-files.xcfilelist | 1 + .../Pods-chatdemoios-frameworks.sh | 186 ++++ ...ios-resources-Debug-input-files.xcfilelist | 2 + ...os-resources-Debug-output-files.xcfilelist | 1 + ...s-resources-Release-input-files.xcfilelist | 2 + ...-resources-Release-output-files.xcfilelist | 1 + .../Pods-chatdemoios-resources.sh | 129 +++ .../Pods-chatdemoios-umbrella.h | 16 + .../Pods-chatdemoios.debug.xcconfig | 10 + .../Pods-chatdemoios.modulemap | 6 + .../Pods-chatdemoios.release.xcconfig | 10 + .../common/common.debug.xcconfig | 15 + .../common/common.release.xcconfig | 15 + demos/chat-demo-mpp/ios/build.gradle.kts | 10 - .../ios/chatdemoios.xcodeproj/project.pbxproj | 70 +- .../xcshareddata/WorkspaceSettings.xcsettings | 5 + .../UserInterfaceState.xcuserstate | Bin 0 -> 37020 bytes .../WorkspaceSettings.xcsettings | 14 + .../xcschemes/chatdemoios.xcscheme | 105 +++ .../xcschemes/xcschememanagement.plist | 10 +- .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 92333 bytes .../ios/chatdemoios/ContentView.swift | 2 +- .../ios/src/jvmMain/kotlin/Main.kt | 23 - demos/chat-demo-mpp/kotlin-js-store/yarn.lock | 863 +++++++----------- demos/chat-demo-mpp/settings.gradle.kts | 1 + demos/chat-demo-mpp/shared/build.gradle.kts | 42 - .../com/example/shared/Platform.android.kt | 7 - .../kotlin/com/example/shared/Greeting.kt | 9 - .../kotlin/com/example/shared/Platform.kt | 7 - .../kotlin/com/example/shared/Platform.ios.kt | 9 - 74 files changed, 1893 insertions(+), 701 deletions(-) create mode 100644 .DS_Store create mode 100644 demos/.DS_Store create mode 100644 demos/chat-demo-mpp/chatdemoios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 demos/chat-demo-mpp/gradlew delete mode 100644 demos/chat-demo-mpp/ios/.gitignore create mode 100644 demos/chat-demo-mpp/ios/Podfile create mode 100644 demos/chat-demo-mpp/ios/Podfile.lock create mode 100644 demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json create mode 100644 demos/chat-demo-mpp/ios/Pods/Manifest.lock create mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme create mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme create mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist create mode 100755 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist create mode 100755 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig create mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig delete mode 100644 demos/chat-demo-mpp/ios/build.gradle.kts create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 demos/chat-demo-mpp/ios/src/jvmMain/kotlin/Main.kt delete mode 100644 demos/chat-demo-mpp/shared/build.gradle.kts delete mode 100644 demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt delete mode 100644 demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt delete mode 100644 demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt delete mode 100644 demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..443a1782bf1fe541943b41a3d134141c459dc6dd GIT binary patch literal 6148 zcmeHKISv9b4752UBpOP}e1RWC2wt!spa9WuNFb=U;$1wA@zJbSbWniCk~4|pNt7wp zYZ1}qZMzVeiO2+QC=VO@X8Yzn8)QU*aGY_yH<#1leA@SN-vx|2maXjMDCZ8}c4$<9 z3Qz$mKn1A4rxnNwJDGm^V4g<>sKC!FVBd!VH>`Bxq5@RluN2VHs#z`Zq^zyI$62i{@D1E@o^UhFor1y3G0@8~7FLeuo)me-=Gd=^ UZJ^T;cRG+i1Evd&3Vd6E7rNsV(EtDd literal 0 HcmV?d00001 diff --git a/demos/.DS_Store b/demos/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fe49a521c1f662a5424f352c8bae99266c6074b2 GIT binary patch literal 6148 zcmeHK!AiqG5S?wSO(=yP6g>vKwpgnu#Y?F52aM=Jr6wk5FwK@WwTDv3Re#7o@q3)v z-72N(!GlPdf!Q}ZJG0Ba4Lex?5S?+j2T%h53ze{7WAla3IO&oUjE7LDIT{c`1bvXu zSc+!He`J8pt_pYX06t`RYMJ zwq^HfThnQ)U3U(S+OxVdZMT|e?;p-)wzavldwkY=O!}#O)~pKr0F_h?&fx`(A2#^p z4bw!X_ZT&wVV=pz3@`)Cz{)aUEU!M{ZpqZvrOi>Tbx?0nNhmJY_>qE! iD#aK}rFa`v3Hlu}5M6`0M)aWYkAR|q8)o278F&XFh)${i literal 0 HcmV?d00001 diff --git a/demos/chat-demo-mpp/android/build.gradle.kts b/demos/chat-demo-mpp/android/build.gradle.kts index c02458dec..c1bba2d0c 100644 --- a/demos/chat-demo-mpp/android/build.gradle.kts +++ b/demos/chat-demo-mpp/android/build.gradle.kts @@ -23,11 +23,11 @@ android { } namespace = "io.github.jan.supabase.android" compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "11" } buildTypes { getByName("release") { diff --git a/demos/chat-demo-mpp/android/src/main/java/io/github/jan/supabase/android/MainActivity.kt b/demos/chat-demo-mpp/android/src/main/java/io/github/jan/supabase/android/MainActivity.kt index 1248a0c63..99e15d065 100644 --- a/demos/chat-demo-mpp/android/src/main/java/io/github/jan/supabase/android/MainActivity.kt +++ b/demos/chat-demo-mpp/android/src/main/java/io/github/jan/supabase/android/MainActivity.kt @@ -4,9 +4,6 @@ import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.MaterialTheme - -import co.touchlab.kermit.Logger -import io.github.jan.supabase.SupabaseClient import io.github.jan.supabase.common.App import io.github.jan.supabase.common.ChatViewModel import io.github.jan.supabase.gotrue.handleDeeplinks diff --git a/demos/chat-demo-mpp/chatdemoios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/demos/chat-demo-mpp/chatdemoios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/demos/chat-demo-mpp/chatdemoios/chatdemoios.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/demos/chat-demo-mpp/common/build.gradle.kts b/demos/chat-demo-mpp/common/build.gradle.kts index 2ec264d0d..66c8ff5af 100644 --- a/demos/chat-demo-mpp/common/build.gradle.kts +++ b/demos/chat-demo-mpp/common/build.gradle.kts @@ -1,11 +1,11 @@ @file:OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) -import org.jetbrains.compose.compose plugins { kotlin("multiplatform") id("org.jetbrains.compose") id("com.android.library") kotlin("plugin.serialization") + kotlin("native.cocoapods") } group = "io.github.jan.supabase" @@ -14,11 +14,58 @@ version = "1.0-SNAPSHOT" kotlin { android() jvm("desktop") { - jvmToolchain(8) + jvmToolchain(11) } js(IR) { browser() } + + listOf( + iosArm64(), + iosSimulatorArm64(), + ).forEach { + it.binaries.framework { + baseName = "common" + isStatic = true + transitiveExport = true + } + } + +// ios() { +// binaries { +// framework { +// baseName = "ios" +// transitiveExport = true // This is default. +// } +// } +// } + + cocoapods { + + // Required properties + // Specify the required Pod version here. Otherwise, the Gradle project version is used. + version = "1.0" + summary = "Some description for a Kotlin/Native module" + homepage = "Link to a Kotlin/Native module homepage" + framework { + // Required properties + // Framework name configuration. Use this property instead of deprecated 'frameworkName' + baseName = "common" + + // Optional properties + // Specify the framework linking type. It's dynamic by default. + isStatic = false + // Dependency export + export(project(":common")) + transitiveExport = true // This is default. + // Bitcode embedding + embedBitcode(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.BITCODE) + } + podfile = project.file("/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/ios/Podfile") + // Maps custom Xcode configuration to NativeBuildType + xcodeConfigurationToNativeBuildType["CUSTOM_DEBUG"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.DEBUG + xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.RELEASE + } sourceSets { val commonMain by getting { dependencies { @@ -56,6 +103,12 @@ kotlin { api(libs.ktor.js) } } + val iosArm64Main by getting { + dependsOn(commonMain) + } + val iosSimulatorArm64Main by getting { + dependsOn(commonMain) + } } } @@ -67,7 +120,7 @@ android { minSdk = 26 } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/demos/chat-demo-mpp/common/src/androidMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/androidMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt index f9d2b9c51..6964690a2 100644 --- a/demos/chat-demo-mpp/common/src/androidMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/androidMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,6 +1,5 @@ package io.github.jan.supabase.common.di -import io.github.jan.supabase.common.ChatViewModel import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.core.module.Module diff --git a/demos/chat-demo-mpp/common/src/commonMain/kotlin/io/github/jan/supabase/common/ChatViewModel.kt b/demos/chat-demo-mpp/common/src/commonMain/kotlin/io/github/jan/supabase/common/ChatViewModel.kt index 2a7161220..1f25ac37e 100644 --- a/demos/chat-demo-mpp/common/src/commonMain/kotlin/io/github/jan/supabase/common/ChatViewModel.kt +++ b/demos/chat-demo-mpp/common/src/commonMain/kotlin/io/github/jan/supabase/common/ChatViewModel.kt @@ -26,7 +26,6 @@ expect open class MPViewModel() { val coroutineScope: CoroutineScope } - class ChatViewModel( val supabaseClient: SupabaseClient, private val realtimeChannel: RealtimeChannel, diff --git a/demos/chat-demo-mpp/common/src/desktopMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/desktopMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt index b056cab48..d49caff38 100644 --- a/demos/chat-demo-mpp/common/src/desktopMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/desktopMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,6 +1,5 @@ package io.github.jan.supabase.common.di -import io.github.jan.supabase.common.ChatViewModel import org.koin.core.module.Module actual fun Module.viewModel() { diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt index eaf36d9e2..1425c517f 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -1,2 +1,9 @@ -package io.github.jan.supabase.common +package io.github.jan.supabase.common +import kotlinx.coroutines.CoroutineScope + +actual open class MPViewModel actual constructor() { + actual val coroutineScope: CoroutineScope + get() = TODO("Not yet implemented") + +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt index ad2d39501..e7a28075d 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import io.github.jan.supabase.gotrue.GoTrueConfig + +actual fun GoTrueConfig.platformGoTrueConfig() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt index ad2d39501..a9ebecffe 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import org.koin.core.module.Module + +actual fun Module.viewModel() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt index f50d5f962..b137eefac 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -1,2 +1,7 @@ -package io.github.jan.supabase.common.ui.components +package io.github.jan.supabase.common.ui.components +import androidx.compose.runtime.Composable + +@Composable +actual fun AlertDialog(text: String, close: () -> Unit) { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt index eaf36d9e2..5ce39fa3a 100644 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -1,2 +1,9 @@ -package io.github.jan.supabase.common +package io.github.jan.supabase.common +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers + +actual open class MPViewModel actual constructor() { + actual val coroutineScope = CoroutineScope(Dispatchers.Default) + +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt index ad2d39501..e7a28075d 100644 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import io.github.jan.supabase.gotrue.GoTrueConfig + +actual fun GoTrueConfig.platformGoTrueConfig() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt index ad2d39501..a9ebecffe 100644 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import org.koin.core.module.Module + +actual fun Module.viewModel() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt index f50d5f962..b137eefac 100644 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -1,2 +1,7 @@ -package io.github.jan.supabase.common.ui.components +package io.github.jan.supabase.common.ui.components +import androidx.compose.runtime.Composable + +@Composable +actual fun AlertDialog(text: String, close: () -> Unit) { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt index eaf36d9e2..1425c517f 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -1,2 +1,9 @@ -package io.github.jan.supabase.common +package io.github.jan.supabase.common +import kotlinx.coroutines.CoroutineScope + +actual open class MPViewModel actual constructor() { + actual val coroutineScope: CoroutineScope + get() = TODO("Not yet implemented") + +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt index ad2d39501..e7a28075d 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import io.github.jan.supabase.gotrue.GoTrueConfig + +actual fun GoTrueConfig.platformGoTrueConfig() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt index ad2d39501..a9ebecffe 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,2 +1,6 @@ -package io.github.jan.supabase.common.di +package io.github.jan.supabase.common.di +import org.koin.core.module.Module + +actual fun Module.viewModel() { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt index f50d5f962..b137eefac 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt @@ -1,2 +1,7 @@ -package io.github.jan.supabase.common.ui.components +package io.github.jan.supabase.common.ui.components +import androidx.compose.runtime.Composable + +@Composable +actual fun AlertDialog(text: String, close: () -> Unit) { +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/jsMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/jsMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt index b056cab48..d49caff38 100644 --- a/demos/chat-demo-mpp/common/src/jsMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/jsMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -1,6 +1,5 @@ package io.github.jan.supabase.common.di -import io.github.jan.supabase.common.ChatViewModel import org.koin.core.module.Module actual fun Module.viewModel() { diff --git a/demos/chat-demo-mpp/gradle.properties b/demos/chat-demo-mpp/gradle.properties index 8bec89d8a..19466d7fc 100644 --- a/demos/chat-demo-mpp/gradle.properties +++ b/demos/chat-demo-mpp/gradle.properties @@ -1,6 +1,6 @@ kotlin.code.style=official -kotlin.native.enableDependencyPropagation=false android.useAndroidX=true org.jetbrains.compose.experimental.jscanvas.enabled=true org.gradle.jvmargs=-Xmx4096m -kotlin.mpp.androidSourceSetLayoutVersion=2 \ No newline at end of file +kotlin.mpp.androidSourceSetLayoutVersion=2 +org.jetbrains.compose.experimental.uikit.enabled=true \ No newline at end of file diff --git a/demos/chat-demo-mpp/gradle/libs.versions.toml b/demos/chat-demo-mpp/gradle/libs.versions.toml index eeed5d38b..f68e45822 100644 --- a/demos/chat-demo-mpp/gradle/libs.versions.toml +++ b/demos/chat-demo-mpp/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -kotlin = "1.8.20" +kotlin = "1.9.10" agp = "8.0.2" -compose = "1.4.0" +compose = "1.5.3" supabase = "1.1.0" koin = "3.4.1" -ktor = "2.3.1" +ktor = "2.3.7" androidx-core = "1.10.1" androidx-compat = "1.6.1" androidx-lifecycle = "2.6.1" androidx-activity = "1.7.2" - +org-jetbrains-kotlin-jvm = "1.9.10" [plugins] kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } @@ -21,6 +21,7 @@ android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } compose = { id = "org.jetbrains.compose", version.ref = "compose" } +org-jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "org-jetbrains-kotlin-jvm" } [libraries] supabase-gotrue = { module = "io.github.jan-tennert.supabase:gotrue-kt", version.ref = "supabase" } diff --git a/demos/chat-demo-mpp/gradle/wrapper/gradle-wrapper.jar b/demos/chat-demo-mpp/gradle/wrapper/gradle-wrapper.jar index ccebba7710deaf9f98673a68957ea02138b60d0a..c1962a79e29d3e0ab67b14947c167a862655af9b 100644 GIT binary patch delta 8979 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 F{TFmrHLU;u delta 8469 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 '/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec' + +end diff --git a/demos/chat-demo-mpp/ios/Podfile.lock b/demos/chat-demo-mpp/ios/Podfile.lock new file mode 100644 index 000000000..711fad23c --- /dev/null +++ b/demos/chat-demo-mpp/ios/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - common (1.0) + +DEPENDENCIES: + - common (from `/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec`) + +EXTERNAL SOURCES: + common: + :path: "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec" + +SPEC CHECKSUMS: + common: 6489e4775a5fed74a0b3426e9dbf8eb405f098b3 + +PODFILE CHECKSUM: 4be35d1c2a7dce63512c8388f8bdddd3317ce5d7 + +COCOAPODS: 1.14.3 diff --git a/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json b/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json new file mode 100644 index 000000000..1f7fdfafc --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json @@ -0,0 +1,35 @@ +{ + "name": "common", + "version": "1.0", + "homepage": "Link to a Kotlin/Native module homepage", + "source": { + "http": "" + }, + "authors": "", + "license": "", + "summary": "Some description for a Kotlin/Native module", + "vendored_frameworks": "build/cocoapods/framework/common.framework", + "libraries": "c++", + "pod_target_xcconfig": { + "KOTLIN_PROJECT_PATH": ":common", + "PRODUCT_MODULE_NAME": "common" + }, + "script_phases": [ + { + "name": "Build common", + "execution_position": "before_compile", + "shell_path": "/bin/sh", + "script": " if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n" + } + ], + "resources": [ + "build/compose/ios/common/compose-resources" + ], + "platforms": { + "osx": null, + "ios": null, + "tvos": null, + "visionos": null, + "watchos": null + } +} diff --git a/demos/chat-demo-mpp/ios/Pods/Manifest.lock b/demos/chat-demo-mpp/ios/Pods/Manifest.lock new file mode 100644 index 000000000..711fad23c --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Manifest.lock @@ -0,0 +1,16 @@ +PODS: + - common (1.0) + +DEPENDENCIES: + - common (from `/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec`) + +EXTERNAL SOURCES: + common: + :path: "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec" + +SPEC CHECKSUMS: + common: 6489e4775a5fed74a0b3426e9dbf8eb405f098b3 + +PODFILE CHECKSUM: 4be35d1c2a7dce63512c8388f8bdddd3317ce5d7 + +COCOAPODS: 1.14.3 diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 000000000..c6673151a --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,536 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXAggregateTarget section */ + 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 1D5F1C893FEB1534A938215715B55EDF /* Build configuration list for PBXAggregateTarget "common" */; + buildPhases = ( + 7117138631DE463A2F0FAF7227B3ADA6 /* [CP-User] Build common */, + ); + dependencies = ( + ); + name = common; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 5F25EAD29BFDACC915202F5451DFB5D3 /* Pods-chatdemoios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5F9F68327B462720C12987DD59C258FC /* Pods-chatdemoios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */; }; + B176BF3B914205DA7FD3E202B3D88134 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + C5293AF72D076C42F6DBAE58E4D51258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8217FBB9D1218C346C0781D0B8F2BBE8; + remoteInfo = common; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 15AC25C6A735C6BC402A5F5759F60906 /* common.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = common.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 4896FE8DDAC1EDF920F0C10E57B9017D /* Pods-chatdemoios-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-chatdemoios-acknowledgements.plist"; sourceTree = ""; }; + 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-chatdemoios-dummy.m"; sourceTree = ""; }; + 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.debug.xcconfig; sourceTree = ""; }; + 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-chatdemoios"; path = Pods_chatdemoios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-chatdemoios-umbrella.h"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + B753B2FF23C525FD0E54007C6EC27923 /* Pods-chatdemoios-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-chatdemoios-acknowledgements.markdown"; sourceTree = ""; }; + CFF5CA043BDEB95DBE2327D2E87A2D34 /* Pods-chatdemoios-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-chatdemoios-Info.plist"; sourceTree = ""; }; + D9E19E7E34E3BFE8A008CCC46B754A3A /* Pods-chatdemoios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-chatdemoios.modulemap"; sourceTree = ""; }; + DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-chatdemoios.release.xcconfig"; sourceTree = ""; }; + FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.release.xcconfig; sourceTree = ""; }; + FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-chatdemoios.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CC14F43D43FA473C78494BFFD5CBBED0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B176BF3B914205DA7FD3E202B3D88134 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 26F3A8353801EBEBD7A788CC9B3A8369 /* Pods-chatdemoios */ = { + isa = PBXGroup; + children = ( + D9E19E7E34E3BFE8A008CCC46B754A3A /* Pods-chatdemoios.modulemap */, + B753B2FF23C525FD0E54007C6EC27923 /* Pods-chatdemoios-acknowledgements.markdown */, + 4896FE8DDAC1EDF920F0C10E57B9017D /* Pods-chatdemoios-acknowledgements.plist */, + 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */, + CFF5CA043BDEB95DBE2327D2E87A2D34 /* Pods-chatdemoios-Info.plist */, + 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */, + FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */, + DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */, + ); + name = "Pods-chatdemoios"; + path = "Target Support Files/Pods-chatdemoios"; + sourceTree = ""; + }; + 57506E5B08E2DB6B9A0358A93E3AB6BD /* Development Pods */ = { + isa = PBXGroup; + children = ( + B4BC1AD0CD91FD3709A8BE3EF824ADEB /* common */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 578452D2E740E91742655AC8F1636D1F /* iOS */ = { + isa = PBXGroup; + children = ( + 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */ = { + isa = PBXGroup; + children = ( + 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */, + ); + name = Products; + sourceTree = ""; + }; + 70C76CAF46334C5B88A04C8CFAFFAA1C /* Support Files */ = { + isa = PBXGroup; + children = ( + 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */, + FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */, + ); + name = "Support Files"; + path = "../ios/Pods/Target Support Files/common"; + sourceTree = ""; + }; + B4BC1AD0CD91FD3709A8BE3EF824ADEB /* common */ = { + isa = PBXGroup; + children = ( + E8598C9D101CFD536B59424DD5B6F509 /* Pod */, + 70C76CAF46334C5B88A04C8CFAFFAA1C /* Support Files */, + ); + name = common; + path = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common"; + sourceTree = ""; + }; + BB405166AC21B7FBDA83F4E97C368829 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 26F3A8353801EBEBD7A788CC9B3A8369 /* Pods-chatdemoios */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 57506E5B08E2DB6B9A0358A93E3AB6BD /* Development Pods */, + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, + 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */, + BB405166AC21B7FBDA83F4E97C368829 /* Targets Support Files */, + ); + sourceTree = ""; + }; + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 578452D2E740E91742655AC8F1636D1F /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + E8598C9D101CFD536B59424DD5B6F509 /* Pod */ = { + isa = PBXGroup; + children = ( + 15AC25C6A735C6BC402A5F5759F60906 /* common.podspec */, + ); + name = Pod; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 466C50A360816EF7F20E817132E44A5A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 5F25EAD29BFDACC915202F5451DFB5D3 /* Pods-chatdemoios-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + AE7BB0D0AA32FBEBDE4A01BDD222D7C5 /* Pods-chatdemoios */ = { + isa = PBXNativeTarget; + buildConfigurationList = 502EEDFF030BF73112324322FFB32B51 /* Build configuration list for PBXNativeTarget "Pods-chatdemoios" */; + buildPhases = ( + 466C50A360816EF7F20E817132E44A5A /* Headers */, + 7A949C5E45C97DB2277BC26D750ABAC0 /* Sources */, + CC14F43D43FA473C78494BFFD5CBBED0 /* Frameworks */, + 46CD069F00C9DC5876B5ACAA451EA8AA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4A8B570E3A70D466945FD68E0E5C29D /* PBXTargetDependency */, + ); + name = "Pods-chatdemoios"; + productName = Pods_chatdemoios; + productReference = 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */, + AE7BB0D0AA32FBEBDE4A01BDD222D7C5 /* Pods-chatdemoios */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 46CD069F00C9DC5876B5ACAA451EA8AA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 7117138631DE463A2F0FAF7227B3ADA6 /* [CP-User] Build common */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "[CP-User] Build common"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = " if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7A949C5E45C97DB2277BC26D750ABAC0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5F9F68327B462720C12987DD59C258FC /* Pods-chatdemoios-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + F4A8B570E3A70D466945FD68E0E5C29D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = common; + target = 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */; + targetProxy = C5293AF72D076C42F6DBAE58E4D51258 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 032504F201C69275441D32C68CCD1F0E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + 48F67AB1E5DBE79CCF2F86C75296AB01 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 4EBFCB79EC7F9139069125E45C93AFA3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 6907C4CEF20F187FD16EFA7B17989090 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 947180E8F38BB5B30EEEDB62362CC922 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 17.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + E7EECF5DD4EAEC0744BA0AC67C29AD35 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D5F1C893FEB1534A938215715B55EDF /* Build configuration list for PBXAggregateTarget "common" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6907C4CEF20F187FD16EFA7B17989090 /* Debug */, + E7EECF5DD4EAEC0744BA0AC67C29AD35 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 48F67AB1E5DBE79CCF2F86C75296AB01 /* Debug */, + 032504F201C69275441D32C68CCD1F0E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 502EEDFF030BF73112324322FFB32B51 /* Build configuration list for PBXNativeTarget "Pods-chatdemoios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4EBFCB79EC7F9139069125E45C93AFA3 /* Debug */, + 947180E8F38BB5B30EEEDB62362CC922 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme new file mode 100644 index 000000000..ef48959e2 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme new file mode 100644 index 000000000..2f76f9f7e --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..601eac501 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,21 @@ + + + + + SchemeUserState + + Pods-chatdemoios.xcscheme + + isShown + + + common.xcscheme + + isShown + + + + SuppressBuildableAutocreation + + + diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist new file mode 100644 index 000000000..19cf209d2 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown new file mode 100644 index 000000000..102af7538 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - https://cocoapods.org diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist new file mode 100644 index 000000000..7acbad1ea --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m new file mode 100644 index 000000000..91cf91f7d --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_chatdemoios : NSObject +@end +@implementation PodsDummy_Pods_chatdemoios +@end diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 000000000..ad802a46a --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh +${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist new file mode 100644 index 000000000..14cb290ac --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist new file mode 100644 index 000000000..ad802a46a --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh +${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist new file mode 100644 index 000000000..14cb290ac --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh new file mode 100755 index 000000000..477a3eb32 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh @@ -0,0 +1,186 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink -f "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist new file mode 100644 index 000000000..d1426a655 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh +${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist new file mode 100644 index 000000000..383ba86c1 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist new file mode 100644 index 000000000..d1426a655 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh +${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist new file mode 100644 index 000000000..383ba86c1 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh new file mode 100755 index 000000000..f2f0541d4 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh @@ -0,0 +1,129 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_resource "${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_resource "${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources" +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find -L "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h new file mode 100644 index 000000000..f51fe39e2 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_chatdemoiosVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_chatdemoiosVersionString[]; + diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig new file mode 100644 index 000000000..777016677 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig @@ -0,0 +1,10 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -l"c++" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap new file mode 100644 index 000000000..e227d8135 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap @@ -0,0 +1,6 @@ +framework module Pods_chatdemoios { + umbrella header "Pods-chatdemoios-umbrella.h" + + export * + module * { export * } +} diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig new file mode 100644 index 000000000..777016677 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig @@ -0,0 +1,10 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -l"c++" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig new file mode 100644 index 000000000..3422141e8 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +KOTLIN_PROJECT_PATH = :common +OTHER_LDFLAGS = $(inherited) -l"c++" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../common +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +PRODUCT_MODULE_NAME = common +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig new file mode 100644 index 000000000..3422141e8 --- /dev/null +++ b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +KOTLIN_PROJECT_PATH = :common +OTHER_LDFLAGS = $(inherited) -l"c++" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../common +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +PRODUCT_MODULE_NAME = common +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/build.gradle.kts b/demos/chat-demo-mpp/ios/build.gradle.kts deleted file mode 100644 index 7afdbc404..000000000 --- a/demos/chat-demo-mpp/ios/build.gradle.kts +++ /dev/null @@ -1,10 +0,0 @@ -@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed -plugins { - id("java-library") - alias(libs.plugins.org.jetbrains.kotlin.jvm) -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_7 - targetCompatibility = JavaVersion.VERSION_1_7 -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj index f3dad6528..a20f6ebca 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj @@ -11,15 +11,19 @@ 6581F1542B36C0CF00BA34A9 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6581F1532B36C0CF00BA34A9 /* ContentView.swift */; }; 6581F1562B36C0D000BA34A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1552B36C0D000BA34A9 /* Assets.xcassets */; }; 6581F15A2B36C0D000BA34A9 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */; }; + CFCEE6D85EE7010FF288D21F /* Pods_chatdemoios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-chatdemoios.release.xcconfig"; path = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig"; sourceTree = ""; }; 6581F14E2B36C0CF00BA34A9 /* chatdemoios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = chatdemoios.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6581F1512B36C0CF00BA34A9 /* chatdemoiosApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = chatdemoiosApp.swift; sourceTree = ""; }; 6581F1532B36C0CF00BA34A9 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 6581F1552B36C0D000BA34A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 6581F1572B36C0D000BA34A9 /* chatdemoios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = chatdemoios.entitlements; sourceTree = ""; }; 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-chatdemoios.debug.xcconfig"; path = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig"; sourceTree = ""; }; + DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_chatdemoios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -27,17 +31,29 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + CFCEE6D85EE7010FF288D21F /* Pods_chatdemoios.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 492FC13393DF1DE6322D1EC0 /* Pods */ = { + isa = PBXGroup; + children = ( + A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */, + 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 6581F1452B36C0CF00BA34A9 = { isa = PBXGroup; children = ( 6581F1502B36C0CF00BA34A9 /* chatdemoios */, 6581F14F2B36C0CF00BA34A9 /* Products */, + 492FC13393DF1DE6322D1EC0 /* Pods */, + F12730E0215F5E013E03F71C /* Frameworks */, ); sourceTree = ""; }; @@ -69,6 +85,14 @@ path = "Preview Content"; sourceTree = ""; }; + F12730E0215F5E013E03F71C /* Frameworks */ = { + isa = PBXGroup; + children = ( + DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -76,6 +100,7 @@ isa = PBXNativeTarget; buildConfigurationList = 6581F15D2B36C0D000BA34A9 /* Build configuration list for PBXNativeTarget "chatdemoios" */; buildPhases = ( + 5543D94EAF015AAF663B8697 /* [CP] Check Pods Manifest.lock */, 6581F1602B36C25B00BA34A9 /* Run Script */, 6581F14A2B36C0CF00BA34A9 /* Sources */, 6581F14B2B36C0CF00BA34A9 /* Frameworks */, @@ -136,7 +161,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 6581F1602B36C25B00BA34A9 /* Run Script */ = { + 5543D94EAF015AAF663B8697 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -144,15 +169,37 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "Run Script"; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-chatdemoios-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "cd \"$SRCROOT/..\"\n./gradlew :shared:embedAndSignAppleFrameworkForXcode\n"; + 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; + }; + 6581F1602B36C25B00BA34A9 /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cd \"$SRCROOT/..\"\n./gradlew :common:linkPodDebugFrameworkIosArm64\n./gradlew :common:embedAndSignPodAppleFrameworkForXcode\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -207,6 +254,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -225,6 +273,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ""; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -268,6 +317,7 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -279,12 +329,14 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; + OTHER_LDFLAGS = ""; SWIFT_COMPILATION_MODE = wholemodule; }; name = Release; }; 6581F15E2B36C0D000BA34A9 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -294,9 +346,10 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(SCROOT)/Pods/**"; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; @@ -312,7 +365,8 @@ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 14.1; MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = "\"$(inherited) -framework shared\""; + OTHER_LDFLAGS = "\"$(inherited) -framework common\""; + "OTHER_LDFLAGS[arch=*]" = ""; PRODUCT_BUNDLE_IDENTIFIER = com.chatdemo.chatdemoios; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; @@ -325,6 +379,7 @@ }; 6581F15F2B36C0D000BA34A9 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -334,8 +389,9 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(SCROOT)/Pods/**"; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; @@ -351,7 +407,7 @@ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 14.1; MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = "\"$(inherited) -framework shared\""; + OTHER_LDFLAGS = "\"$(inherited) -framework common\""; PRODUCT_BUNDLE_IDENTIFIER = com.chatdemo.chatdemoios; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..0c67376eb --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,5 @@ + + + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..04d5df0fc7398a7b17cc745d48cdeba6b1290059 GIT binary patch literal 37020 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 QA^3mJx;P~srr_`T4^(qGyZ`_I literal 0 HcmV?d00001 diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/WorkspaceSettings.xcsettings b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..bbfef027f --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,14 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + ShowSharedSchemesAutomaticallyEnabled + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme new file mode 100644 index 000000000..35707b76c --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist index 361dd69a3..9145cc551 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,15 @@ chatdemoios.xcscheme_^#shared#^_ orderHint - 0 + 2 + + + SuppressBuildableAutocreation + + 6581F14D2B36C0CF00BA34A9 + + primary + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..fbc71311c --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..3ad1d9defb5dd47eb257d8b6b95795f5d3877cd0 GIT binary patch literal 92333 zcmeEv2Y3@l)Bo-6o$gLu7QGrUEnw4oLXd441a7fhFeQqx1y-;vBgwQtatrAV(n-gL zGzdvZ?+K*$;Pl>m?>+g?-sxn?mW}e}eZTMje9sGyn{H;d{dRU{c6M)BQ++TJ9Y6kg z4snYwCjVS9w-6)U+@wwCw0WO*E3hp%b_J?6zX> zg21{!tt&=!fRi}6!W;ER0}8s{A)LdRI5XFq>%;Zsvbh{?95Pag(_z+*EEF z=i%ma3%EkAh%4qwxKi#2&c_|a`MG6W4Oh!GajUp67vZAZTJBixIPL`QMDA4XG;S+* z4tFtk33n-X4Y!Ni&0Wjw;jZJZ=WgI`=kDS5aSw5iagTFPbI)+ka<6i)aj$c4aBp&- za-VUZb6;>@a^G`5a6fWCaer`sB8&*)krA1Y6=fhN%0@Y892$=%powS_nvABPsc0IS zjt)aEl#B9EKAMLXqH44VEk;YwQgkG$LqT*jT8WyFf=)+gpmWfLXcoE%U4~lG4s;c| z8tp~A7(5A2##8WAJPpsnE}V<=@B&v0oag~NC?UW1Rp8}LR<@d@}$d>+0CUxr)p4tx#Xg|EZ6;@j}u_WIkCyjv!^EiulPgQbQU@BMFgH$f@KsaymJKoJqEjt>i3nHaUl! zOD-dqlkKF1Tt#-1>&VUIHgXTSm+T|YkY~vO(ng*m&y%mo_v8oi3;C7&N&eyq&+`&5 z^A_I9XYfwGH{XXJzz^hy@I(0#{7C+Aeh%;AbNM_zpLg>G{9Jw>@8OI1a=wCJ%rD_< z`2fG15AsLzVLrm2#-Glg!Jo-*;kWW<@n`er@aOX9@fY&j`4+yFznZ^>-^<^~-^Aa= z-_1YIzrer9zr?@Hzrw%DzsA4LzrnxBzsrBZf5m^z|IGiw|0-aC2m^&d!eAj&7$OW6 zh6!21aAAZnQWzzS6($KYgqcFFkSBPBa-l+~6sm-ULbc!*mI-x2P*^2|g;RyogwusH zgfoRL!dBrd;cVd?;ap*xaJg`WaHVjaaJ_JwaJ%rVa6o7io)exIUJzasUJ_mwUJ+gu z-V{C%J`+9{z88KFeiZ%`{xbA7^fB}`^fUA~3@{8d3^EKhWEzGTh8xBjvJE+g$%ZM0 z!wjeWk%trZhwvBaM}^r5tITG+vr4}l*{>~9=o9AeBejx-)(%r=fUPBKn4&M+QoJlvRTbQ|Xx7Z{6;M;ObERmMfe zrN*O-HOA$}pt0Tb3L8lN$?8DB8IY<$i5rtux)`^JxqpBld~er^2D z_@nU`ni@^3Oi|Ms(|XfJlVaLzI?;5B>2%W;)7hr; zOxsKsn=Ui8n0A`3GVL<$G2LLg$#kpf4%6MH`%L>y51Ae{Jz;v z6U>v%)66r?hneS?^UMWikGarXVlFdRm=~HCn~ya6&9&wg=A+FG<|cE*yxP3Zyuo~& zd6W4B^U3DZ%x9X5*8H6LMe{4>*UfL4-!*?={@DDP`AhRR=I_lvnSV9^Vc{&qVz9^-v&Ck~u=KR_ zvGlhLvJA0gSw>n8v1D7uTP9hiT4q=dwH$8AwYV+wEDJ2fmLn|XmMY64%TmixmKw`) zOVCnp30cCHX3JX3F_vR3)N;J#B+IFmGb~#z=UC3STxhw(a=E3|a)sq;%Wlhcmc5pn zEw@?jwA^F4-|~RvVasEdCoRud+AJ?vUbehudDHTa<$cRXmQO8TSiZJ=XZg|ci{*FA zUsh}ttdiAawOSq49@gI0e%683OzSY~2;Sg zTdX^+S6O#i_gHVR-ekSidWZFH>wVV!)`zT*TA#2!Z9QOp-ujaDRqGqpx2^A4KeT>g z{oMMM^;_!?)}O7vS^u;l8*dYBMw`WEw>fRSY<+D5Y=dn>ZNqJ&Y-4OWwh6Y$wrRGR zw!>_5Y-*$m*o9z> zWc%3miS1L{XSUC6-`ak#{cQWq_NSe<3wDEDw0rDD_F{XP-D|J1FSIYQFSYya%k0bT zE9@)n_4X$FDtohiwSB$)82fQ{#eTf~1p6uWQ|)Kkx7g3IpKIS{ztDcE{W5#2eTV%j z`_=Yq?R)Hd?Kj$QwclpH%YL{0e)~TAL-vR5kK3QHKVyH^{=EGK`z!WW?Qh!OvVUOz z(Eh3YYx_6$AM8Kd|Fr+*AP(7KbXXjAM=wWjM}Nl<$56*8$7n~kW0GUCW13^8V~!)= zG2gMkQS3OvQRP_d@H>_{>Ks8wgCpXII@UXmbsX3G-ivEviRSB~!-zc_x);4=6OV}>ci zn&HUkozXvINXF2N;TfYcaxx}nOwX8+ad<{vh9_fwMo~s-MrFpLjH5FA8MPTJG8!^g zWvt0qn{jN$ri_y_PRZDkaZbjC85d=2&)AuwL zG2@ktw=&+#_$1@gjIT4k&-gXtHz#rmPLtE&?CI?99N--49N`@6%yv$4PIFFo7CMWZ z#m*9Esq+YDnbYemcUCzUITt&ZIFE8Jcdl?A?W}h;I9EB>IM+JYIkz~sI?r;R?L5bM zuJb(S`OXWR+ng6VFLGY&yu^8_^D^fy=Wge<&OOfSoYy;VaPD>9=G^Dp?|i`dpz|T; z!_H@&2b|A4-*F{luYg+b<83hxw-FcHHOqeh|f70Zs6Mgm`o_u#zD7-S#RZtT@ue{KLbkQ>Ae<}$e<+)zbO42q~oimVtFlVZM_%i@M}Be;?9b0GV!SQM*b zQ+mTsQT;x~XYa|%2{zV-)_5WX&^T{RI1p$&GX7~n*xwNF*=HwKr`*3RFVq+fhwAGC zVc(4LlU$Qr?(xuo>65Z2yT?z3_T=VgPk~mtrcIqvFn(IT&z=ne=J_K@5pKqM@*VS$#ltNb>zrzt27*UIQpC*B`F(M=FDnAP`jrqjlb3D(M{>{Z+hZYDR2JCr+&o6Q}r*cFG8p*WQuN>8QN zRnYahTppLtx#73D(D8kgGR3P@!EXx{7y>)g!CMzvQ|w)5tuHktXo;Lg99@IA;PGDW*9W#AQDHMfXc%q`)TDua}<%Hhf!#m(xTxv(Zw8^{593xd&{c)>aG zvGCdZcR^ABsDoyC1NBh-Ky92Cyw$nkP;-;^0DRks&ps?Jqc{`|)&wGIY3i?WKD`wI z?r3i8PHs83f~(_#%3vi^8KMl`$*tt-xdv{fGE5n+jDYV@`yK_s`e-1m!Y+4R5wrxn zWT;c2KN5}0Wgq+Oy($`)rzGy9$q3X|c#`Gl^=al-bG^22SF+l;b=-RH7;eKNO+hrm z%vz}Z8i*_@_T~ox#-T=kcwH+{ZCqIFEm56#4W&u-@rD2gK&Y3YaGSVZEgV%wws4!3 zQB2P;WT)h51J!jBcQSX1&)yFPkIlPM7G5X|G=&2Z&@z5j3*``HbcsX!W|uD2gzuw?Y= zH)!a{G2&N+EH8YK7G>_w|C^7MIfyIz}5lA#Wi*QXlDdy%?otYOO+Jk=VI zvz)CY?6bBRGiUvcvVMWG4s)~)7|?e399P!G)O#RV5@Ozo433oUB1`OU#0+GRZoVCoVMyk zi__(N`P1x`z`4}1!#MRwZ?MGMc9efvy3DVAwf<~iu7zT=hfi%=zM?K&&b=cx8-ep^ zbL)VqZS@U}Jz?ZKsfW(9a`u)V&OQyJsF?`8sg8(|J+4?h<4KOnX#6bWR5J`6R7LA|vpbW_^WMr_Ui zX~*|$F}9s}(#h%e!x<}2I~>?fg<+e28uT4gNZAQ$rR|I}x1?KzH(K^C23co;tnA@! z=bU?9x{P~A-V*`F3kI^D7}0j&MHi>dIb!oLre){8_U+q~S}$v9y?pyHF7|KO{aM;? zt*twT%~_@WK5WiO_p86PTmdCs*%OBUD(L#yuvY>Eaw2Pj%cBsfc7Uau1E$pih%Rr0 zmF{$I3wJKWlrQIYa<_30L-hCn_agTS#Eie>zC#Ao6AePc&Sd4)fL-^O3X-@xC(-_GB|Kg++x zf6RZue=8US6T~I6g{i_U;V_6nRtU911H>Cw3#UM=u|>E+xI?&C*e^T+al}uAZ-t+P z-wnvn!!QhDg;NaE4YLgSh9X0$p&DX@wGbI>(0U&u?I(A2>}TwUfofLD>D(D$gS*!@ z)oYe{NprM5*cf2LqU|9tvms{j?BLFX0oj-~z0bbPS00_4S24 z+QFU0Y%JY=I+weE8{5jA$DOZaD><#)Hts@YoHCo)h<#Tz2g2)0{cQCDTQSn^`7G58 z!cu<}K5x`TUB>NT=I7dew{o{tt0Kw+;f6)bB&}8J zvPk_|Vb1}}9o(JVUEJN=p7JONT?h?tV1uK~Qf4r_@?P#f?*3|Ug(J~0 zv`U#-8L9J!1GU;{?B^a(x1wUB;Z!6;S4(PYI z_Zgty=HB7n<=#^Yl)1`0#j}(9fcp@9s*jcVN)dQd#s6de)K}a$%-8u^Sy$WfW3mTh5dZZ}Q%NolheA;WU1Ku$?mr}JAHjQf?qKXll3MF6JZBaVzK zNtJHL@IjgIeAKX((GV*Vv@lD@y7)9_+#L>w!XP9Y+>Aj!Q0W>SXlSsX;x3rl;+^Bh zPsltd6)4?yG3Bi1R2?7dvyRWyUR9r|rb0i6c8!LuYqn)w2;0I>&05hff7k4s32XoesC~=@Q9ieXh z*PZq4sxkM`gBi!PN~TuXn8KJdTT&Qvwl5pW(NB6{?`lcfik(V zyTJhNg?ghtfaZRvKN^4rGE^(o$|7a4vP4;`9I5z}qZGfgOsUz8hHyKfMR(y&w>7!2?IKd+k*~;f{MNI9x4npu293b z37@G7%#M_RHuSU6;foWVwxT)Q#>5X6mB7^TG(x01!pyylSZ@>tmPgA&Wx*A7Q4LOR zWNASK%F#-t4iOJ3<;Gr#=A#AR85N;oRHCd@>XiniQ3)wcR{{{qkQcsJz<$9BWtH+M ze18pg48|l4j6>^IC?8_;YI~tmw9n>2p8>St!j`# zCf!_L%OcaIu=7wB0FyHk1=O&BTtu(057mI_gpNXfv`h&r5hc0<+_?Y>D9y?S_z#fG zVBO$~#0rirqjnvq@KEh}Fg^3vfq@&W(Ld3;s2+t{Q3GmJRx5WZn_fn%P#8r}6o#%D ztww9mTC@(WN5`NI@Y}KII9Qx&W7{zra$&7zMHYkU4AXo$MAO&~23z-IR&X+Upc)Z| zk9J=KLgbBV=szZ@BfTT(DJy5OUW1CVLg3c_YS$)lKS()7IbAtZS)<$mzn!X_@gg|E zo6u%x-0|oHbRs$lT;fyEsoYK$#fvqoFr@hrN48rX+Pv-=kLs6!83e0*K>Hjx8~nk> zc5>(=waZJE>oVJ)DVvpb%8AM;%35Wz&ps}0%_eoGCa`@MA#VR_Lv|(#?Lb@5R&#C2<`r~Hqt^k#5@?%p94OF@iE&~5F}Q;8n09=u)x?3WX=NJzIkX#Eb1m9~uH$Y= z9Pa99umNU?zoAJvUO7R5x$k3;n>lXWIHq7DRD&tDnT8*W)?`V6=+eh;D)z4#u56qB=@i(ao%9Qau9W z1>K5nL$@z#f^|XbQRQUiB%giezg}6bI(MPF7i*TLiosTN59r5)4>YR#(EUF9C>Yly zaJ3I|@=R+*`&diTrhg7S01bSQy9EMCd)PiO>t;~WIpIJ(IO3}V;5MJ89IsX7G4yyv zu@~lRD|$@rucqc@^}!k~#+9v^Ca_BypAO6k)O4rb;W?#&75+$b#H)rR^FX8OD)MRc zDqHoRLC>NCs0}@bo<}dB7tu@TW%P=&McJyHrJSvtqnxXpr<|``plnkv+>KrXGa3G) zx6s?@9SBZjq4&9w%0-~)+5bzGoyrw}P>XUa>{5b??blwaR;wIsYe$Vi4Cwq2bb3*+ z5ff~x(3wx_zS7=XEj#Pze8(f+|77+uT(78}(y{kD|7Yak2IzMJR zreFj!n>1C&t_k~_3PEzrAp8!6TG02(#mXj4_x*%IJJHXeL*Prf1jdMcZL&)`82$p^ zq*n{(l*?K$RxW4WMZf$&eblctOfwYXofhN51}t;ETCs>FWxLYSijCN$v?@E4tRrjn zRY5gc7PB_1S}_oDpp(=pVFwCrS2o2x1YKrNJOC^W+zVo>eQ;mg5BFEDRIXC4R<2QY zDZ8)41Gy|b7-w=9;-Sj50JS~JjSzCXNnO#^c@P_(NY0{Ar~!I1`9o$mFoP{O)ZADL z9o;WZ9z$rJzi~BW96)cwdere@2_P>VtYyIxZG$>aP#SD(4AjQ{1Z2h^#Kh)<`UOvf zh2NO$VTXUM+Wz2Fs%as3EFQY(x)JZf?PcE4L_FNfN64%~4o>VOLzI&&P9F z1>CqmxlOsf6`QaTMzU4Os#p%Fi*y)KRXyQiT%zTiXpKxTrCM<*(^o7XrPH%c#u6^W zUhWoLfi}Qz3vsn_pYkwh!MnixxKDXVc_hjFz>Dz`W`1BFK1z8&xkt4M?pF5u>=WW@ zFiCN@+XHGKD^Ob)S`pDq1r3NbV9McI98m66?vL99xJ+Ge?_&#YMQ(GjzBaZJ;|BG? zKK3ASp>`hkm-a8V2;&G_gp~)i<#yuQ?6qtLXV-^Tz^dz-Hhny#>`cp^GCt3hJ$cfk ziP^4+uDt9SuBqcEPMnlGA-`Z!!a{)~>Z0%<*Ayos~H9>(zykf><}pR+OAY50`Kl~+>^A?$pd z0z-IOdHDpIUFelqP_ED(`hHZ z5`1ZVg>s+;U!}A$?a)^@?e)g%wuq)O@orF=_*&&TWz!4Hh{D&S-S`H)7oy!$@Xh!Z zFm)l=;D@+)7*YgaDmF#690O*}DlaRXq&%;@;IscrBRvD(4*h-yzLPn9aO@&xK}PGC zQ(z~`i{Rnmdw}F#d>^wJYT@HNOpx-DHWByX{Y&GaIL5OB@52vp8!I6{1pd;99>Nd9 z?g3yX0RVa*?0{`5H9+3Q^VFsqe5%4PQ`1opIblf$T4_&Uh?=u-dlGW9#N-QV+RtR1KSff#mP0PMUG!_M0pc3xuGc^SW=ys5nPFJtEe{1L;>hswJx_+#Zg zh8+hOiE&?FbrrSpK1Y^T{006}d0+W7?kwYP@DE(C9kAv19sXYVK>1MlXb1k08;O5b zJ_ft!6D4aYh->#YmaxCtlgsSzCtIP4{3~D=r@1yz9q+_pbAm^y%SKFT6OQm5OCkc7 zMMUK@SQ76XI1HP!^eGZnP;lZ|k^+u|V)y_`%koRu?# z3?;)zmh!#wgYu*D6Bw1;PHY0R(gG@Whh|9juY`~gi*G|W1=g@NJW}Rgqeeg28lL<# zmOZ3yNI_gC>7mLF5kpvx)hVnRTfLGh&B?WvJPTn4axN5x)KfUD9aLK!HZ;$F6$l-ktQ@%AICyc4D*^4QG{Da2}PuvnN7Sf zvq?FrpophPjL&VdkSysm1fC ztYo#%q+xTEIZ512WCJ*CWEBaM2#JzrvYMY1+AhrQVH;jZ)kFIeWF%O?@Nq6+ zeq~b#^7A4p1-M$ZKKuAW*urKJ;Ck3KuWb*dYSMDSQ?6C1gVA;1g~L1s{iZMHT0SzX zoc0^rk!oB4m1u<74qF1A#^oU}%*$Z2JR0>US4fR8vn*N2%`%u((2f2t`OfI3QA4LNxMAAVSv;E;t-KjM$qDD8Tq#|IQ z0%4lk7gmiXLBa56nBK(BBs*$GntU9KG0Lav~wzcQwcT+P|YHDnhvFIco_ z7)ySVGLQZxu;X?yzQR%NEoK6X6(n+jjq z@HKhj6iD!PL5}zM32tA5za|t}tNrl#!wpj>>-D>x+zB$t9Ta7@kh>@v!hraGXrR*kK7p*J&&cQG3-TpJhf`EZQ9VTp zMVC_q=y{l;*D3mzVgtqfDV_vYNqfAEe8=1%iVpGFH~jPPB}|?T>%EXfX&`N^s@{9jj zNi25TedF2F#4JLUJn@5Uu;Lp-Yari1Q?QX7*j!r)$3YqsYRqG;#^ZhVWB=1NPVPMj zr3PTFNHt)*s8tFM%bfC`uGGQ1v9`IPVO>r`VyBt4`oS*8+5hYHV=?J2JJO+5bgIwp z`L|S*2}$gTUYh*rkofn{ z(}%i}U&!@p;j1VrZsDsb9qe(-G$ekp$xgvR+Ju|!cR>~rvbei=naP*m1wr^A6i zRUqx^9Upw0Yheht5tU&pWK zkKs4)8~I}?f~G8_2%55pqQw*~p=c>ZM^Xgd=ux|PB?i#rV*ovw0o1PpG!O^q(f+?gI(hB9v+;h zUHrZLef<6WK7K#{0RJHW5dSd$2t^GPHBuC!sEMLg6on~@P!y%8nWELZ_{U;+d@6>= z0}PLAbUdz$q=^kFap5|3Oh||2OH#_>}*g;qWtx*0=Cq zP;^Y1IQ)kHo*_!&zf)Q$+5j7g{Ex~GiZ*rvl>G#~tl#)QH5C5AP)r~HdAywMJG^nB1I>`DISVWp$Od6({>9E4T(Ze z^tRBOE#5*uhQ-r$ES{;r{5xA)zAyd1hej65)q)POZR-D@a~Xuu09@e^iq41uSIAD8 z%%DSKvM?2ZD?kilON%g#qOIux7fwpShB*LNIE(@JEKr5m$h0SHfp^&a)=SD47C@?k z;1&vmxxzfbBh07h9E#4R=sb$frwEk)HZ@^EDCRB{O5qeaBrH&Lp)#AIi{bPG1d}q< za7;W|;Gd@~{Ij%#?ouA~Rxc8kLO%(MaW+L4Dc7~)33xmtD%{W^!$2pm5dv&DV6D3( zRU(2;cC^r-ssN#$sesGU=>3RrEUZI9RA`1{ZEJ+J!a8BSaE!1)*htZKieL;|DFVd< zGx-XNU?shZqN^#oW|weWZ1!)~)*;~}HurbwbN|}-I&{PTy_x^NZ@3HRvFQx6W4At? zFYIm|61EGi3_mcOds+k-&g;^g&Q}S$wCQ{eo6gs#VQIsu$eT0_-pDYxHyxHcga;W2 z?-cG5?iTKWGnMxV_Y3>rWaR@C-9*vN6x~A6trUU0+bOz(qB|*qc=p}9gok1vd@KgS zrx*zD(Ls1$9E1=47li+QV@P<7fe<3i_v#=7>!@pENcd3rn1S#kitcX_KA~t|njri_ z_?qd;FPTxkAB=M08*HNJffOln_LFr@_>%w!eIOA__=TbHAuxu7ZGtK<(@QqVYd~#+3|>uow5Sj>Zr}W0PSO`=SW6 z-ly7kK%-F~>@|jU42x?i`n<)ko}w?(#Nx3As$o%KSp1T~YBR&)SDmqlD)homHk_tm z@l=MzZ@OX9InFX%!mxO@;T*%chVu;P8!j+xGhAr6$Z#=5-%<2EML$sVBSk+^^fN`j zQ1mNBzftu2F2kiUEVjh3cm>1aA37HQ(y@s7|6=h!fW?~_7QuM>Q^(?M-7U|Cdkyz9 z6y8TM*J9X5F-jAK4;dcSQ1}R-5Mwa-46sa=QA|3)(Ef>zsb>sr8VU~p3bD`~lg{$8 z;XMY!R}8NjUNgLIc*F3f;Vr}4hIb6_QY=z14zNtY*#z4Fn<=(XY^B&nv3-}}{TK{C zj=}JAfFX9oV2FFhVc7S-F#Hd|@K*-I-zd(|VfZIgiGPV4`=Z!MaS!b~s6^gAB{tlm zD8jLb77>OOzQeHgP7jWvRdlFu6zvR-eGb0XioL~tDi+1Q42%8J;K&rm02IX`;!tsz zm?aJuM~EZEQQ~Ov5Q+y-Jdol+6c462lj0#152bh*#aR>&-zARKpeT+PCx{cdEO9b} z;s_mzz&?&bAOOHS;lEh?_hV7a1uTkr6pxHyQ7ix~igU$z?2BSZQyQ&(2P|G}@2z98 zL_C6Fv6SL5Eh1>Pv1wwlQmodnxR7Bn8;~U~h6Ngqr*w>lIfi(L&FQ0NDsuKS^>UYq z5cUBtMyzGXoY)P&&aqNl&5&6yHi(U4NNf^UiD5A!M#W}|CsRCy;;9r*qj);SGbo-( z@hplDrTDO2;+hyTk3ny+L*{H9nRDP&8rz4(?*HQQKY+_K7%tDGaK=d6<`U29 zZmAZxi5D?EUP!U4MZB2e+%)lcxd>q(a9+d~hQ~aHr=1Ls`JM6D?{FPb*NE3@Al%JB zSkMiV&T*r73tZ_W-Xz{kG0dv@t>UdBuohBWo|K9v-mT^}V2{tf{GaDFbdjBs1F5UQ zXuX=k8c9g15cg??FYwv7{qw^AVTMZQR4}*`A);S8EIug0Zs88`A@O1H5sHf_E~dC- z2aMk1;uCEAKrwk)Ae?2!`brBu-g2Ki-&0;v=JUD>-FfAnl49QicXcWP_rg*a9F@@t zGCN7A^mskFh3+yC!(^x%^Wp*VxfZdF;v*<7(>{5j{qhX)W$_ibQ&qoeDiGZPpS;R# zghRMqb_lfBF~^J_o0&av`o^)D$4s9(b!_IeNfS5f7lMgzi0`n*zA3&XzD;oj#g!CS zvBth9zRw!Fkm5!EqmBKPHTE-#tK*IRQf=%(Tk@^=1DglmiQiMagyJJx#UI6=C_akv zhbPa2-!&*M_1P=_O;BWbgv>oSEY}35(Gy@VA+0Q*&tCP<%SxDY38iUCK@u;?a5O~{ zB!eVMV8{6>UPf^Z#kD&nqhylI609cyikDNog7WH(Z(3Tgp0=B?yB2DW#BzDH5A)b{ zY>>^Il){@#uVtkklw40#*HhBtN+F7yC|;$EsfrCxrQR9ZWoeUA zbX2^D)fo%=(Ca}(#NO2erqs5>#MLHBV4W+5lG-)08Y{9vRBj)@8;HVlUn-GGr6Z&=$t#sh6;h>CB`uVyrA5+WX^FH{I#TjUM@fEZ znN%ayN&#uPv_h(rg3{5_N~vCIkQ$|s)FiEv!cs(vO3l)0X^pg2S|_cSj*&J<8>M5V z<0M6*(k5xMbi8zebfR>Ubh31cbgFckbh>ngbf&aL+A5tToh_XsohzLuoiAM=ZIdpP zE|M;mE|D&kE|V^owo5HitF%MfDP195DP1L9EnOq+l6FhiN_(X1r0b;{q`lIO(oNFM z(k;@h(rwc1(jC&B(p}Qs(mm3>(tXnX(mrXw^nmoB^pNzh^oaDR^qBOx^n~=J^py0p z^o;bZbUb zFAK6k7G+76Wut78&9X(d$~M_9JLC-6Dff_j%Dv>?av!;`+)wT=50D4SgXF<-raVL* zDi4#ha9NP985$kSEHMKd z+4AA?9N8u3%6W3W?3N4Ux$->OBhQx?$c1u|Tr8K!rScJSne3Iz$zeGnN9AUDwY)}N zE3cE+%g4wYWocgefuYvn!i zb@KJ{4f0<3M)@ZBX89KRR{1vhcKHtZPWdkRZuuVhUim)xetDm~Uw%M-P<}{$Sbju) zRDMi;Tz*1+QhrK)T7E`;Rz4uN$6K z%YVp!%6}O-BQjzmG4e*iXfTRK$tW9*Mw8KOv>2^Mo6%13F%*Lm+DP%S6dy;iLNTRy z6UCb;J|12;M)8RhpG5J=6rV!zsT7|^@#z$wK{5CRTPWU2@mUm~P4PJtpG)z16rWG= z1r%?i82o^XC#S_!f$9rT8|AZ>RVUitnWOE{gA__#TSyr5J*Q_fx!& z;{6mqK=FeVKSc4v6oYm8D8-La{5Zu=Q2ZptPf`3d#m`XuEX4;X2AlCYil3+W1&Uv! z_$7*8ruY?#U#0jpieIPr4T|5S_$`XT_IroocPW04;`b^3fZ`7+{)pm_DgK1wPbvP4 z;?F7mg5obJ{)*zSDgK7yZz=wc;_oT`f#M%2{)ytBDgK4xUn%~L;@>I$gW^9a{)-Zh z5=0561nv#yDG?|!P$E(yQ6f`fq{KvtnGy>nR!VG?*eP*Pl0k`+k{*=wq@))my(#HK zNnc9(QPQ810hA1+WDq5TDaoW{2qi-)8AeGKCBrEhLCHu;Mo}`Fl0zsNL&;c5vMI@- zWE>^qDVadYL`o)6GMSPoluV^$8YR;ynL)`+N@h`VC?$tcGMkdaDValwi;`SQ@+irt z#7#*7C37j6M~R1$`IIc6q>z##N{T5Q)Fh>p96?DLC0CAE|UC|OR)3QFoI2~u)2B`YbZr=)?BMoL1IG*PmO zk}xF^N}`lBQ?iE~ao! zkX%a1Wt3b_$#zOwC~2i+2PHcxxq^}_DY=T0t0}pLl3kSSrsP^m_E2&iCD&7O10{PY zxsj5aD7l%ETPV4elG`Y`ox%w^awmlobmVSI?xEyfO75fNeoFRHvY(O%D0z^QhbVcN z!XY^FC?$_k@;D_=Q1T>&!*AqiN}i$QSxOF2(niU1lsr$#3zWP_$xD>HOvx*hyh_Py zl)O&K8PX~Xm{(W< z_XGG`i2^ej?XZrt-ip%FlCp9jE-iGG7nGD0#cME(F^oj&@j=!Uuh(7fD|O{9@D;g= zJq2!X>e-!hrDg5{&qBRMBN)@zIFq|5m(?TA>h*bwfukh90=)O!isJl2x6U~_RzG%H z5sGscyTHr$K^!384dvzg%G}Z=zZvWPqDY$RaodNcg>Bn zk7Mj(x@BigbC>7M^OcmrL0r9}6B%P)q#59G-(kZBZ*@`P*i7kytR#1SBH46CHavy2 zd9E@xDiG%=DJu2)@;&hi%wjB)V=N_2?DioxK81xPRnWq+xontXgX!~@y7Qn1Jd0cm zhI$ibGYL~VOQ>>HdwtrNd8<4H6u2Dj4Vu8Oy{GG!?-;&Pa9&<2R0v1ttxvAkVbR5QjyI+dd90d3;= z3ZSmOVpmc7ATD8iBRlfVbr(b9%OP@CRsuY%P}V7WlYA))^AyLFPM3u(V|;LlGP`yu zGY;E0z+(b@^V}|&Y+heMSxFJ72u~rPSyLEElOVvPb;6&k6rzoJD%O4Oh2?H7k_a~f zgCZ$}SfQq?>lp8-jx{N$@VeCk^L^gDGEXU#JJ029@2r)KYhp((Z=S2z$8<|VyP@)c z{8)qHqua>%vpe#~MiIL5|OL0++9}81kNohsVLROt?!PqqzbU2Q*LCG{kxD^ zlmH=x5svDDu+&{vco%p|^>tb=VJ9OSm{dYuNolnQbtj9XiJ@#?dE9xW?fvuWq+W_Ashs%*Cj*^|87rx1=zR&>I-_ zuq2tR$sp+~)eV|Wr%kt?snyRd7PJ5p4vvb!?wW(>)* zr^*GUPvYy980*x7v%)Pl6yX-1`$Kf-YGO*I4@I!XNOO3g{nQ=<{iI zPNBEL{>%@cCr_h@VmrksJcRV)MCU)+tjDO0(`SS{Lfs?(>M-7s*c)4DM zH<*aS(-2X(fFVQgUAR&nUP931uUB_;bYX8ZVKWadtk^rRxxwF922+4tY?c>lS{K%C zVAm{<_n4eC1{};De{*9^omYJYYl^Y?kO`W8@CwBR#qpQeN1re$;|?xG!*FqMSt58p zXUu7g5xaS;KF{C8T;kY;UwXHG#YCh5lVWe`VfmKv7o<~vR&m(vSPj>_hP7)#D)xq4Z@2Zx6{(YfUbEt&E16*d@<_a983iOk7$p(RYR6 zVz%xC+W&^YHI4Nlf9*j8I+?&UhM>f&DdetN+AB>t#ohvV*|jIXD>;3coU{g@z+YdV z4;Rm=FG=f4+yEwSUOMBMs7T<1C%h!LrpqZXm`P1bl@!3u+7Wi+UUQd_8_I;uNvDc) z7ZikpFrx|~W2dVI4`oy`msQJQ($ZLkVKomm1mLpeuG%;u?P{?&VSRBR%3gZgm9)uBT5dXH zqDLLOT`Nq}n7rb@FVEFjTUEziDbtO1pUGsG{2kfl0eF!ryA8Et^V{Ek5;F@-hcV%4 z>1n+qI?B`~&0&(tJ6>*8uS1(KOo`7u8iek7lCM@VOwZG#CzcC8dE$NejC0F490v9b0SJ zo#EX~*(N43E$hXrUexTWg%JhgKy&xIs%V5sO$)%9)cA`;x)QjW37nq}PAb7o3$c5p z;X3bSfv^j%=xl};WOSji)-kzhO$_#0B)I9nW+h}vb|q~Cla|&fSB5;LT}e5PNl9as zsPM3Nodv^z+I)D|c})QPWdAaDXEEg0=@8z;WTg>lipz==z&q5m(19-F1SVtB!TVl& zv2t?+Ugb6~SPSnC(*>N&1f=1rCkXIH;T?WD|7nbW+QBOTlLy{kvJ&3H2gW4~Q(<6r zpk5bpCKHl|j)qD!H)-#XR9BVd;7gP+n;0x?m`CxRJ&Vap!<#;sJYTTX4=*-WV?3sF znNZKcTbhPYw%+SvFJNNRSeN5s;dLlAus}6NbHi}6ejuz1x+u;1!ANMG7%7BT(!_4) z23Qt^+1vSGI;u8yye}_hV$+!2$sx#C2@tAXNB=*v-c_j0`+c$cyehy07(~kB@>v|wCpkfY`P|G8BBG>v79usu4OXPP=8fw zoKug0Yi@e``zrKSUC*SYp}49R#PvPAQVL#277eHo(}eJ%=|(22KUx5$Tm-$j7B3&##6&3D_(zf_*YiE^M8bS9eHLFg?ha zM|Z4ps_y>OOluh0Wc*LQnN&oSPVT@~lm_a#}q_2GGuv5iSpq*h)ck1rQ?_;tot7~}9%j8Gn& zOM*NpA0+uCZ1|a8@3M*-J#=Y|L*2^OOL~j34eX+%;u2q}Ctj&{8EIxJQr6=>*rmu5)@!A2aU3skmW(5wf6s<<+I}qCR89gHjQz*-}aE{gTm+ zNJ(2hPtDKCEiWl4OiWNPeZzQCPRbIECqIe&dq$peQpVF+idmJ-SiXUlMiNgl(((#oRW@@>T*`@6=8j{ppbX|kRY}=`q={`NjCX9RswD7g8DG`O zoQA){nV6zvmKkTtSqaUD&0$8ID!0jOW{fF&+v_fMsd-A;6jP5F>fK{wTq)6`k7y!# z%o&V)SgIcJ0#;&xPDr0I_w2Gc6~*!HPcik)eYz~E%2ig(a;*xJfNk#27*e($IxYd* zrHP0(4`N)2s=p`zFC1j9ccvC;07DLzVmD+9s;W0O+Isg5VeAtV`lD<1d|$4o*i}}Y zs2t2$j2{rjqMpI^s?oh+1Iy6SGZEwZRL?)vOCHHMCw0dO16aTk#8@5%OHFe@YG+A2 zuhV=8697O>%{)~rDS?e8y;Z{;f>bHs z0$Tu5WD*mn%rh8EPGU)UWp1XT+RI=thm0%6uMMZ(utOPdzeHZh;D8keYzEbi)9DUp zbfc2!O2CYX1GK%U1jTF4Wn7twT<(SLyoz!alko&Ty$m;_9@qsngGD?K**uStj!7hK zuK>(XW~XSms*u#o(kkPlvVbuTNo0&Sp>)AqCM0Q|6?dvqyUtBE;mk)c(qSnjx7RJP zbIKV*QrD-Zt73FX!`n`$t(DL>v1B*MOH5LHi#k;*fw!W(v;r1NND6o92Do`?H-#k? zqryZ@evkLJf4A;vT`k*U4*|gI+jso zB~huz{#o;UV54>h5@j4oqflCr3(33f3Ba8@^mxXTq+~R89#fgIa@@s`t_;Je_s~g< zD@kosl|jeCV0F?kr!vx!$O{`1HFcTnC7^0%y_y&A)e^7OOx+~Y<_yL(yaQ9a8i?^F zv20~5Lp!i&1DnzaI)~8@>p-ttXsHS~pD_&Xz)>a*4gWimE@zU)cBqrL8Z7uCNDbG`+JqX#wM;AH9G#l8 zn=ZbBu?^_J#!|vH9#AQDtab2u3ovF3iTwbkH?q!tFPbnyiRX>M$xGBrHnQ`__#hI7^Yrc(<^=l`Cgx+{U zbh+DAq*vt54pojNw!=j8#S+?e%6k~)kameNN;vQWnhH!b@CM2~aev-?KO@iTM6PAb ztJjGD57RSo1U$evV0P(!Qs}BE2LCk=GRn)#Tpln>z;S?X*DLfeqfZ!{&h&6?iJrD< zevDDW@OLd8R*_ODi(ONq7x5%xN@%k_cUfd9p<+7uGmIRjuU>|>jJIPZX$@~<#G~4Y zLI1N$Qc6^B0{&2SuzC2~$w$UdY-2(ILqE zO;D&WGgc=mSKodPSY}64e2^L(@6gv6!NddtW^Ve_tbSN!86v^e1ryTcg=i7*7Pvfx z70_#X^WS9r(|~_%G&`5QA2Jh;aBSERx5QuwA;<(*$}l6g9JIJ9lNt9FaW~!k4ihrA zlaO+D8YI?2=p1#9X!AB+{QHdakWQTO;=3yGqttw!V%FMtTp+H!;^lqH__8~dr`1$D z#1rT4P}MKeVolk~uNiAs{iBzfv?S}p^BvPgv zMWFS`k?h7;99m@(Ibsy5JDKPmS$Z(q;YreyXthWQM3M9K{d!C9&f<$)WeeQu*|!c= z>Bnd@yB4qc6nf7LJP5V7qM+S@v}AU!N33+_C}@U=E_oQE9ny6@R8KQ*ep^N`@&#&k zP$uk|s5=gj_W{X-kxVb_&qRak17WZb*wFgm1TiQ^h<3o4+j7q$Fj`?5D~CmlMKYmA z1#s$9ug7R6_|Rm*d2kU+Y(Il-ed=QK-MJNW)d6G99rOGP*}ASv8k@ePh0~|PW(5n9 zfjC%S;UF42x}{4R$0SWWNS)YmPG-qNSQa8gu7o35mWho2ur&DN+F5NHcD@9b-DYWv2P~Cvv{d&QncGsP zAAGgUPPbXw@Te!*U~bO^BN}1>aAp|Jlg5Y3#e^LULTtEVD=6$D6}t;z2FHy;y@mNq z(#V5!P+?(Zk*~14L}!}In8qK3i4|YwW~O<}`_sASGww-gaKl(YSiJ~Pp9_Jx__=&b z5fd=`AOf^`SyBo%YV24w42))EB{=hzQYLHcL1eL}6u`CwGqLo8brvtk2b;NCXR@(O z)uH;p`k1JWldU-t4K-x4vpaAUA)HxI?_UAVddyNzT-GhiQuRi+?4^YjurpfWO%fAe zVmiVrwHQ5?pO++{E=4m6LH{>HCMH<7fQ3A8f_xq?oRnj(A^0`y1HBhkGWMM0(MV>G zO-h%yh+T~c8$bCvZzJRFFp|lx6d2o&nAhNVfr3&Ij*Y=?Bm z<|$U=Lg2e4>?~T=FurNs@u^#K>Sm^{T{VBIJrZGA&xCZCe#s4vbrvi;pbAUlhv_XF z8E1!OA|)p%Pgpu(ohdD0KBex`!6rxiM5skMs4$3*z$}Id0M<%uuP;9qa{!mj#r8P# zLEOxQP42E^+GQ|tV9q25R4pem3EhrlO14uDT5zm0nWY0=;wu1$JIM?J25uuw36E-#78YT&gw{j1YF+E)wdMjNONUB6Nh#=3O3AXL**U1yf$TheP-3-# zq=-Cb2&TZuO-$yT^kgOgPLa9{=bh&>M$wclvqR!iKWA2XHt|ISTue&(DR_|v* zij&*bK?v(-(9~devKuVeH9KrmR@-d@PXlgd@`CZ8-nFFNAEY<+Att*rS#||v_b(4N zva3D=b^g`CP`I-j3Rg9$+rF@E>YnGS^gxmA9w`gQ!8JR28IQ6u7X6#cD6S|hbZIGd zdO1(9ayme%${%J?j7;?$fSTjLx{6JH=#6=hlgB*FLiGdC@bTIAG!xZ94|XG})SVA^ z6nWy_+yTbk0YItQ%hgC|Oc{Y!2f@~|vIMREJd@O6>|>H5pqJoaOlEz|VvOrmwRNf^ z1IZAjRZnzW^bx8nD`-|u}DlIJ|IbjmcT&dOkFI9AWfWb0# ze(1!RS$7rd$go{Y+WP|AY5v!yjQyIL(ul(+{mbVMz z+ajIaORSj;RpQOJK*96gP!!z|0%XL8-dUDt(aPf+*9CB1Mj55VJAs0E@kuJLfYI^1 z%XhsP7Ts-!%J5IJWp&~~MGA1g_pF{MO9NF2k016}vYGZu%zQ#5!Iy z3Cx=q_l~HYjQG%}5RWgkqX6+y9iq5ZBD0pu#2u}pjP@jlUYzK#@m(0_*Ol_mqkBa^ zX?l(~>aIoLTEU%Vw12-piH~wbqZ#fqxnA)yREb|^3UtB|N`AqD{hj;0y;s-&lo@v{ zjd$j&+g1rA_jadvj;^`%SOp$0zh~2rKWe zIb4(ny9w<&$HjB7YvoJsgS830$u#kz5Ahnp~!g^62flaGjh7sO_R0_t8y?w%hqGK(w7xv3xbe z6>zu=_~_lv!)cl0qUE`M_X}ODEhfq0zAnydl#KS!nS{rz2~H>Ycg?>@*FG?{MukLB@RaheMBwnPiQ3-f`J|T;#Y|&{e*PGU}t> zIz1|?Gey@+WL{A@vf-NTxcqZ`UX!0JXGe6``_rO_BGdju&IR6%$XvTQ&WQ46Du12N z_!l|5H$%r)WaUw=^CL5Pu8_Ao9F@B2{IZPt=y$!3ud}?E(r)G^y?k%ceSXPnmJIpm z7mi1TbX6cK+Qx~zPVO!9^(U)pfsgUri^B2wqw_$?HUBqd^hY0W6iU`z)x0BS=T8#y zfp(#l`?ieu=(pv?N0gtE%cD4sid<1$8P1pS9=#(e6tBQxmSfWL=FCa_VgB2)MKao> z-!K)3Rx3H3t7kjA&-Xa?1dga&eCPaV%5f{{*a+^wT;MFc*Ah8I=SLoKmS_m~evr>8 zxMWQh#eL+t{Qn_7XF%ll*sSt&2Rrbj0;giUR>}A!+VvD$BFD+F@Xqb5ykJ@66*|1C zQbt!h*UIRHUXY!q3~O;+WLm#8u17KC-{U^-luzF2Lq7g2_-!1obuv_;mG+oW&dXaK zid5(;U0xexJm<|x^FG~vOuUC9<^LW?k*h)6FF%{)0EOO*{HFojakt30k=!totKK;o z)sOQ~Y23;xJ+)Q?{vo+9B`tJMd*@e2W0Shd(_hYyE}S>scicfcsa+?t`$M*EGIZ3x z56!W_|BU^qjNQ_8mk`HyUGuL>DzFOV9k7d>KydtiglkdlbQJb~Mk8`}<)OIyWZbY4<}1G+AP>16-$#*OhH}k%zl_qR zgi&0xmX|;}f861roW7RP0{?e3=Z55{WWj5+yuOvsZyTAMB7f*Gc`*0OdT814B|rIH zC{~8!o5y@3Nxm8v_(7YZU%2x+D1-VvCaC)g^8#UA^*Jn`91tCA&b!o&d>;A@4d-0s zBRD?bVyZ$D`dL0b=&?_CKaoWxzkMrzcE^3Qey?9-fR^&+q-iO&%;~ZwX^!(*u77mi zb8YNcxxk$-U3pinIF9l8_}ev;-(;ld5=1ICisQO<`GY`tVUt+>d|2WN{<{p`>OTc{ zh5AE=G8YZyxGfAtXqTDkxaqtzP1h`)r#e_3^6TlgD2w~h=Pw!Vxqltb+Acx<_;Gl* zBueOhL-Mx_7XGh;McN{x`HnvKdEuB}p0#w%^@5CNDQUd8c2-Vd#J6R|^NkkwDHHjQ z&K2;o3>a3@fceFXj*_Q}Tv4vcC=n%%QaCO7Gad3)EwXwxyPa#(T~Tk!s2z$%bvBd@ z%XzrNcRSoC*WC$5$FfHxR+79_onMG>92K|%-;sf>PZ(IfAB&2$uxhvxz!mYnj2QD| z5nVT0$h!j(M=p7P;y&x76*7G1|CjL2v)8>ONl52FcLv9@>L?4yiI646A3kh!FN^=3 ze8ExpRl`nQxSfpqaw~01IY6iXw*ewM$a@R84r8>>$>{&Btp(HPlW+G6P`C{Jxb6Gj zRfdnTESjxh;%CCZ1`P@xj2gWB_^1G7xZwjV+R18P~DMm%y}Lig}>( zO}P8=xlv-Ywwty)_crO8LdApleH(dsx9h#Hycd=H%I6Yo4{c8|?teXuZ}eLe;vRnT zK~Yh739U9!n(DhXvRJjMl*Lpb(3{#qRGPZVob< zP42%6@pt@HU~qW;U*&bFNJsc_u9U$U>=@*|VKW&Zu$ez!I)Bs{hE9XCxgT1*yxX^X zJY)DHQ!!eK`K#byW02Kkw3+Sx0l{XoJtQP3JS@Z%njg?y^jQrCJ)$(+OFLum;7%E7 z=~<-T$XUlA=yjJoxWcbP}He86J6Q-sQp#=F4z8~{aJfNdsO?2_L!pXr>NOC4N%l+ zih7`;9<*HhoA$U^D*vNORn&tO_0Sxn<3D5N#!=ToqmzfqS25>@Z0wGPrVh&*B|i>K z?VrI-#Mxz3b?r_HKgjWS^&UC7ydSCK!*bSj-2xADjp6t)!$ObB+p{}TDO@RMl!BFX zMUh)sfgsLmomW*{qP?KKsJ*19*(0Yb>J0a9munp#wmi`<(`p@`sBqUL*NtlOPIVN$ z>yOs)5lIPe<0D^j?x`v+%1Lmw_8*-}_~z<_q8^s3<458%WwQ#-zHoKi`?7>g&VTjE zpk)Q>UHGwiL+Hxr8VTQZx|+JOx^lYmx(d3AIxn48r_*`sd~|wUCEZiH%DSg@RdiK# z)pXT$HFVGDp5@WCbhUMLbai$0Ji6){==eeT;fi{sq8_cN$13XaikhAHL`6MGQBP6S z(-ie|MLkndzpSWVRn)T;_3Mgyj-q}`QNOLI=PBw1ih7ZvW|y&4Q7>22D;4!>MZGp> zkD`80QLmTDHP$uJHP!j*47z4IKb^lWKo_VB(iwHZx)5EcE=*_AHP^M!wbZrJwbnhS zYojyk!gUs%RcF)Lb-b8tP}Ex$^$tZ%NVd@L74>07eN<8Zrl?OT>a&XaqN2X8sBbIk z`-;X>(Ues*6%~zM(NtA5&nTMOil)AzX{>0PD4J%9#;9n*6irJ-^PHlwaBQI3CA6yD zVv}mGu49hK;l*eKAI6U~jFiVGhQS&AoBR2N1X)6YLc)R!7E8F%z|P8OFo#-$4IzOx zOJGp2zr`33QZP`AGZ3#z4+RRag&U2*p(cYp&}uOl!|lO_@Nm1y5Mm7q3bWZQ=Adv} z!9WSlKx2vo3b7l*O`)No2Ae6|ZZHPgEru|&ImBQN2nzD|w^@w-HfzB^J)D6!qIxK! zV4KYnWU>Sq>?TVXflL7gQ)oz#AXf`NKF15GFz$YQew2838h!DMA> zVIc-nScuUO6lk*9!tJ)eKwD_RK&j3^N|8WTOQ_Wp=x;X!23rFSMth*qV6xk+2EvD0 zLIcd9VSzyf0}XTrdZ9?50DqIo-x_W<1p0>&$mAbtF!>wp278dj77$Ja%^`&XWjF&( zE)vKZW(f)o^rveaR!}3O)evS4wi*ILLqqJgkRX41c%eX9&OlR(1hQFdwh(`#&0uF1 z24k>2jP{3_Nh`o^3JnPGH(Lv>qfyR4FBS=TLyh4f#^Au0^N(GVVBGa7!@XK|$;iIH(IXS_|!u);I&rFA|82 zo&^{XV6f6AYQ)kE3k$Fr{KEpQ=CCk(U~p)mjMh5?Ei4j<9bK+B0L8W% z!wiA;&>%BAwJ>wxmA%OsD7Q!;(y?2t#vnt0F)+Yj3^4jLNn-%70O7$wq3jGo3%CCx zXP_lT0vSW>fxK!kHIprrKxUJ{WDXCaMj>WPsDE%6eJoh)?an~UiUbN^!wR-iBlcos z6c!X}F#F3b*KV}hZJ{>)yHNXgI|HpK5-2b*%s(KA%`DUs#OoR_O6WHy<3%fg0XwfM^#v2}!-*@gR?LIc^Wg_uGtg?9c2oPpL92^3`a zXCZ}$8G?gMY-?7wjxgRVvCj?&V(%Yn4mKCsXb(CAy;~$upe2k3v6l@tv3iU)c1oro z8?6g7*@H~>z!3k?LK*$!479FDAhX#LZVF>tv-ulY*}?2|!;K+fh7evh{ex{`Awi}> z#XjZ?^nQ^*q4sbKb>bD@EZ0$>+_44l0%-~~g$Dr`tz)_c4!Hi=-}1>MCQ=2%8i zZ&uVF7D=vTM>r;rEkdiiqPwbUDGzA3`QSU2Ba!q7%O%?U$#U&Tu9hg_yFBJ9uB9$%K@u91-!LqVnx+)t+Wj*tkg?9_@ zR{6=dR@7hTGwYJ;a%~c#pScydqrM8rxo>IMe-@xvAt`H zTP+v#8P|e-mn}|RU|+W0dxK2yeMS9uuJ=YoeXbYK$S_@}!*9SJZc0 z30#s1TvpU~i%a09JAr$}B~YUGMR^I_^}bI6d0YGgMg1Tz0Us3!_;3jDPcaGjl<_I+ zY>`GN8dZ@NmF)dgUWm6OR$upDP1JNlD$uJC0JJ`SjLrL1NoX)EkD7=K27rz^i?$FTnYNg1pO6F`Qj1` zaaXWHaTTF`qa^Q^}QJ7nxvJMe|f~2`2g^vdPd9<=D|Zi(Jk=Oyrt&wLVa?umUCD4GVY1af5pixo}7;u2Wt+7W6R6}KZS(fjed z1lIbz=dOT9`J5&0lgd6Dd_Hjhjn5`U)6|vP7Ma>sMdMpsYTMnb!%*z%D9Ic1ywrC2 z?2)x`95VXsRWyFC1ip|7>{m4Y#U=2q&v$v-Pk^EcEVBKS>(!5Y>~iwPPhPo_={F!PHG6orU*4q}nSPns{Ax9qU>F8v`Ss;D-ZTAD1|(-0 zevkZ>@h$-$u`? zY6nHrQPD&ynkYpRt!O$anixgXd8OW>x9V+ryS}YHLf=l`UeUxV8ea6`6-|Po>7r#jW@HabNtJ(^nWWS8P0dP98*Ir)&ypwnQ-^W6 zz|di-{ZfbV1KqKXM|R|Q)4Qbg%^J{)iyG2WxG=gp?@9St z)os&nhmim0DqJspVxh|d^vU`Z+1NgcrdzJQucGNLYoJXXIh3=ZseK(aux2{P9H38I zq-c74FSwkj^b!4_#iftPi-oFlF_64&Dm5-+P-=Qq+F-}Y>B!_^{4}>~*mQkH;bDjA zvqa@weWs#G%GGBpn%+6}ddVNG;f!=_mi#sE9&%metpZn+(fUcE@+$op{aF1t{doNZ zeU4tyPt?DlXh=Ur(U5+sqUon-`YW0NiY86b3|u7|>Zgc$`f2(X_0#n;^fN`noTnAd zpd8Ls4puZn6ivFK;b3BD&eJ*dx~FB@2B-B;Fsc42Pnh}a-q@o!m7fxk*nD_hNqdKR`-&K!G%aYZs zQsgi4eiov*zlt8}`0aJ>?_T6t@|#VAQ{`XBW)B&XJZzM6wZx|Om%m@08Sl9MAwD43 z5)!OC>s+=QxS&D5QU8IS!-Ua_h6A@3+*b?ex9C6SvK0MR{YUz3ie`+W;XrTP68$Io zPxZ?b&3HvKfho$FH7Jrwp^-Zc<7Sv#y2}-4kAGk|KjIjhIy8A$GFP&3hvmmV+Bt?} zgR0xcu^|f)Q_Iz$eflqpN#5fb{nz>fIcpV-qG%@OG))n;>U)Sk1Ng1%CXXBs#0Z{DJ1-B#vy?K^agjP263XHtB< z^z6Zd4_5Tj>b!lr@^kTyO+2Aq3cJ0`o>8&pEdHPmt28smBd1D^XM&x5Yii$vPgVAM zx@z?BoqAFt;Q6iGrZrL&OIJv{A+oplDwBFNnIi<_wl*-|qO=aip(_{Hs zU+R$fc5;mHjKO^mdNuVmH1p$S!Z~h!T=$}__VC{nm|bO`9MvRsP8m6~fZ*y&0)vb> zWpm2qlwT4O8kSQbr((`iIeM2A@S`T zSH-#i>if!Gt=r^2m*bUFNsb+EtG?J`&C%xQ7TeqAc<1=YQL7W(6! zv60zX@~39a!-ge~S`wGgnO-~onU&_8t1P->Dm4{u?Q5QqMhg{VnnRS5ZPj^m@H^{lFv%A{(e z>aH508l@Vq%27>K%}~9hdPOx$^@i$A)m+s(s`;vos>7d_3-x4djxoN@QCz?_K5RH@)+Qe?J?3r@tETAhR0lwT#t<&TRgt>IN))@<4=$C z9+y0>dzSO8=v>zxs=QrCO5XqG{f}oI_uFm#Aw6#wma`-LQU8;EoBoLYsAG3HNzqJZ zkEm#-D4MCu^~Y4H`rq`&RjFJNr~-1&^%Tri^pe-+QhUTK!qi)s9OPj~xBsX+>2dF)pKT@~B$L zS+xR#ng;|pUpOvsY%RRmBe^ac)L+qG<6uetS+4%NqIt=66n;xp(fP;(=QEvGq&ffj zA63R`kFKiml{`vc^E~W%#PdhbUv=dxmCf0cGhNZVs(2(Ss>X`SPf;~hRJ`fpC2AHU z7Pvs_g7e(w<^q3K$;WxXJ)3(w{PzRyP8oeO{p5dfoXw%eP_7QARSvOU8fV``IiLXJKy z9q-}@=vAGYLe#B>Ky(E?s!KiV(&xG#fZXdI!e5|vb$L$R>q691p%kcNy=PDpMzlg3 zgu@E*u9t}3=!3rK2i9D@fneLHHwt4g4ili@1x&`PSc;GEIex%3A?h=J{W2(r3h=^H zpr7@tqB_W{KJ%(iP3u#$`s7eQ75$NhL70h^_zJ(`o)8V_NdwkHgXU<7)?iKzm{SAh z)WD7iv_}f4eFJiBFdyqdtOf`0ExrdiH((t#_(_O{-t07}G><-3hI1y8^92>C-A7U%^fUz1fRzt>WD91X5^SFY4glJSA)Tj|PYDA41 zQKLrGywMcQLoSHdXa~N;*Z4+=#?-el&ud&84M0sBw?IEo!^U&41Z%+a8@DGc2&7Em-?aI)Js`gtgyfp_o`e#Q+@A738ht41kkQ3cgNpM2?)Z!OdT z`TGXIh!B{-e0-UYFTL_*efg57FM0Zsr*AeG({~icU^=Lo?_4Yfwewwu_plA0V?U^y z?*XumeCe$(z4bkTllTMF)AtPi#(7*6!a)9px@d!*peBZSAiiM(=#OD57{{;!pJ6xX zli_O|0rfHv-*5$2aSha{nJ1`Cvoa`;il9!-s82I$+bjrSXpWYkugxs5fxb421UWTJ z#aJkK3*^&`e44Rdnr+8U?7|-G!x#7+r|>8K!daZd1tI+CiC@0W<)=mUD>M{oQlVG5>!{`irHANBX6{(jWokNW%F7Q(+SeBlSyfIoBg zXRiKT&<#Dn-27RC{yCTkV*3-@pVA(MB{DePn8uZ`)Z_uLv71St&vY1UUp;z&#-XJy8yNP@h2R64(*cIB+Bs%*6r_H;}l2CqSG);si36 zK;{z2TmsMI2JYfM{t+UGxdnMa2Om^IZPZ15Gz9$*VjB!7Fmerh0j#C4_i+k0gfQvB zb4_hQ4@}hC#A8jPz<$Iu0o2^Y+B8vb(<_*T4LHl&O`hMp7N}$M`e=lvAh+frXboaF zZ;x0|)8u^ShmU@tDOM2h3FZyF3hJZX<4nsERcgryt z5BlDcTw6{BJ#V=L%drY;LF|^)spTeY!8Uw~o!AZL)$$+?;YS=1qE$Ea!vHXTE5>g{ z4O)GR@9_h8Y-@69O|4ope(NcqKhKrJ)2NE-cowViA-00?pJV(s%)d=<(C;?PwGDG^ zvk}z0&1WFDHv5Dy`@)14U`?6ZfPBrz@jFi8v=HH=Kn~&4FdZ)mVPR|w>%hWuEEd?& z4jmDV&WJ}>^gtpq!P>J>W6Nl;{w%CN3-h!vPYYvMn5Sh1aKSJ0mfqvV` z)m|OXpcd+)J{qD4=%c+ESljl2co~doXD!+92+@{awWYspdtwx*ciYLJpKYh(HBisC z3$Yl>K>lr4V=b6NTWa0*Q|!cU>;t`N`zOe~?JZFAw)cgI@PGzoP!8lDL9HVigFGYr z5rin4I6BiLs|Q0EBh9Kkw?7>68C>j>6J#EY1TSFjW-unN>W;$1NJh>c*o zj9}Y{_y`|^{3DKnnzW-P?HIFNUr>W~%(30qI44B=vhcxEsDf&s=Iwn!{_V-XeISeo zfdzK7Lq{-=_AyAu7?68=YTlljw`Z*OVt26gUG5jyBm8PvT4xptt|9fA=G6I!A*%pms;HbkI3$iG7x zSQ{PI;sDs5I#P#@Jho$h(1VW4@EN`YkLmaw4&oR5fzvpHzrh;scoFx&x{hRhL~6kL zh$QdGhM<;_nLgUXk6<51AN_Q5cH}ptg~dF&nRA4(8$=EC4l* zq{fk~g~-FWDnyhws7q8ddLkLDg(${|8iXOp!1EZ78F(4=EQ&Fr7$fQ}P=}}uAa>MN ze2ksgjlK9BKjIW_gBnCpgJ^0HO%0-{L3DX|ft;c%;c5874*?+0X!;i&2I>>dwjBK& z!eIq~$Tx<3W5_p#d}BTV+e*x5pzbmI@CC>}<}V>Smqt@C zX6NVeCbr=S=t*p4)I=TB2kSAG?IzX)@{c9|Sn3_i_7cmwjO~P2B%m9ZM{FX-U>e9h zmfT}mkFksu`!>iub^+eSI(!V)N$f7LPGZS5_G^5L?{NYbgovZgaivfe6`%#Rj-%Fb z)H<#@o<(hhfSlvVIgXs;$T=?s4{=^yl%_$4kOai$lutpLXD}lNv)I$R_ z27O9s4)RZEk7&do4%9lK2NKa685oOMcpcO_fm$cb$097ja;yS*Cs6kU@=YM$gfBqN z6R3Ft`Ev6Dk#Gn<;s}1hued8j7jo^=8jRUx5~xEL=Go=E5M3*Pyt@V>7-1m)t`>9z z`FHJ%cyvW~^h6p4gE@2^hHQ)g^XQrj^6t74Ye0XxZonpdh`k{Hu7`0H)VeFR?)nE# z<1EgB+`CclZqJ|=>Vi6VBj0Ym@B?{wBkykH-K_;WfwkR@e7ki4HSb2g-B=IZl97Ub z7=VG83UckXAB@>u2i9SC=GlD|-U4}dXT5Z1y>zGk-O0cEH~0xhK&`t|>+Z~<`|r4j zE4YqZU>@D?3(=z*8iL$=G(!Lws|RboM@!J79+8L!Irkvn9^~7De0vN+I@tbuWMU#- z!BVUMJ?-%>sCAEx*o>|C7~Am~SQ|aaw+H$5Am1M3+v6nu#9yH9Jy;Vx$iK&BPR)72 zfEX}l&o}W2P6*LUfVJPNCD=ZDMW6%7zgGgNcdtH31-0%){=J4E1I(e@fiLQB8l~x z)DFxuiMb@L!RPo6KY;ot{fyu7H!k2Zu7UiM$Uo^W?hDbo9GF9I)?;ryDx(URNAGZu zcW=h(-4QW}1$FP;73AN0Am~}|Y)r&dya@8@Jqxd44&K5Fe1I=NeS3d{?{Nq}fqM65 zz4WH@ToUDQ;G$;e|PObpfPO>-1J^3lngJkkdCZA;1QSvqruMf}bQx6vO zMj8f#b<*c~jK&L?4Cc^>IrN!b$abxx^{XW$DHSTiYRux3))p(CQfoKg}&?kTLFlvEr5 zHA`V#r2Gc@-FFDU?M8XuXI<(9a0w z-Omo@-H&c;B*uWXkj`32XDy_&7SgBVCAC7>m{L;xSojIm|0-573>;>~pXTIs*fWD_Q*YuyjHjw@+PT&+y<1EhO60YI~=utX# zN&iQP3=e2f2Ib)eZ&bq5s0MnMLGLo?T?W0&XbfNYArQd`LkqNq8CJAKdqkoWVv&Gu zpywG$=mYwaF#v;*j^~ku5f}~DMMe%@0P7>;Ma%^2FN5`$@dn-kYb9d=aZ1{wq8S2UL@1i0723c8JKCWmqR|=g=!zalL^ArKKL%n5h9VQgF$!Zb z0TVG9(=Y=sV-{Y=n|K@Zu?S1B9ILPv>#zZvum#)jDRyEv_F+H1#rHtL}vn!o^m1R(?_w8V1=hYb!}3@fn)@8NxX zfDiEzKEV#`!d`rVuka1N$07WLqxcmka0;h!7UyvZS8)TkaS#6pG0X!RltFoT!5fwE zG^*hl)Iwb}Kx6pA4}l0q7+Rn;%&?*@+9ML35Q_wKLr)~34^lAzgOCoIJuC|&FdE~K zgBLIbFJdNM!EC&Nx9|=YAQwxq0;};Z)?*_!V=F$!c6^3C_#9v20KUTy_z_2N499U2 zf8q?z;Ucc!I&R@E9te@Cf*Pe!4i%w;9+goQHBb|EP#=xZ6wMF-BSO&}tM_2SfB9hS;{V@j!_tk37Ck&1367(}`5EwJ-O)SDK`QvxtD;&UePy?2@ zm|zFn%7hpwn2wp)10Fl!TOo41@HDC-1%r_e;^wd>a#rD2oW>a;6l$wbTg4YVPGS8h zG+o(@?bwNbgqT+rhxlCm)Q<=+D<}sBqr;_8;rFa+QH}x{^fb}k4-SCZ z&h!RraApmV_e^R#vo9874Vc5s2SU758f6iK?&t~fe~J8GBLA1JfOYxOeIZ_MgLYus ze3^c}%r^P*92~=+_)Caa8iBlC2|^~uf{L-8Fz3`h}Vhrx&=J;^;zI?ug}97P?y&k`wiy$29JBAB_@KpyzvtD z;v0M?#GG=_gE`OXie#|O%~=ZiFo(4?=WDP&=deEKuwLFI$2UDt3#`*Oo1!D)(FM%y z%}JPoE!c@&xQJU|4sX?i0o3L##(Qfp(y;>6<*f}kiF3Fh#N2AAi~5K~Pb7jd=Dq@I zFqi$_T;?|SbI|X(mvL2yx9QW{HBlRJ=!GOGVEw*56U_DP%^=^mPv9&V`yCysqB`8;<%&t1TC7x3H#Ja++g zSb6Y@N7c!@XbwD2$c190Smxa`F;ahkcpW#c;|An`OSVYekso{%Y zgkk`mMNKn_sFW>|4yv5t`2jufE39+Oic;1pKXaOti$N06*~OX<(j{rC!O*Gt*1 zm$5FEv7Ib4A_NIY0`p%s1FvHaKE*zK0dik<6V!e=bz4r|mQ%Oo9l^G?ob|Ds=PX}{ zTpY(4{4KvqL@Yz4Jm@heV)=dUaSZ?Ioj8IBHM?XP6ME1B;~ z=DTthnCnUw{7Rm`ayRJt%ClgbTgkjv)d1tKY6x;(Mb4|pdDUppt5uUhtygWqM<9n) zwD0P}k{ z5xp@3jQ1}6dG|x`ymvptIa~+Ne~-2JUTx5)_u7K>{9b2_!bH%g_m<&3(5v@;!U>!d zVx1Zlp+z8A)9YG+vDeY3b%QVyZ{SVPqjmIX9X(o4UDrPY*3^3PT~BS+^PKh6asB() z2BA$ia(Xe(!I`=h!dAhH}v3DRcpOZ0Lhrtj1a##&2K_8_8iKIcy|{ zjqxCljXY-~kKf4SH}d$6M{x@D^@C^85RE}UKS;+=EXEqVi}SdFTS9E|MKD5<33|C{ zJU+lDAooqoZPPtG5Mnbu+#H7H7>sO;z!H$lW_qxhd^VHMX7c&47Rcqprs$3okk^MR zK(9XBfNQvqe}vc)g6Cky5Ddpiu>QAf0qcLu1>6MdYAb7ED|6V|4D@nq7I@B9;%=pv zTbaX0Dp2>2D!`6t#DF#X(aU%hXTdx_x-P^v#@`l!_Lzw`@Fu>+&tQHZS4K_L#z0WJ zkEzAS=NP=PcY^uUg(H;bio`fL@tQ+3AOr!T74RdHVDT%Sc>IBY$wik;%q0* z_9zfzdpEoUVr_p5KjJuk7h*>cScf}WgEhEgHeSa`oWlhncJlW-ZD4!a`5NY70e;14 zoDt%)U=ZUoa{6pEUH~=wY(Ea-kPy3`1?z1WJ>Hd$5n#LAwF_V2fDpSYfi=9FdhJfZ zVDQ-8+rf6Rn|OPwfLiXU3;MW+KJKB9d%nQ;_(6!hRZ$1^z+?9En7uq^FVEjgK6}Y$ zA2IedfiJQ#9yy>V`*_?wa{62cVtrm6{V^27@HGzOCn3J@hY2k}oxh;YUr^^SkK2Dlh%XuAOY;4)0jA{A3D$o0U)OX^x**WJ}?oV;Y%>TZ**Yp z-;mcgvFM3Jc@_zyFc-_9N@tUU#4n8z z2qOj}6WRCx>=%Dw`#a_h=5VYASPRFf_c3~SYz=taG2$M(CB&~Pcp?HZh{aqi#!@hc zUs;2{GX8JOv(%C#7e9NxgTe(9H&1gn!^GcsK<#p zcnichaRt|e_}vU*{N53-V?K!Y`$drV?{|baNt~0!IZ2$8)A1VKz)_q6+s~;m5bG3= zJH=y8@t9LQ<`g-fV!Tu2{6`R4g1Ps?1JH{L^!vhTAuclh#R|~E z2aJD_zFceu*2+aALcz9hu@$J{#YoV%i?N7D7qC7qlH0LdH3di(oBWVl7-|EnKEnlg^z1S{yG$)Evo0_1#BS`vetZpjdHEm?<7fPW-#|Yv)62_$ zfoUM?RUP(q@^v6I9 z!BAvkI7VSCCSW2aV;W}QWz53scoVFHEAzm-udKnlSP$~Pas}jigs5MvwFSuc z>T?Lk2uuR&>MCPgWsIvkKwYkWgYWQz5ZBmtu2lwW^;$JN1Lk&(`d?!{*HX|A?_ecX zgFalN57$nCx?Q`9>$oMvbpu!@*IS}BSTEO^`}G&Ve6O=cu208ye1!v`PuJ1AG)aDkoxkaCDH$@nz&24IPn?Bvnf&yxDo7&u_Pq#n8eo&j+)aEvQx>E{zP@6l{ z<_>+j6OEprHg~Aa9r|?VEi41IxkGL4(5E{mZ~@fj4z;;+U5L9)5DId+OI_|#m%A3& zz`X7b#1IU{FwnER)afp3=?0$K8fqCDjulHk-fNr3!_o?gs(RcymaG&|#Xa4sWVKK?807rfiFQ09^~L5bNB_9aTV0X;|6Zyo=|xP zpf%`=rxk6{9vwjrp5)+34xYV0O+2$O93wCq<3KGux8pPH!RH_c&#!S9KZ6`R>6Irr zc#?zXP0$}t`s4XPsMOR#-3Auez#37VkfiqgLfwq7~Y}f{~bvX<+@9WBrz!h1Wn1<;bBNIh0!p z`c;lvmHPyrVkdTkT9hw^vZw&Iq4MNVo^@RQ8Pozfl&=qRC{GUMTjM#HK_2DlTY36c zo_dw<>_5{dRLy_ zRbbszpk@`ww*qymK;0@(w+c3N25YB6SM&fmROk)HufX^f=v##>FiwRNpcfVBMTJ|q ziwA6r-|G#~ zd#`0!i8Xi+>+vbb$%|aP&f+|%t=CoD0BgeQ9{v$3tp}*NwhG8m%bL*EL><&eBao|> zT(#6g8;DjQM=f>N=73sg*J3jc;507ano#Mgf_SX@UBIqImZt}psy zAc(6QieZ?6<=6=s?~YJ;3y`;WdHCQdkiR$e^(KFB#`31F-bPSY@8&SWineHv|7*Dp zRuYJ!FaRfoxGF~EoR%#_2zrAE+J?PC7)3h~MA{~9eF=$HK@bFj6um%1;x1Z*NH5^3 zt)J9|Z)SJT`On;enNzO0W6CFA=)KT;u|&P%7w4v`W_6P?6?RZF>NIdp;u!Bs$QUQ6 z5weD?(c%I*L(Y&h+H{aLJkNOMXQPzcBzx?0z#;li{inUNiP@#u=10.0.0": version "18.11.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== -"@types/node@^12.12.14": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - "@types/qs@*": version "6.9.7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" @@ -259,13 +211,6 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - "@types/retry@0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" @@ -300,148 +245,141 @@ dependencies: "@types/node" "*" -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== +"@webpack-cli/configtest@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== -"@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" +"@webpack-cli/info@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== -"@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== +"@webpack-cli/serve@^2.0.3": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -478,11 +416,16 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.7.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.8.2: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -537,13 +480,6 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -574,11 +510,6 @@ array-flatten@^2.1.2: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -669,11 +600,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -702,15 +628,6 @@ caniuse-lite@^1.0.30001449: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f" integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew== -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -757,13 +674,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -771,11 +681,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -786,21 +691,16 @@ colorette@^2.0.10, colorette@^2.0.14: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -919,16 +819,6 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" @@ -993,14 +883,6 @@ dom-serialize@^2.2.1: extend "^3.0.0" void-elements "^2.0.0" -dukat@0.5.8-rc.4: - version "0.5.8-rc.4" - resolved "https://registry.yarnpkg.com/dukat/-/dukat-0.5.8-rc.4.tgz#90384dcb50b14c26f0e99dae92b2dea44f5fce21" - integrity sha512-ZnMt6DGBjlVgK2uQamXfd7uP/AxH7RqI0BL9GLrrJb2gKdDxvJChWy+M9AQEaL+7/6TmxzJxFOsRiInY9oGWTA== - dependencies: - google-protobuf "3.12.2" - typescript "3.9.5" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1042,10 +924,10 @@ engine.io@~6.2.1: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== +enhanced-resolve@^5.13.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1060,10 +942,10 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== escalade@^3.1.1: version "3.1.1" @@ -1080,11 +962,6 @@ escape-string-regexp@4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -1110,16 +987,6 @@ estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" @@ -1283,7 +1150,7 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -format-util@1.0.5, format-util@^1.0.5: +format-util@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== @@ -1327,6 +1194,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -1370,7 +1242,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.3, glob@^7.1.6, glob@^7.1.7: +glob@^7.1.3, glob@^7.1.7: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1382,26 +1254,21 @@ glob@^7.1.3, glob@^7.1.6, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -google-protobuf@3.12.2: - version "3.12.2" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.12.2.tgz#50ce9f9b6281235724eb243d6a83e969a2176e53" - integrity sha512-4CZhpuRr1d6HjlyrxoXoocoGFnRYgKULgMtikMddA9ztRyYR59Aondv2FioyxWVamRo0rF2XpYawkTCBEQOSkA== - graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.2.10: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -1419,6 +1286,13 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -1535,10 +1409,10 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== ipaddr.js@1.9.1: version "1.9.1" @@ -1557,26 +1431,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-builtin-module@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-core-module@^2.11.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -1600,11 +1460,6 @@ is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -1627,13 +1482,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -1671,15 +1519,6 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jest-worker@^27.4.5: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -1689,11 +1528,6 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - js-yaml@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -1723,10 +1557,10 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -karma-chrome-launcher@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" - integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== +karma-chrome-launcher@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9" + integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== dependencies: which "^1.2.1" @@ -1737,12 +1571,12 @@ karma-mocha@2.0.1: dependencies: minimist "^1.2.3" -karma-sourcemap-loader@0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" - integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== +karma-sourcemap-loader@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz#b01d73f8f688f533bcc8f5d273d43458e13b5488" + integrity sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA== dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.2.10" karma-webpack@5.0.0: version "5.0.0" @@ -1753,10 +1587,10 @@ karma-webpack@5.0.0: minimatch "^3.0.4" webpack-merge "^4.1.5" -karma@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.0.tgz#82652dfecdd853ec227b74ed718a997028a99508" - integrity sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w== +karma@6.4.2: + version "6.4.2" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e" + integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1788,6 +1622,14 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -1831,13 +1673,6 @@ log4js@^6.4.1: rfdc "^1.3.0" streamroller "^3.1.3" -magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -1931,12 +1766,11 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" - integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA== +mocha@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== dependencies: - "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" chokidar "3.5.3" @@ -2159,7 +1993,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -2252,12 +2086,12 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== dependencies: - resolve "^1.9.0" + resolve "^1.20.0" require-directory@^2.1.1: version "2.1.1" @@ -2286,21 +2120,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.17.0, resolve@^1.19.0: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.9.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -2321,31 +2146,6 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup-plugin-sourcemaps@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== - dependencies: - "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" - -rollup-plugin-terser@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== - dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.68.0: - version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== - optionalDependencies: - fsevents "~2.3.2" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -2361,7 +2161,7 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -schema-utils@^3.1.0, schema-utils@^3.1.1: +schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -2370,6 +2170,15 @@ schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +schema-utils@^3.1.2: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + schema-utils@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" @@ -2385,11 +2194,12 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: + "@types/node-forge" "^1.3.0" node-forge "^1" send@0.18.0: @@ -2418,14 +2228,7 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: +serialize-javascript@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== @@ -2484,6 +2287,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -2537,23 +2345,15 @@ source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" - integrity sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw== +source-map-loader@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.1.tgz#72f00d05f5d1f90f80974eda781cbd7107c125f2" + integrity sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA== dependencies: abab "^2.0.6" iconv-lite "^0.6.3" source-map-js "^1.0.2" -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -2567,11 +2367,6 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -2661,14 +2456,7 @@ supports-color@8.1.1, supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -2685,34 +2473,24 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.1.3: - version "5.3.6" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== +terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== dependencies: - "@jridgewell/trace-mapping" "^0.3.14" + "@jridgewell/trace-mapping" "^0.3.17" jest-worker "^27.4.5" schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" -terser@^5.0.0: - version "5.17.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" - integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== +terser@^5.16.8: + version "5.26.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" + integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.14.1: - version "5.16.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2" - integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -2745,11 +2523,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -tslib@^2.3.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -2758,20 +2531,10 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@3.9.5: - version "3.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" - integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== - -typescript@4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -typescript@^3.7.2: - version "3.9.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== +typescript@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== ua-parser-js@^0.7.30: version "0.7.33" @@ -2848,22 +2611,23 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-cli@4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== +webpack-cli@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.0.tgz#abc4b1f44b50250f2632d8b8b536cfe2f6257891" + integrity sha512-a7KRJnCxejFoDpYTOwzm5o21ZXMaNqtRlvS183XzGDUPRdVEzJNImcQokqYZ8BNTnk9DkKiuWxw75+DCCoZ26w== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" + "@webpack-cli/configtest" "^2.1.0" + "@webpack-cli/info" "^2.0.1" + "@webpack-cli/serve" "^2.0.3" colorette "^2.0.14" - commander "^7.0.0" + commander "^10.0.1" cross-spawn "^7.0.3" + envinfo "^7.7.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" + interpret "^3.1.1" + rechoir "^0.8.0" webpack-merge "^5.7.3" webpack-dev-middleware@^5.3.1: @@ -2877,10 +2641,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" - integrity sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw== +webpack-dev-server@4.15.0: + version "4.15.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz#87ba9006eca53c551607ea0d663f4ae88be7af21" + integrity sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -2901,16 +2665,17 @@ webpack-dev-server@4.9.3: html-entities "^2.3.2" http-proxy-middleware "^2.0.3" ipaddr.js "^2.0.1" + launch-editor "^2.6.0" open "^8.0.9" p-retry "^4.5.0" rimraf "^3.0.2" schema-utils "^4.0.0" - selfsigned "^2.0.1" + selfsigned "^2.1.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" webpack-dev-middleware "^5.3.1" - ws "^8.4.2" + ws "^8.13.0" webpack-merge@^4.1.5: version "4.2.2" @@ -2932,22 +2697,22 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.74.0: - version "5.74.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== +webpack@5.82.0: + version "5.82.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d" + integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.13.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -2956,9 +2721,9 @@ webpack@5.74.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.1.2" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + terser-webpack-plugin "^5.3.7" watchpack "^2.4.0" webpack-sources "^3.2.3" @@ -3027,10 +2792,10 @@ ws@8.5.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== -ws@^8.4.2: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@^8.13.0: + version "8.15.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.1.tgz#271ba33a45ca0cc477940f7f200cd7fba7ee1997" + integrity sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ== ws@~8.2.3: version "8.2.3" diff --git a/demos/chat-demo-mpp/settings.gradle.kts b/demos/chat-demo-mpp/settings.gradle.kts index e2c60163e..bd87977f4 100644 --- a/demos/chat-demo-mpp/settings.gradle.kts +++ b/demos/chat-demo-mpp/settings.gradle.kts @@ -11,3 +11,4 @@ pluginManagement { rootProject.name = "chat-demo" include(":android", ":desktop", ":web", ":common") +include(":ios") diff --git a/demos/chat-demo-mpp/shared/build.gradle.kts b/demos/chat-demo-mpp/shared/build.gradle.kts deleted file mode 100644 index 66de1c2ca..000000000 --- a/demos/chat-demo-mpp/shared/build.gradle.kts +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - alias(libs.plugins.kotlinMultiplatform) - alias(libs.plugins.androidLibrary) -} - -kotlin { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = "1.8" - } - } - } - - listOf( - iosX64(), - iosArm64(), - iosSimulatorArm64() - ).forEach { - it.binaries.framework { - baseName = "shared" - isStatic = true - } - } - - sourceSets { - commonMain.dependencies { - //put your multiplatform dependencies here - } - commonTest.dependencies { - implementation(libs.kotlin.test) - } - } -} - -android { - namespace = "com.example.shared" - compileSdk = 34 - defaultConfig { - minSdk = 30 - } -} diff --git a/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt b/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt deleted file mode 100644 index 822f623c6..000000000 --- a/demos/chat-demo-mpp/shared/src/androidMain/kotlin/com/example/shared/Platform.android.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.example.shared - -class AndroidPlatform : Platform { - override val name: String = "Android ${android.os.Build.VERSION.SDK_INT}" -} - -actual fun getPlatform(): Platform = AndroidPlatform() \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt deleted file mode 100644 index 3d9dd3664..000000000 --- a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Greeting.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.shared - -class Greeting { - private val platform: Platform = getPlatform() - - fun greet(): String { - return "Hello, ${platform.name}!" - } -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt b/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt deleted file mode 100644 index df7383e72..000000000 --- a/demos/chat-demo-mpp/shared/src/commonMain/kotlin/com/example/shared/Platform.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.example.shared - -interface Platform { - val name: String -} - -expect fun getPlatform(): Platform \ No newline at end of file diff --git a/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt b/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt deleted file mode 100644 index 6bfc4a79e..000000000 --- a/demos/chat-demo-mpp/shared/src/iosMain/kotlin/com/example/shared/Platform.ios.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.shared - -import platform.UIKit.UIDevice - -class IOSPlatform: Platform { - override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion -} - -actual fun getPlatform(): Platform = IOSPlatform() \ No newline at end of file From 94077b66d223cdab44fceed4a74ad43078839ff7 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Mon, 25 Dec 2023 14:10:42 +0700 Subject: [PATCH 03/11] Remove cocoapod --- demos/chat-demo-mpp/common/build.gradle.kts | 38 -- demos/chat-demo-mpp/common/common.podspec | 39 -- demos/chat-demo-mpp/ios/Podfile | 11 - demos/chat-demo-mpp/ios/Podfile.lock | 16 - .../Pods/Local Podspecs/common.podspec.json | 35 -- demos/chat-demo-mpp/ios/Pods/Manifest.lock | 16 - .../ios/Pods/Pods.xcodeproj/project.pbxproj | 536 ------------------ .../xcschemes/Pods-chatdemoios.xcscheme | 58 -- .../xcschemes/common.xcscheme | 58 -- .../xcschemes/xcschememanagement.plist | 21 - .../Pods-chatdemoios-Info.plist | 26 - ...Pods-chatdemoios-acknowledgements.markdown | 3 - .../Pods-chatdemoios-acknowledgements.plist | 29 - .../Pods-chatdemoios/Pods-chatdemoios-dummy.m | 5 - ...os-frameworks-Debug-input-files.xcfilelist | 2 - ...s-frameworks-Debug-output-files.xcfilelist | 1 - ...-frameworks-Release-input-files.xcfilelist | 2 - ...frameworks-Release-output-files.xcfilelist | 1 - .../Pods-chatdemoios-frameworks.sh | 186 ------ ...ios-resources-Debug-input-files.xcfilelist | 2 - ...os-resources-Debug-output-files.xcfilelist | 1 - ...s-resources-Release-input-files.xcfilelist | 2 - ...-resources-Release-output-files.xcfilelist | 1 - .../Pods-chatdemoios-resources.sh | 129 ----- .../Pods-chatdemoios-umbrella.h | 16 - .../Pods-chatdemoios.debug.xcconfig | 10 - .../Pods-chatdemoios.modulemap | 6 - .../Pods-chatdemoios.release.xcconfig | 10 - .../common/common.debug.xcconfig | 15 - .../common/common.release.xcconfig | 15 - .../ios/chatdemoios.xcodeproj/project.pbxproj | 79 +-- .../UserInterfaceState.xcuserstate | Bin 37020 -> 138814 bytes .../xcschemes/chatdemoios.xcscheme | 14 - .../contents.xcworkspacedata | 3 - .../UserInterfaceState.xcuserstate | Bin 92333 -> 140997 bytes .../ios/chatdemoios/ContentView.swift | 1 - 36 files changed, 4 insertions(+), 1383 deletions(-) delete mode 100644 demos/chat-demo-mpp/common/common.podspec delete mode 100644 demos/chat-demo-mpp/ios/Podfile delete mode 100644 demos/chat-demo-mpp/ios/Podfile.lock delete mode 100644 demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json delete mode 100644 demos/chat-demo-mpp/ios/Pods/Manifest.lock delete mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme delete mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme delete mode 100644 demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist delete mode 100755 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist delete mode 100755 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig delete mode 100644 demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig diff --git a/demos/chat-demo-mpp/common/build.gradle.kts b/demos/chat-demo-mpp/common/build.gradle.kts index 66c8ff5af..cc08e2973 100644 --- a/demos/chat-demo-mpp/common/build.gradle.kts +++ b/demos/chat-demo-mpp/common/build.gradle.kts @@ -5,7 +5,6 @@ plugins { id("org.jetbrains.compose") id("com.android.library") kotlin("plugin.serialization") - kotlin("native.cocoapods") } group = "io.github.jan.supabase" @@ -27,45 +26,8 @@ kotlin { it.binaries.framework { baseName = "common" isStatic = true - transitiveExport = true } } - -// ios() { -// binaries { -// framework { -// baseName = "ios" -// transitiveExport = true // This is default. -// } -// } -// } - - cocoapods { - - // Required properties - // Specify the required Pod version here. Otherwise, the Gradle project version is used. - version = "1.0" - summary = "Some description for a Kotlin/Native module" - homepage = "Link to a Kotlin/Native module homepage" - framework { - // Required properties - // Framework name configuration. Use this property instead of deprecated 'frameworkName' - baseName = "common" - - // Optional properties - // Specify the framework linking type. It's dynamic by default. - isStatic = false - // Dependency export - export(project(":common")) - transitiveExport = true // This is default. - // Bitcode embedding - embedBitcode(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.BITCODE) - } - podfile = project.file("/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/ios/Podfile") - // Maps custom Xcode configuration to NativeBuildType - xcodeConfigurationToNativeBuildType["CUSTOM_DEBUG"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.DEBUG - xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.RELEASE - } sourceSets { val commonMain by getting { dependencies { diff --git a/demos/chat-demo-mpp/common/common.podspec b/demos/chat-demo-mpp/common/common.podspec deleted file mode 100644 index 91c2d3bc1..000000000 --- a/demos/chat-demo-mpp/common/common.podspec +++ /dev/null @@ -1,39 +0,0 @@ -Pod::Spec.new do |spec| - spec.name = 'common' - spec.version = '1.0' - spec.homepage = 'Link to a Kotlin/Native module homepage' - spec.source = { :http=> ''} - spec.authors = '' - spec.license = '' - spec.summary = 'Some description for a Kotlin/Native module' - spec.vendored_frameworks = 'build/cocoapods/framework/common.framework' - spec.libraries = 'c++' - - - - spec.pod_target_xcconfig = { - 'KOTLIN_PROJECT_PATH' => ':common', - 'PRODUCT_MODULE_NAME' => 'common', - } - - spec.script_phases = [ - { - :name => 'Build common', - :execution_position => :before_compile, - :shell_path => '/bin/sh', - :script => <<-SCRIPT - if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then - echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"" - exit 0 - fi - set -ev - REPO_ROOT="$PODS_TARGET_SRCROOT" - "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ - -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ - -Pkotlin.native.cocoapods.archs="$ARCHS" \ - -Pkotlin.native.cocoapods.configuration="$CONFIGURATION" - SCRIPT - } - ] - spec.resources = ['build/compose/ios/common/compose-resources'] -end \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Podfile b/demos/chat-demo-mpp/ios/Podfile deleted file mode 100644 index b7c10ec71..000000000 --- a/demos/chat-demo-mpp/ios/Podfile +++ /dev/null @@ -1,11 +0,0 @@ -# Uncomment the next line to define a global platform for your project -platform :ios, '17.2' - -target 'chatdemoios' do - # Comment the next line if you don't want to use dynamic frameworks - use_frameworks! - - # Pods for chatdemoios - pod 'common', :path => '/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec' - -end diff --git a/demos/chat-demo-mpp/ios/Podfile.lock b/demos/chat-demo-mpp/ios/Podfile.lock deleted file mode 100644 index 711fad23c..000000000 --- a/demos/chat-demo-mpp/ios/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - common (1.0) - -DEPENDENCIES: - - common (from `/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec`) - -EXTERNAL SOURCES: - common: - :path: "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec" - -SPEC CHECKSUMS: - common: 6489e4775a5fed74a0b3426e9dbf8eb405f098b3 - -PODFILE CHECKSUM: 4be35d1c2a7dce63512c8388f8bdddd3317ce5d7 - -COCOAPODS: 1.14.3 diff --git a/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json b/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json deleted file mode 100644 index 1f7fdfafc..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Local Podspecs/common.podspec.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "common", - "version": "1.0", - "homepage": "Link to a Kotlin/Native module homepage", - "source": { - "http": "" - }, - "authors": "", - "license": "", - "summary": "Some description for a Kotlin/Native module", - "vendored_frameworks": "build/cocoapods/framework/common.framework", - "libraries": "c++", - "pod_target_xcconfig": { - "KOTLIN_PROJECT_PATH": ":common", - "PRODUCT_MODULE_NAME": "common" - }, - "script_phases": [ - { - "name": "Build common", - "execution_position": "before_compile", - "shell_path": "/bin/sh", - "script": " if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n" - } - ], - "resources": [ - "build/compose/ios/common/compose-resources" - ], - "platforms": { - "osx": null, - "ios": null, - "tvos": null, - "visionos": null, - "watchos": null - } -} diff --git a/demos/chat-demo-mpp/ios/Pods/Manifest.lock b/demos/chat-demo-mpp/ios/Pods/Manifest.lock deleted file mode 100644 index 711fad23c..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Manifest.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - common (1.0) - -DEPENDENCIES: - - common (from `/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec`) - -EXTERNAL SOURCES: - common: - :path: "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/common.podspec" - -SPEC CHECKSUMS: - common: 6489e4775a5fed74a0b3426e9dbf8eb405f098b3 - -PODFILE CHECKSUM: 4be35d1c2a7dce63512c8388f8bdddd3317ce5d7 - -COCOAPODS: 1.14.3 diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index c6673151a..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,536 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 56; - objects = { - -/* Begin PBXAggregateTarget section */ - 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 1D5F1C893FEB1534A938215715B55EDF /* Build configuration list for PBXAggregateTarget "common" */; - buildPhases = ( - 7117138631DE463A2F0FAF7227B3ADA6 /* [CP-User] Build common */, - ); - dependencies = ( - ); - name = common; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 5F25EAD29BFDACC915202F5451DFB5D3 /* Pods-chatdemoios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5F9F68327B462720C12987DD59C258FC /* Pods-chatdemoios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */; }; - B176BF3B914205DA7FD3E202B3D88134 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - C5293AF72D076C42F6DBAE58E4D51258 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8217FBB9D1218C346C0781D0B8F2BBE8; - remoteInfo = common; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 15AC25C6A735C6BC402A5F5759F60906 /* common.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = common.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 4896FE8DDAC1EDF920F0C10E57B9017D /* Pods-chatdemoios-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-chatdemoios-acknowledgements.plist"; sourceTree = ""; }; - 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-chatdemoios-dummy.m"; sourceTree = ""; }; - 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.debug.xcconfig; sourceTree = ""; }; - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-chatdemoios"; path = Pods_chatdemoios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-chatdemoios-umbrella.h"; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - B753B2FF23C525FD0E54007C6EC27923 /* Pods-chatdemoios-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-chatdemoios-acknowledgements.markdown"; sourceTree = ""; }; - CFF5CA043BDEB95DBE2327D2E87A2D34 /* Pods-chatdemoios-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-chatdemoios-Info.plist"; sourceTree = ""; }; - D9E19E7E34E3BFE8A008CCC46B754A3A /* Pods-chatdemoios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-chatdemoios.modulemap"; sourceTree = ""; }; - DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-chatdemoios.release.xcconfig"; sourceTree = ""; }; - FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = common.release.xcconfig; sourceTree = ""; }; - FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-chatdemoios.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - CC14F43D43FA473C78494BFFD5CBBED0 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B176BF3B914205DA7FD3E202B3D88134 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 26F3A8353801EBEBD7A788CC9B3A8369 /* Pods-chatdemoios */ = { - isa = PBXGroup; - children = ( - D9E19E7E34E3BFE8A008CCC46B754A3A /* Pods-chatdemoios.modulemap */, - B753B2FF23C525FD0E54007C6EC27923 /* Pods-chatdemoios-acknowledgements.markdown */, - 4896FE8DDAC1EDF920F0C10E57B9017D /* Pods-chatdemoios-acknowledgements.plist */, - 6A1CFAE492B9AE20B561E476371B31F1 /* Pods-chatdemoios-dummy.m */, - CFF5CA043BDEB95DBE2327D2E87A2D34 /* Pods-chatdemoios-Info.plist */, - 9594ED121429A3B97B23FB5F2D17D2D8 /* Pods-chatdemoios-umbrella.h */, - FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */, - DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */, - ); - name = "Pods-chatdemoios"; - path = "Target Support Files/Pods-chatdemoios"; - sourceTree = ""; - }; - 57506E5B08E2DB6B9A0358A93E3AB6BD /* Development Pods */ = { - isa = PBXGroup; - children = ( - B4BC1AD0CD91FD3709A8BE3EF824ADEB /* common */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 578452D2E740E91742655AC8F1636D1F /* iOS */ = { - isa = PBXGroup; - children = ( - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */ = { - isa = PBXGroup; - children = ( - 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */, - ); - name = Products; - sourceTree = ""; - }; - 70C76CAF46334C5B88A04C8CFAFFAA1C /* Support Files */ = { - isa = PBXGroup; - children = ( - 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */, - FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */, - ); - name = "Support Files"; - path = "../ios/Pods/Target Support Files/common"; - sourceTree = ""; - }; - B4BC1AD0CD91FD3709A8BE3EF824ADEB /* common */ = { - isa = PBXGroup; - children = ( - E8598C9D101CFD536B59424DD5B6F509 /* Pod */, - 70C76CAF46334C5B88A04C8CFAFFAA1C /* Support Files */, - ); - name = common; - path = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common"; - sourceTree = ""; - }; - BB405166AC21B7FBDA83F4E97C368829 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 26F3A8353801EBEBD7A788CC9B3A8369 /* Pods-chatdemoios */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 57506E5B08E2DB6B9A0358A93E3AB6BD /* Development Pods */, - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, - 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */, - BB405166AC21B7FBDA83F4E97C368829 /* Targets Support Files */, - ); - sourceTree = ""; - }; - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 578452D2E740E91742655AC8F1636D1F /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - E8598C9D101CFD536B59424DD5B6F509 /* Pod */ = { - isa = PBXGroup; - children = ( - 15AC25C6A735C6BC402A5F5759F60906 /* common.podspec */, - ); - name = Pod; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 466C50A360816EF7F20E817132E44A5A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5F25EAD29BFDACC915202F5451DFB5D3 /* Pods-chatdemoios-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - AE7BB0D0AA32FBEBDE4A01BDD222D7C5 /* Pods-chatdemoios */ = { - isa = PBXNativeTarget; - buildConfigurationList = 502EEDFF030BF73112324322FFB32B51 /* Build configuration list for PBXNativeTarget "Pods-chatdemoios" */; - buildPhases = ( - 466C50A360816EF7F20E817132E44A5A /* Headers */, - 7A949C5E45C97DB2277BC26D750ABAC0 /* Sources */, - CC14F43D43FA473C78494BFFD5CBBED0 /* Frameworks */, - 46CD069F00C9DC5876B5ACAA451EA8AA /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - F4A8B570E3A70D466945FD68E0E5C29D /* PBXTargetDependency */, - ); - name = "Pods-chatdemoios"; - productName = Pods_chatdemoios; - productReference = 81229139644B94520F7D3829400F4738 /* Pods-chatdemoios */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1500; - LastUpgradeCheck = 1500; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 14.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 6395C4A5B8D6F1D2F57C857D61FC5209 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */, - AE7BB0D0AA32FBEBDE4A01BDD222D7C5 /* Pods-chatdemoios */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 46CD069F00C9DC5876B5ACAA451EA8AA /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 7117138631DE463A2F0FAF7227B3ADA6 /* [CP-User] Build common */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "[CP-User] Build common"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = " if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 7A949C5E45C97DB2277BC26D750ABAC0 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5F9F68327B462720C12987DD59C258FC /* Pods-chatdemoios-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - F4A8B570E3A70D466945FD68E0E5C29D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = common; - target = 8217FBB9D1218C346C0781D0B8F2BBE8 /* common */; - targetProxy = C5293AF72D076C42F6DBAE58E4D51258 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 032504F201C69275441D32C68CCD1F0E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 17.2; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 48F67AB1E5DBE79CCF2F86C75296AB01 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_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_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 17.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 4EBFCB79EC7F9139069125E45C93AFA3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD1A5A35B789E4453A9B18A97065CAB3 /* Pods-chatdemoios.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 17.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 6907C4CEF20F187FD16EFA7B17989090 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6BFCD8517726E8C4DB9DB22DBF6480EC /* common.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 947180E8F38BB5B30EEEDB62362CC922 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DF742411FDA01868C2D9B90848D20A3E /* Pods-chatdemoios.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 17.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - E7EECF5DD4EAEC0744BA0AC67C29AD35 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FC51A156D81D9DF97D45CF332B1C0DBC /* common.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D5F1C893FEB1534A938215715B55EDF /* Build configuration list for PBXAggregateTarget "common" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6907C4CEF20F187FD16EFA7B17989090 /* Debug */, - E7EECF5DD4EAEC0744BA0AC67C29AD35 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 48F67AB1E5DBE79CCF2F86C75296AB01 /* Debug */, - 032504F201C69275441D32C68CCD1F0E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 502EEDFF030BF73112324322FFB32B51 /* Build configuration list for PBXNativeTarget "Pods-chatdemoios" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4EBFCB79EC7F9139069125E45C93AFA3 /* Debug */, - 947180E8F38BB5B30EEEDB62362CC922 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme deleted file mode 100644 index ef48959e2..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/Pods-chatdemoios.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme deleted file mode 100644 index 2f76f9f7e..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/common.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist b/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 601eac501..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Pods.xcodeproj/xcuserdata/hieuvu.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,21 +0,0 @@ - - - - - SchemeUserState - - Pods-chatdemoios.xcscheme - - isShown - - - common.xcscheme - - isShown - - - - SuppressBuildableAutocreation - - - diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist deleted file mode 100644 index 19cf209d2..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown deleted file mode 100644 index 102af7538..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.markdown +++ /dev/null @@ -1,3 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: -Generated by CocoaPods - https://cocoapods.org diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist deleted file mode 100644 index 7acbad1ea..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-acknowledgements.plist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m deleted file mode 100644 index 91cf91f7d..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_chatdemoios : NSObject -@end -@implementation PodsDummy_Pods_chatdemoios -@end diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist deleted file mode 100644 index ad802a46a..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh -${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist deleted file mode 100644 index 14cb290ac..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Debug-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist deleted file mode 100644 index ad802a46a..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh -${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist deleted file mode 100644 index 14cb290ac..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks-Release-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/common.framework \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh deleted file mode 100755 index 477a3eb32..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-frameworks.sh +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -function on_error { - echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" -} -trap 'on_error $LINENO' ERR - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" -BCSYMBOLMAP_DIR="BCSymbolMaps" - - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink -f "${source}")" - fi - - if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then - # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied - find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do - echo "Installing $f" - install_bcsymbolmap "$f" "$destination" - rm "$f" - done - rmdir "${source}/${BCSYMBOLMAP_DIR}" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - elif [ -L "${binary}" ]; then - echo "Destination binary is symlinked..." - dirname="$(dirname "${binary}")" - binary="${dirname}/$(readlink "${binary}")" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - warn_missing_arch=${2:-true} - if [ -r "$source" ]; then - # Copy the dSYM into the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .dSYM "$source")" - binary_name="$(ls "$source/Contents/Resources/DWARF")" - binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" - - # Strip invalid architectures from the dSYM. - if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then - strip_invalid_archs "$binary" "$warn_missing_arch" - fi - if [[ $STRIP_BINARY_RETVAL == 0 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - mkdir -p "${DWARF_DSYM_FOLDER_PATH}" - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" - fi - fi -} - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - warn_missing_arch=${2:-true} - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - if [[ "$warn_missing_arch" == "true" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - fi - STRIP_BINARY_RETVAL=1 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=0 -} - -# Copies the bcsymbolmap files of a vendored framework -install_bcsymbolmap() { - local bcsymbolmap_path="$1" - local destination="${BUILT_PRODUCTS_DIR}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identity - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${PODS_ROOT}/../../common/build/cocoapods/framework/common.framework" -fi -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist deleted file mode 100644 index d1426a655..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh -${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist deleted file mode 100644 index 383ba86c1..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Debug-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist deleted file mode 100644 index d1426a655..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh -${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist deleted file mode 100644 index 383ba86c1..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources-Release-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/compose-resources \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh deleted file mode 100755 index f2f0541d4..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-resources.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -function on_error { - echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" -} -trap 'on_error $LINENO' ERR - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_resource "${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_resource "${PODS_ROOT}/../../common/build/compose/ios/common/compose-resources" -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find -L "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h deleted file mode 100644 index f51fe39e2..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_chatdemoiosVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_chatdemoiosVersionString[]; - diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig deleted file mode 100644 index 777016677..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_LDFLAGS = $(inherited) -l"c++" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap deleted file mode 100644 index e227d8135..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_chatdemoios { - umbrella header "Pods-chatdemoios-umbrella.h" - - export * - module * { export * } -} diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig deleted file mode 100644 index 777016677..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_LDFLAGS = $(inherited) -l"c++" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig deleted file mode 100644 index 3422141e8..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.debug.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -KOTLIN_PROJECT_PATH = :common -OTHER_LDFLAGS = $(inherited) -l"c++" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../common -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -PRODUCT_MODULE_NAME = common -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig b/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig deleted file mode 100644 index 3422141e8..000000000 --- a/demos/chat-demo-mpp/ios/Pods/Target Support Files/common/common.release.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/common -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -KOTLIN_PROJECT_PATH = :common -OTHER_LDFLAGS = $(inherited) -l"c++" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../common -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -PRODUCT_MODULE_NAME = common -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj index a20f6ebca..0f8435bad 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj @@ -11,19 +11,15 @@ 6581F1542B36C0CF00BA34A9 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6581F1532B36C0CF00BA34A9 /* ContentView.swift */; }; 6581F1562B36C0D000BA34A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1552B36C0D000BA34A9 /* Assets.xcassets */; }; 6581F15A2B36C0D000BA34A9 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */; }; - CFCEE6D85EE7010FF288D21F /* Pods_chatdemoios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-chatdemoios.release.xcconfig"; path = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.release.xcconfig"; sourceTree = ""; }; 6581F14E2B36C0CF00BA34A9 /* chatdemoios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = chatdemoios.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6581F1512B36C0CF00BA34A9 /* chatdemoiosApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = chatdemoiosApp.swift; sourceTree = ""; }; 6581F1532B36C0CF00BA34A9 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 6581F1552B36C0D000BA34A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 6581F1572B36C0D000BA34A9 /* chatdemoios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = chatdemoios.entitlements; sourceTree = ""; }; 6581F1592B36C0D000BA34A9 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-chatdemoios.debug.xcconfig"; path = "Target Support Files/Pods-chatdemoios/Pods-chatdemoios.debug.xcconfig"; sourceTree = ""; }; - DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_chatdemoios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -31,29 +27,17 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CFCEE6D85EE7010FF288D21F /* Pods_chatdemoios.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 492FC13393DF1DE6322D1EC0 /* Pods */ = { - isa = PBXGroup; - children = ( - A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */, - 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 6581F1452B36C0CF00BA34A9 = { isa = PBXGroup; children = ( 6581F1502B36C0CF00BA34A9 /* chatdemoios */, 6581F14F2B36C0CF00BA34A9 /* Products */, - 492FC13393DF1DE6322D1EC0 /* Pods */, - F12730E0215F5E013E03F71C /* Frameworks */, ); sourceTree = ""; }; @@ -85,14 +69,6 @@ path = "Preview Content"; sourceTree = ""; }; - F12730E0215F5E013E03F71C /* Frameworks */ = { - isa = PBXGroup; - children = ( - DCBA3265D16541D984DF6475 /* Pods_chatdemoios.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -100,8 +76,6 @@ isa = PBXNativeTarget; buildConfigurationList = 6581F15D2B36C0D000BA34A9 /* Build configuration list for PBXNativeTarget "chatdemoios" */; buildPhases = ( - 5543D94EAF015AAF663B8697 /* [CP] Check Pods Manifest.lock */, - 6581F1602B36C25B00BA34A9 /* Run Script */, 6581F14A2B36C0CF00BA34A9 /* Sources */, 6581F14B2B36C0CF00BA34A9 /* Frameworks */, 6581F14C2B36C0CF00BA34A9 /* Resources */, @@ -160,49 +134,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 5543D94EAF015AAF663B8697 /* [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-chatdemoios-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; - }; - 6581F1602B36C25B00BA34A9 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 8; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cd \"$SRCROOT/..\"\n./gradlew :common:linkPodDebugFrameworkIosArm64\n./gradlew :common:embedAndSignPodAppleFrameworkForXcode\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 6581F14A2B36C0CF00BA34A9 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -336,7 +267,6 @@ }; 6581F15E2B36C0D000BA34A9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A6D5BB6CD750B9827DFACDF3 /* Pods-chatdemoios.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -346,10 +276,10 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/build/bin/iosArm64/debugFramework/common.framework"; "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = "$(SCROOT)/Pods/**"; + HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; @@ -379,7 +309,6 @@ }; 6581F15F2B36C0D000BA34A9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5A59D0FE1818990837E2DE06 /* Pods-chatdemoios.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -389,9 +318,9 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/build/bin/iosArm64/debugFramework/common.framework"; GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = "$(SCROOT)/Pods/**"; + HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate index 04d5df0fc7398a7b17cc745d48cdeba6b1290059..a6e79d9cb0c9149bd88943227cdb81a0e4ef20a9 100644 GIT binary patch literal 138814 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

srpJ8;{Y7?-Hca2R;E)O~@rvmD6B3_U! zXz20yiWZMXdIL@n0fX!&Ll5Y_QlQ+a^1Uspo+N@_X-jq0*1KM`se0EyT_GX{*;I#~ zuIIY7@8t*eR1x(`Yw1<<6epXm8_vpzpYcB@8f-n9Euvm&(B~8tPA)61m>w{e_~uGp zw)jMx>v;~b4|T1eRmV$}BDCv+oc>2%-pXD*G_L`0w}Mmes`nMu^F-JIS6EH29+p>$ zMDh;tF0FXCnkU2@yr(7}Mo_9fUo3@>c~(Dc{13_dE`?t;%<9kQWW0}CsqYdC$ohX< zKzbkXZ2|9L%t8_Uf9qD?^ttlw-2vSvLSJe9{%`f?GL|iCpi=gwBKVbdMgJ{$KQ_wB zjaBt>5&KHJqPz){%QY6(33&py7nJjY!t78 z*}3i}o&)2GmUvf^U6N9b6(VxKYl!SU#;uCZlRKWT2)KXKRawSkVi`@v_c?WT_j9yL z+g+~%q%vQ&w|mxzi5vM(oSvH&@DiB%@gNhrPr^Nq&%GtxB-NK9)a%t7q}bJ~D`SN| z^8tl)nUNpJ5zmJ^Mi%pHK|FEHqrj8P{r=MRiBI0Exx)0h1$=1C6XOb#=kU?cLcY(d zoT-a1XSu%38$6qQ_Yz$vzBxq|;=2Ro?mYR1#WnrgDOdIOggvxI%`XW5Sh?tQ?Xs}9 z!%kDued_({SNO5;I={$uewOR}B!?yNn!_kwGwU1|7biNeJZ?;J(c~$U<2=t9-| z^xt9iQ7Lv^?U}V_sb81FZkEFu$aQ{Qr#=>TM9uFO|5nMbF#j$(twoK^_NisfwQ;xq zEzy2{{P>T`MauHes6Uco*Q?)Ezo&j*{ek*JH9vrSQLgi+T<0&j&Lz3d-*TOQ)`#s= zpOZF78`Kx14VC;r^ySKg$^=;@@tW&HY@1(*mOhgy%W?f8oc~m|(vp&biDJv-zHp*UDlYL9jV|TG&@8fvPb~itCen3R z>$@=18a3<9zuw<{R{t#4(@;PDBi7en!%UkaBhvZzNr3F{g?WZ`fv3=>dWeX zHIgPwQ%h4@R)xu`TC$2i)R9#xSrsm;>dLBmvg$fnb-k>*K~~);t8S82^<`CrHy2G^ zk;}~iKk;nu1(X9-=6@@x||MooegyGCP@ zRq8dhf0VYRV`&zYgyG+R<)N^9c7hHR>jFGy{t0IDz?sMIV@jR zCCjQVvZ|Y`>LIHvvdSi_9CBEitV)qpsj{k%tV)+vnIhL=ntaW0O@U^Frcg6dQ=}QC z8Lb(kDb|eDjMJ28#%m^MN;MNTlQdCAwq}lIuB_@S ztNP2TVX|tZtQsq;Cd#TQvTCNRs+3jpW!2rXYO$b$J_TvmN8tG<_29K!sPkvSv*&i$9FD|zlSAjUn3Hs-1ZR@YYE81}lH>KxWV2o$ zZ?Px(2D-}~NE;9+!RD|V^ocf|MW1ZfnXE~Py5yuplg?;Jb~vm~hr!@5`vzL%4%8qZ zkltZ6nG(#&I;X*IBakzJjGW23M7zlCAn=tJR=ON=Psg zNFT3DvYV202B+C*aV94vS*%vyKo7YCH4X@5c3N$gWD9v%40@f(V6f_}dYYDONVX;z zEapUm(=Vfy?m)K&1hQCc*5o9+Q|E{`B~Wa8vd(HsOwuLVjLGo{j-*6mve7rAweCR8 z0s=V=PE)*{KuH#pRcEqW6Ll7g)2?%xlMnb;TLFwJ5Y;&KnV^9%eEPH&SV?i zZ%EeblFf-mU6RR~kYtOuIH{9wMo+r~wF(GiPqG;k4Ds|@yv<1YEsrg(?lH_(gjKpg@C#XDIS9F!;CuBX_xWQ#7zYN1B) z$;NoSDal~>A4mJ#fjH!=wyv4Y$!4QojKu^88Ck_RGU}6c@n);pWKA?B7!v%NcE}y5 zQ$Qf6-C#7^4R)Q~A!=kZGP0AC47vnUqTTAS@~;-XZ_{3P2Z|2}WJ+`z%=QGm&YtWr z>r8q}vM$+THR_DUM2pQFpOD1J@(pyt9mo(6h>b_Q-DooF65?$Zoyll4=qv_{jcAGS z27}S6w>$m1|Fk=hDIky`!A^1YWTdyT8L?6Jq$IsV7oViJTauETh6J<0H>3C5ff54) zCGt#af;B;>PiEs`ve@HwRf-#wl>~vU?$!5?wje4WmW;RfJyJyYu~v8bq@$+uq9a- zdt{VMiA@eRwaG?Dyv~x8>@+4j4TvY(4>{}?2o?&M28%KY;1K9%t z>En}=~+piN1lN!rXzJ0f8*$WQ&;_X3Q>jM`k@W z;$?STGUL-|u_VQ_Px2W@QQ_`Dy#fLm3`y~NBP+hyW~A5HyRj)^XeJnp4tkU4ldU%2 zKsUGp^$rMRW;1I~PPXavwgd*GDc;2H$YG)r%{G(SYByO;zN<)7q&rYrKp?%r>PWD& zu2B$rEy-xsS>nak&1teb9cBmr*RMt~?m!sTj8I-Rj-a@cG-wvrC^;QDx*!(=cU4NlMDV^ouWv{>hH<0Kvs-NRV@pvS10Wh^>+_ar}~@=`$V=EQhwyu}u;i?>)g4sjUR z0hl?Sb(qX%n}f}`#i3W$j~!9FL~c7})vPs9yJgkvP;%QVa(h`;%?Xy6jURPR}(dNW*y zMqyRun;kt@l+Se#8qMXqElT<3i41R-RnG;>@NVzM>-k_CuaM4xJ>^>zUA5zmX2<=4 zl7QH8N3-MJ7A%1k-u=t=VEY$CDCf?e1Xe|_sj9$QS+!G1;0cic`|Dl75_mfL8BZUv zzkD&Ek3u`=Rz~<1(MNlfKH4gd9NJZN(e~(_RRe67tlFz2C~k8`b2;_pU&gEm(3PU7+wJ_jUBQqB^dFr|9ow)lsE7KZ*o?l2yloCGbb|MNjv?()R9#uJqgCtCBYa@7Ec99Fs6P?geSqbWYy__ z1Vg)E;z=+@BNBYulVD7YNU-YgAf`b~L+|*CVLyCEN$^&YU{hK3Zm0^MZQ$4UY{ zMFQNB5gEfj%+mB;ekO#bn5;3rYfgMFQEf>eFBe4DfDaJ`28$ zv6~W&NnD*XSh$2`*K;k5D=9h~S5=(xPOguelRT#&F+*a8i3+&(LoxZX>I)@-5h4Lb z&zHdxDE97$z6!b@3gwEGrvl?+N~^kHqOAHxNuXRLP$8?n4VJ(R?`q7NAGjKabfwFa zz#OhlDHW(?tbEq{>`%!vr4Tf z8ejEm&*g*5ODC5V7Ky***_X(XMHL0bB_iQ6o|P#o;}^dsmKBXED&vRgb6iuV6_;1^ zFCJMjW@vd~NpT_1U+D_UiVB$59Z6Th1fIW&C@CnfaPsTpJaS`UqM@ZzipoS$T>tL6 zo)&YW*1^@4XWf53<@z&^;P8D$o9nf!($SfoS*mhs*|TJyB>taLwlgvB`aSs;^Fhp6 z24BpFa`<&?YQ0nWsVG21(X@%Y0?QA)pEE- z4v$h+j!QnpxExY3Jc(*+Y1w1@JpHE)*VYTDK?p6@-lVPXA4si@lC*2Iq#3hD8!d-x zD_aj0KR(4{TsakG^#5S-fSc!WHYJ@~w5=rVCT&A)BW+`C6YZ_qrrKuO=Gqq8mU4Il zIs6tmyrCT4NDgl-hc}VKZqojCrF~4Y<9~oWYdg##3nparFkF;0t?&$dZ zNUiT*r*9ammjHdPif)# zk>U!TWSm@9G|)S<_n+MvISa-YmrT!(jPcD!JXOXTC!U0hD4r-@b1g3(KbhQ1S^EP2 zru)b#6kD`US8eLfT(L9ilWZnkk|BW`+uRt}SrXZKCK$MnU{4gcflPS?W#bb~{AyFR znf2yQhJNn1YzMjjqfd-ADBWq*rtm1K)~2;<9a^Ux-a!uUD2K<&;kw6beX32>_SW{P z{7w$@Sa^Xv9zorx41%dQGIuz$*&=y?=0K432K z5@bn{_~)F-;36W!68y0PDm}#9hPuox1Uk=yH;bu9! zb7i5@xItQuBi3mLYlmou%Hak%+$e`LdA@ddtxx6f1UWph@;lL_HUT;KEi$W&59ZQZ z9;&|VD+f2#5SUWyQ?zNoSQtiabopN}R z9G+YmTPQVaT}x`_x{;veI(??PmTJUAv7wHSKOI)9b{$oC-RlRmVoNK2{AXY*@h}u0 zhc3%)RZ%)|K&w*M*P_ccQrP^}49Scf9%vF9boWFj>s^;yR$5w78Mf($8>6BdH)-7_ zHZHH#gvli(Z{1WsB2ujxkip~sVoTAlRUvzX@*x>HmJ0r2#N>*i^2%D3*HzXYm@~Ps zu&9X5^II|6`ZwRwsDDOIr*TEo%Lnma&+^wasI0T5VWq0FUcZbSC%dTAw>E87zj=$6 zt@z(L{8kRj8RZne{=okho2QmN+qes+t`}JuURjq>>HgJ(9Ny+F8lRUcf>=vSMxJWh zu6>6=?&Kyg;{f*`i$owX&D!=IiS2&TglTo1Xo0<$(Oo)$fwxxIk-v=Bv$Fd%Y^1x% zYYiQP{=HOBQcDe`R#JP(Aep69DNX7t_sq<(>S0R*)7~9?7}WC$j!uWgWwWSc+wM01x32Jc`G#8f&o?+pq(>@FHHq%h-ap)XoMzc3i6F;iPmU~_DBM4j_8W+=m{(AaH1CmV*+l&a%{vNypE%I7oXt^ ze1&iD9e%)1xGYJLlrgdv>L48Ta6QN|lDb8vqZ|wH0$#;i_z)j~HbtJtryzDDu_K8c z`3ru-ACjc5j~3_x`c7Slkto7wOvFswjwPTk)T^)?he3PP$8Z8C!SdDLgV>sAXwiTn zLk_o)Lqq;|Lu%WQIyHO>e7(9G^D>8606~l_*s$~k!z#Ipbr`u zU_v73k4E%IBO4q@K`Q!y8Z{b)J3#)8)`Na;v=4{y4yaQj>fh*hT*P1a8}vcr8$d@i zX3RHcTr?*4#%&M}a%h|kD{?`fH>P%t$AjfHz8h;ntr{NyHE2vyZEHf?nsh}DMxzodKs%Z|g=eq@&x3k4p)Z#X;1UWV@#Zu6}&56z7v()@)JPYDC--Q?P5?%)DS999c{C&_*E$V`?)FKYl zr-dFyWPsYV7>3~}L=k99i`#GySY8X3*MjA>ECBhooQmm~iP@NoJ3(DrF2o|xj+W%y zatD5pq*gbBdbMIXt!R6zDIi8GVzinAYS)TowqhK#+6>y&in_I;U9DaRe4z3^hxX0AdlA6w)HVE zR@$)4Hn+lp{+NLUSb=9j?roT-4Y{{D4CZU|E-v6Re2<^-3s~RV)NFdB@z4&y+bI!p)4>cFx(u&fR&tHVQBgZ0=7>eYcdb)Zfi z-oOb->PYQ7c19NRK)j9>mpFm&5GG=1`z@NB;fAFs)>B3MODlq1Cj8R=Pv_LDg0b@x={dKYE zgm@TW0{x+zh-KIga%U2$Q%7WC0`A2oP@hgr(`hGm;{cA~IOwNN^i!wPcn9R)iE-cQ zOMH#*KzlmTp1AsG1oDg{&p7goYY&zgr$Zd*!#HXdmxEmN!$6EcDP~~~s9PN4D2{Oy zN8iTLw{gqyARY$wj9ZCSpr7N`f&Amn;8#hC*TMw)HlFzLqc9HiPdv+sufP;c1N{_F zf5$JvG7vw0JvQPgJc})O9xsFO5Kk@QKfqahj8E}7s7pL`iT@GwqrM)Rf?DWlyPow; zKMcb`oAo0>Zu&78ixMzi^sM*#yKoQaC;fd`f=57m^|V+21lTs{$y2`_v|msE>G$9` z=sP|6>B&$32`+%V^gn|d>3^3bLoGx=jVQ!mGN`?Q+8gGB+8Z9n3493p-0%bFa|2`8 zz!)|#h7Et>5*WkA`iO)E(a@p+8lo{6&ql_Hu``^YkBsz*k>wicXCv)0Zo^)@jQw~W z^sn(FdSFp5U*lVllS$-6olVp^fm{;wNJJ9ICxLttQqc$L$OJhh zFeVZh6A6rogfW3o3Ib8FXq2-S(1{-H>nPYpL88=0AnUe4VIClLp%&Hf!ZY{!wLs_p*Q-2 zv6D0yLqXk=$}t73+etHU8lQmipY$2Nl%!8!@^yMr#nO8)LQG08Ga$%mrh!+a0(Q_kg^+ zEx|H8h)1vzt3kcHt;dsi4qHKOyHT@l?@Chla72K1bngN?oEQh{)t$cWPCdFmfem;K zjMeU^IYo{Fx%RjfLoo_tKn^`vc8|3n#J3aQPJH`(+=Y8UO#2ov zw(Q%n6ZD_`1Ww`<=nMP1lH|Av4bcQm(GK*lgYn?#g<_1uc(6=IIp}W(?Q_uI4*J`{ z_;Nggm0&$`tid|02mSA$U5*{tjXih`M?p>wa&j;h93SBv&f^4{oWgQbsC&vh+<`lB56B~hHmA^^DNo~B&<`okgM3oRCxyOE zIgHmq`%`Ft3OS{aPs%5_fFJQQe#P&S)T=haQ4frTURtz78<20W4lpAPnaD;S24FCT zp#UQ>8e=gRx8Zio2W{v@8+t7Qwd}PN%R%4vdKlZmnCbPWB&9Y&4-|nhm--}VQ|hPq z4&d*6!YXoa?*9lc|bihdyX-a|1QEUP!U_a^t=C7>UA z(+|DLy*K^dn?CQ&80@_gYw~O)56kYuviq>?KJ7uj_t7B^ zNuZ5=tZ<+gdV_J$XAp*fy7n1|@hHV4%z+HXMjysTpCxza@okpgl`XKbdkKBf1=08q>HX<)3S@5D)b1mdRu48~Bph<^#xAcGoYP=gF=kkJ6F zyBVyz8MmStTA&rEMMgVxzyRC{YM$|_BxOc`zRje+GFRgnY{6D+$1cz>nJ4fr=#$KI zxB%LpNnV+M;&1#bNm;Z#>pI*B`X!5g$%+DbWl@hT>XDU|r4T$vu~xb8T>fcIVPBxtYiY zeUeKZatlG<k~F9s{M#V@rfq{6pM!tKZ@7p{ zxXdje`f&*TIHUpC1`KJ8rf7jyU>QT&qa#?xklvv0hA=jUY{pyoQ<8=@L01gMG*Gvp z7v;dZ2eJ{X>kEM%h;F{JPmpV23aEEs8U|ww z7$b$Z;SMlH3aND=wJuzOWq1&5lL{F-g^Zm-axL7AJ=hCsUU&e9a0KLDcnl|S669a_ zqa=-tfDw6Me2%0JBbj#O_mWgZ9~8wR6^wx*rYRbLK`2BCCSW4UP=P6!2gXOyU08_w zK;A{qf?5`lTM^@-h}?=;RuMHVBCjIyDmsU+@HM{0pOQ2x9M|DSknboBVnAI-wFb2v z)gH0vgm}=VQ3>dcVvx@$#^xxNJ?cDuz_0iNVi}CV(GqHbaX4CyThSb?z%oX&jM0q4 z(MfQC*rU^s3C7gu{ul`QaP(MA#X{VNrC5%KumX>P@iv;AMsL6-ybS6x`XF8f{Wkh2 zj)O5b`V`*A8N7$zC20(G7?TW^IfgMa<_WxpFD0qCF37!D2WnDGO^T^Wad)I36@8En z+ECmV!%%>c7!BG{T!Ops0LZE~Y<=Pk?-j$+ehVi$BCi z_zr(b(%1;lk7LPyEd4mP5pD(b9!t(++oA)=eXJGKdn`GRCFil^JT?R5J2nS-7y!oQ z*ddq>>O7WpVJyoWN1u*shct}C-5~FATd)<|u@n38I*x&wkE7<}Xv4VE_ynKg3w#aQ zG42ORD!CE2fZR*Sy`&{rR!K*Ydr2I+qbJgl4aQ0dW2J;#ONOBUg(w4kSh5Tc;t^2m z5^7zt4(qWI)VgFdp2uO3a|t<@kaGz+m%N2{@GjoRS$quIP;yz4#y5clEOYzyGdhF3OR0M) z`IeGz=^#+^QfgjGzNL)u(oqfm)YS>vGyq zUXDu4!+hKY+EKm;Phls>z5Hdo0+vMKBsB=XhWS}obfqW~-w}N~t$hV>llQ9+3F$;`|3i7X5i9I+c zNt0RT3G$vo-c!hX$`7E{Q^V?p0e-GX;OJEzf> zX-Qz5OdEy*ux?Hp1!_KR8W`WxsPi-# z*0lHV5$K<37eL*ok^i(mBx$+?`fPdxqM-$OO}`b*&=Rd-f(89B5JQlU5hw!no<0r} zFbNf)&eLi0^hH>VrC1K~p8haa;4zT<^tGT5rjzFk@|n>Jy+FJf%s1mXyovAdJO0Gq zxGYIC>mm{w(1w|`VP*p~1ofZU0XoEk^ z3!nyb_JBT|vmex9&YL)ewqhnT9PX3fI3t%?kbmp94e21npcW{KLhGsNn0yvYb9;1`~{2|IRpJcpUaF@c>*S( z0y8lOv{9zt<@s2It)P}NvE{R%mhuI#4#_`*+TF%@y-kIBxB>N{2K{(jGqgl&(3iJ$ zKrA{T2h{nt2SDv^J1zS0QH+s{pM4@`P6Sd^_x#W%zqaj;3Is3Pr=xjPrc?-uldw#KJ}VUz2-AM=Kl@a zxPZJC(8dL{aRK=)Ah!jyaX~c5aX~{g0qtEtdl$4pd(hSeaWEhOjNJuYz!+G-7+7FO z3VI_QS)eWp`e7i3ARi-8gfSS0383#5(02=_Vg_cT67w)0cVQv!17l^uay$ga-Gaxk z29IL{HsKj;0e!w;I~dao=$8dA;}smj5gf&FoCM=y!5O>{#>awlxPZ^`6~4s}V5}_o z4Ht08LJSL(XQ!pK~Fc-Js4%~@*un0@A3=iTFti)=p!+LDQ)7XsXu?;)%BKBfG z4&pFg#~XMPZ{Z!hhY#^F&f_zDiEr>de!{Q#1ApNkNutZ8yJ{mG*WpG)K!X@GKqK6W z=4ges=l~t!VMHR5(G@*lg#*3N2N~##T=d5v48?F1Vibx|f>M-WGNxfB=0L{nSb)26 zFBao|Jb;JsC{|%Dp1_lM3eVy>ynr3pjhCqU#47Ok^wqqCe z;AOmmLpXw?IF6GzjWc*3XK@Y}@HxK1xA*}+<2PKyC0v%Id%{o$b#XmzLL{P~#Vu%z zrf7lIXorsI1U*bJqcggpCv0#c6=}#sHu5k4gE0&R7>Ussi}9F??p2s%q#EaOA{WyrjcpY!xO}vG7@E$(I$2gDA@CAMZ z^;{T@CZIkGslh_pzR-#xC<5(TNWKfnbK(70WAjFSWeah=CXZ z>T)k*&{0pns3 zZMZKAjd3e_pci^$3?`u*q$i z!%WP^gP^~ct_6L$ls;T~4By~a{4PoNGynbc(f!ove%g6|4j6~`PlJqkV2s?)*tmZO zJ_3Dw|5uW&Nm@AjWd)zMQ^ZPG2vlub1z|VNj3d-{Lp?AxRGqx0TZzs z2XF|)eTXqZ^QDIq&>cNNZ6Bt#56=VBJVKla27pV1$eqtD`^B&`fXZP-BjS2FEN zwj(Q-;Q_o2`hMj(NqVdmbcn-b%t0ky#R)L3SJlVOxCOLj6>V8XTUODIRV;HAIj*`S zNvrFC{8sluUoiewv%J--umA7>LA}?` zz&zZ6cknSjk)(C}`?{{6Ki190eB258U>)^c_kkom-WaVxZ66;4#^B@SAn(Vi?c>z; z@joT$iCUlyPvl`3hT};*hpiz0_2j>v{MV;~ak)Mh4`MY~H`mjj>scq)e+IuL0vYTlBB2Vf@MFY0b}GT+WZvb=_&f*sVA@jKjAO@ElE%J zLSN*7SWiC!rhWQLFx}I?NYXPsL0z6<+0W3{XPEAp`|%#A%QK%!(z8v_2JKLQv7pV* zZpKdR#wAJGOh0T6M=LNsH^+hTvY8w=55!b3PB-6%b$A+##m%&B^9ML9Nn0Y&01e?p zCTPQ!nYbO)W(&*PasY>LS(2WkF3(+u&alCONtl6I*o3Xv2A1*M=b#49v)y~1wmshz z^!M|<&>QsA^HVSlPvHe@$Gc$sK7T=yw$j$EH-UV&Ccy%hy>&Duq70AY8Egh^+)5j_ zviuk7L5(O-n->_fFEB=4pzbfwKQFLOz3>KDXI@~L+i2f5`h6SyzK#CcMt^OizqXO% zHpb{S8T9`)YPoF-m~Y$1AlL2Wx4i+V=XU1Z&b-^1cRTZLXWs41yPdjh--~_t4b*gp zggDT)9n^IPZQ3y%^uvygcplVc2esVs1AdaEowuL`=>MHrpwD*>#yl*)T#xzn8l0rEYtv+un6xUE9m}*emAw z9Tz3(Wixuhib^eQkM{2S60~*SFOsyM`S&*heZJoU*17$(dw)4t{{A^2=l$fopPcuf1bwytLrHpt zTE7wjHOS!=a(IOtUKxRL7>|dr2E=&fEr|I(!ms!T|4PyU`szS8^Z?`fz-_o4wE4gu z>;*MGz&r=2*FpN`U@SUe7)FCWK1h2H(%yr#_aMtU$g&QytV1_~zBzO==$AwE%OU#Z z&}_`douGY(wtLlQb;Fh*h&?gC@_@G`LM!}QbPS8xH};(JLtLLVKWkB-nsN2u$O3NWUQ zkna&{bA)-0P{-Hm;d)TV*Ls1zeC=-BkL5UnbD({%Yta_eB*6NI(`G9LGH(C+wmOafj&HbAC}+%j^Q}|lB5&la)LfMK|UwQ z=LGqjm#63k{o}vw>27tPsD#S{x$CF^pp85=5@PQ)>Xy;pLVEJ#Y z!Wvw_xAG@iwG_#GD|=^bLd zL#^JSR_`prgLoJ};}ZUnq%*`hL!2|jIr9XFab^oX1+mWjAW83bf*HxU8;rwumxD3* z?pOFmlHThK8yw)@-+L6SPw#z=U+|kGy`O;Y=!u0O#{1;-{z<$KYW6{MbU-X7gYotO zef+^890%*=hYisZtuYRa;SZ_Thr4kAOnX)f){C>mJ6j5Bd3FZq$Fua~S^Dv#W@wL& zn270^38wjoX+C0_kD32t^7)v2J|@P;GUnkJ-o_b8I@bV9caEISjRvvKm0>Rq<26b8 zq!o0C!vZYEQc&klsPiY(`8@x2J_(({a?Vrh^VI1)G0xNO^QR=~LK`sM1wB~C1@gTx z8z12d&>x>Vk%_)|3>&Z!zu~eZeI_9VS;z+c@EOy6wi=&MFE(K-w&9{AeHn(@a3BLL`^&|67%OlVEc?qZ zCF!fSh=&2=LEnBw?Z4WK!=RpD--sC8jGX^#=}yC=EYCIozb}LU6S6Opnam`a?2}Cr z7qnO{ey9j_p-MrD%SY9U)`embtm1}(-~!@;fct_{S5%6h)}1QaT8kB_RurqE0wE-9 zVeLu#c^s$yaD1NYx$b-TIWmqjSECzSw@&-kIT1VCc_pj(3_We}@3$Pxq1?c&%)x)ZhifRXLQ-QE?sxKtJ_)K?&`h-nY!KA{S0z<>u75R+30EO5Qg(puHhzT^9Jwn z=OEaYg+CX!`TlJ?A8*(;3A?aO-`mV^doO%$yK}dn%oxUUKaaD7PI}lK1UtN8haKGE z{vF=2<4*488#?gWorCxZ$8Zc*&hTwA+q<_l^*lynactep^u(TYz~55&e(MV zBbbjfc0J4nw&J|q$07IbkvM0!b9Ost_d0%HV-W0VXE44$dv3#7dwgz>&+PG;JwCHn z=DqIQEA!r2%){IEe#!T^bDuNz4aJ@NZf7C)vNH(wd(-~joX&X8!A|afoi~Fp@KaAg z8A&c-3Rmzxe`j?NhSfCF%2nLROxE!O8-uV{4pCwZ;wK!#*<8fMIKS6KrZIzA+`=5@ zv55P5h(~#xC43r$z58=G=QEuLc!DQ+hUf5}-Ya+)`Fnp5gc%LAaTLcgj1io~D8?|B zGdK%pXE-~<*%{8xaCU~XGhW4+83)e%8@kE(1lck^M-Lf#$k@yly4lW7b_HRd3I;Qt znLLfN`Z%MHGx|8A&lh}$vog&k(_Au-ze%dPAnZGk?i> zOyEK;V={WqyoZIXWEI|#xi1L&_N70qm|x!`&`00%xqzFwle@7KeP!)y{{1RR(}WED z+}-b7=CS}Y?e{Wo^Cvp#VRsPr|1rnmP5p1+R%GnI0@?b1%o;vpEnfyB6cSUA08+S%zjog8^MP!cLiyeqO%ws%(U5MC) z$WmTpIo=hq7g;i8^&^WM@+l%poFsb6@;%C`Ltk0V97H>ZayWxIiXjZ;c!qN#r*JAi z$J?{KJk7O#YZ}+GjJH_9JG{sKARI6Nc?aZC$S_7R8g~qE z#{k_7xDR~{c!)>&l=Xbi20DT;+uO1S;yu}iFo<8H`|RIw71yA<>^HFw+4doOCHsOf zM|U~dKayr<*+8e*hmyG9J&d01v zCZXdJ^Dfa#$sBIy4(?<=3;B@G`I4_Nvl6|O=%qw2QN2X<64gsoFHyZji--~@fw@L? z6t!njJw=Z|-snW^S@c@2$2_99F&8@=eUL|3%o6k!eUatpEc!=u6#YA^v0qU=Mdd9m zpn@uDuw$iWRoaf8N{_+bmJVYC`YN5kZ}=@!xB_`f7uNRawAWpgl-vb%VnHJC@)TFj%&Jj%We!bC5!kRg#zAq_MlL&8iFx=83E;k%JA`-FKU z%p)-k^GMju#Lc)jVIGM)c!J;a6i=gzgf9GETbS66c_hpuu|EitG9)v|CJz~s#mJD9 zA*qMtL9}xy7jQZDFL@<5Fq2u>gQR&R%_C_ZN%KfPiVR5^k}@Qhp_Ala_$y|T{D{>- zSgwomQp}^=JjzqlP>1hC`3O#8B&VX2a(T*s%|%?wBp&BQmh*qS#XGFzz&++({!hN( zE6k&O6P%21g{K1D?NDW@}zGx-&|sMJN}RLrLGYOceK zDrX==r3{raRLU-&B@@)4_puqumE>_nBFsIn7PcB0Bo zR2_tSs}5xlI;lE|Qy9rPOT5BsyvYjQL53JP9Z z)oZaM)pn$MJ-)})GE~b@eISEb)#Q>-A?8zKJ~eSp#*WmS#dz##jSMw*rDhV7k-={Y zhBY$O$WU_!cQT)a=%VIxzT{un(;69SHn5c)9LTUI2y11im7%tn5@IA6$(j5w=kP0J zsI{-Pzhw$C)Lw-QwKCM|q4sVTa4)O)0^ix%Z}<)wYR#s0J3So8urCPfWT=y&P7igZ zlu^#9m`9y?)R{-!1TN$vuE70u*Kj>IGLyN;QzuKExzyR+x@TF+^DN^fI@pc->q9c= zOMeQGr(TwNbE&tx^=%x?Aq?V2T*8%H%XDO@pN$=Y5k`4n>OFH`KG7gZE5|cZ$PK%7kQJnc$+`*5nr>OA28!|C*7EJ`al-5 zZpX5H-Angq1NRHx6wHfhjS{U7|#UEr`2p)f5TLMhdW!nz11$Y&SG8=4qU{2{2uce_%g5Z25;k@ zf$#ANpYl)qnKJMzzUEuL3&J*UY-?v6H*y>Ed5}l&j<#2L4QID`hu;AV{cpa)Ha)iK zu}zPD7cgvdW}6<{Hn559?7$BDUBIwCN}L4V-=3m|deSs=5c0Gi!Vq-dek{X+|NNEF T>%adjS^D39{{P>@_N)F4ld(Z?-sk^b_yla-%k7qnkT$WjGd(L|f_yhGGp(5%{fkU?SQ&cVKk!vT#EpZeh@w+k&RN%D}Af zns8%b66gg+!)WUQiBKXep&QNOTa2DDFiytBxS0ZG6f>F`!;EFdG2@vD%tU4qGnw%- zGnrXTIa9$@GF419a~u<7j%Py5Vy1y3gh63lAmWabp+4CYMcY~~#10_Gy- za^?!=O6FSTI%Y3(J+qIwfw_^niMf-xk9mN3gn5E_l6jVSj(MJWgL#vAi+P)QhxwfO zg87p9ius!Pk@<=FnfZnJ10jTwfJCH0y-*&qAO~`yv1l9`k0zjrXcC%?rl6_l2y`Sm z3KgMZGy~P30IEfGXf~RILTE8+K#eGjmY`+mM065bi`Jo&(J4qm1f7Gvwo{tycg?JHe z#9_Pyx8Nvl#RzlT4?pW*NEZ}=aUWjU5-wXBit#adV^>ttQ5n;pOoWCyW>*&*x* zb`(2~J(4YAi`f}$Ia|RV$JVg3**WZdb^*JPUBouBVK%~^z{c3s>{?c0PiN0!&t@-T zFJrG}cd&cdYuM}Aee8brX7*0@F7`h5A-0Wun0=gmnthpli~WH8nEjmnn*E0TfirTw zxIE6pnK=t*}wADObi#=Vowz?l`W7o6FU6A#O3Z zgj>qBa0zZTx0aJQ!kxiw;x6Pa;x=v%nH;EjAQK94u?X5P#D_}+XUejq=T zAHk31C-6t`NAkz;<$MKS$yf2!{Be9ezmQ+VFXkKgRs3px4Synk62F#T$Dhof!k@~Y z!Jo;m=g;9c@fY%2_)GXp`78LF`2GCN{4M;g{B8X0{2lzA{5|{u{(k--|1kd~{}lf; z|2+R1{}%r?{|Wyo{~7-||26*||2_XF{}=x^|Bt{3oFEE$f>p2yF2OAf5(W!HgrUMP zVYo0t7%fZ`CJB>;LZL_~7D|Ltp-h-5%oFAd3xtKjA|WUouNkBnsu`gfr5UT4pqZ>W zLUXicnxTCZuW9EY&R2tkAS-;+mD3HJY`WQ#7Y)&d_Yo zoTJ&O*`(R5xkPiB=1R>r%?{0O&9$2AH8*N**4(DKQ*)2zfaU?s!gZ5|bZ`wb#|LCxe*J*Tm zT`!$kXVW=#9$jx;zHWeSux^-cq;9lsoNl6Sitb3=F}gxsiEg@XrmjL)tqbU8>*{q2 zbV1!>U0BzoTdr%-ouEtTR_RXEtGtVv(%quFU3Zu6Ufun=2X&9=9@jmkdsg>??j_x;x;J!h>)z9SsQXy=neI#7H@fe2 zKk0te{h|9?kMx{g)a&#{y-9D?JM?b7Pv2MHUq47cR6jyLN#OuN`a1nw{e1l*eMsM^U#efGU!iZ+$Mq}qYxHaNr|3`BpP}ENKS#e&ze&GY ze~JDw{gwJ{`W^b+`fK&q>u=QGtiMfvr~V%O0sRB|hxL!?pVU92e_sEh{uTY}`nUA& z>Oau`NB^n*3;oyn@AN2gA>X-wb~m{xM=BZ`2s|#$HCV(PnfS zJ;vU~eB%J)VB;|3NaJYZIO9a)6yuS`V~mBy6618^Ok;(y+88j-Hr5*#7=y;e#;~!; zxZK!cj2l-OPcxowJi~aValLVa@hszc#tV%X8Lu>6WxU$B&A8pT%XpjdcH63(cSYXSdF^?-@~+9-n|DLr{=8fB?#R14@4mc)c@O11n)gKB(|OP3b>zLA_gdbY zdGF-CpZ8JTCwZUeeU{=lz!VXWl<1Y~oEClit+JWH#AMPLs#f+mvq_U>a;1 zW*TW4Z5n5qXqsX=(sYce&{SfYZklPTFjboZrrD-?(*je_wAd6jHJO&1T1+RH5~fwA z6HV((lIb+lnWnQ$=bFwpU1-{3y3};J=_=E9(@xVK({-kOrkhN+m~J=SWxCgNzv)5K zBc{hqPnn)IyOZeYW~9fwfQ^qkLF*@ zznlNEFc#J#ShN;{CC_59*ex!L*V4z*&oa<5#4_AcU>Rc>Z<%D7YB|bstfk0OYMEh~ zWvR3rXQ{Q!vCOk9v>b0~uq?4eEX|gvC1z=}thStFIoU!ir(4!r&bFLqxxjLf957z&hAE%sSFK+B(iU z(K^L?r1cnUp|!+1-8$1+VXd|Xth254)&s8k6)}7Wp*6XbMtT$P2vEFXI%X+W%e(QtQN34%qpRzt{ zeZl&Y^;PQ|*0-(iSwFOXZ2iporS%)@_tu}RzgqvW{%u1x&L-M)HlxjCv)UXsx6Nnk zYwK?tWE*N5VH;%|Ynx!3Y&*hsv~8NL*j8rq+sbWKwi;WVZLV#;ZILZxYqTx3Ewin# zwc6sgm9{muwYF1ir`pc2ZLpnV+i2Tl+ibhUcA4!;+cw({+iu&nw(D&-+HSVpX1mjN zkL`f%0o%j2$81m9p0Pb|d(rla?RDE*ws&nG*#2Yt)b@q#Yuk6WA8o(bez*N)XY8z9 zuxsrGd!F55x7%HIuf31GpM9Wxh<&)dz&^%4-ag4b)qb@7H2Zq{2K%}8^X!}K7uqkj zUt+)9euaITeY<^^eYgEO`(FEv_M7at+HbSpWxv~gz<$5|A^XGj$L&wppRqq{@36mU zf7Sk){Vn_3_V?`{*gv*^V*kSarTts`clMv`Kihw||6%{f!8kYv@6bAQj$V#Dht*+o zxEyXrZ$}@;K*u1*Fvn=e7{@rr6vtG@(T-wAiDSBBrlZzL=5?^xsrIhHz>J5F%K z9Bq!(j*}gyIyN}Ya-8cp-?7E9)p50Bn`4J#x8r)pKF5B?9gaI42OJMN9(O$9c-rxt z<7LO|j&~jJIX-rL?)cX6o#RKxFOI()e><^L2Z3U{hWiGBb+0h&snPIDGJ{mu$!z**~@=bY~hI>XK-&WN+w8FQ|5u63?+p5|QdJkPn&x!HNC^D5`n z&UWW6=U(TH&fA=~JMVQKbUx~Q%=wJ-S!ajyHRtQjcby+PKXZQW{L1;Q^JnMpF2;pi zoJ({WU1pcl<#P3L^>+<*4Reiljdx9T9pRehDsjzp&2k;*s&mbEEpRP%EpauwR=DD> zHLi88(_E*!&US5dZFX&O?RVYgy4`iR>mJwru7j?JU5~h)a6RdI*7cn0Mb}HN*Ici= z-gdp?`oQ&}>krqTuD@J=yZ&)AZsf*p*3G$jx7KZPJKRopUw6K{pL>{lxVy+*>@IPa zy35?t-80;N_e}RJce%UTJ;y!QUGEOMk9Rk@BkpDHm^wx83i!-*tcJ z{@neo`#bkODcv@t!76#Iwv3^Ta*pc+T~l=h^5v-*bUyljlOuMV`%`EuO8OZJynp zJ)RpqH+lAZ?(*F2>F~VhdCBv#=M~SZp4U9Dd*1N8>3PfZp63(Kr=HI|-*~?D{ObA5 z^Sc*&S+CdY^Y-@k@%HuRd;59&dk1(2dIx!jdB=FidMA6Qc&B*_y+z)c-dWxTZ=*Nt zUE*EpZSqFE%e>3I&E6H>6TGXvCwouvuJ>;6Uf|v2z1Dl3cdz$)?>_Gh-W$C)dG~v7 z_TJ*X!+XGczxSZ`QSW2k=e*B*U-Q21{m%Qn_XqEf-k-cbdw=o%>iy08yY~<8KR&@H z`ZT^?zC54P=kmFI9-r4Yz&Fr$l<#QYF}`Dc(|m=#B44qu#8>Jo^Ud@f=d1C}_0{`A zzQw*}zU96Xd@*0#cb4yL-#NZ>edqZ$`p)-V;M?T8(07q^rF-~GOWz9)T8`JVN?<9pZlp6`9%2fhz|ANxM>ec}7g z_ml6}-h6LuZ(Z+Rz4Llo>jt*8H8;P=7@1y79%EvxjAKq^VAS&Pn)p2UH<<;PJ+PrU z6pyzvX2v36iEU?Wj2$8=l#m7nO#>%SDjGL_%Ge176N;w5Uy}LJ0 zW2cmipD<}$&}8$Ml+KC9md9H|4dIe#L)(gQOF|vl!wg_XUc-19AJd!Z!}MkHnSM-v ziI)UPlr)l7(n)&Ba1Aq%8N>``hQPnQ>EDu3>Luk#PWV@p{~i%E+37fumd5BRf4mG9 z7ifru!!3(apO(c!E5bq3G3nE(4J|H?wj^TF=H_rLICaeU!tsTrV_*SO#urQ|9Wx2m zQ&dtg5ms3^dD6tPF_TMzrUD=^BNVTQER8`Lq;Ynrxh)(oi$zyd25Q3bL^Kv!+#Hru zBqgClC}ZdO;iu`qc$XBAYNfgG zQ@sRRV1hXWnxd;JLn|XoL%<5i3{Z86NOL3+3CHI|8WT+ln7<|73c06f ztP?DSnFdA&NTDwTTBVJVB$8HLOARxZ8M%uIFttn_Gn<(sxh0R}m3&g~T}(YQkD1Rb zU=~V!q><9G(ln`*&OLu_L$onG3h2#>Bu1qM9+ldQpvl_|mM}}1CMF{FmGY&2QvaRI za;BMC!7P^sNQ0!o@HfofRu*Yagk!SU6|Jd&l|bGO=2RYvCsK6j$3c^$u4PG9V3$H8 z+*s$&q@&KKjakV!wr!IJb}(z06Pc5kweu7M(E^$^SNSmnlYb16yyK^)iEUIRK~HLA<~fT%xTh4YGB{d0_LX z-c{3tXHB>@7LJ3J3DH?d!=+(WX7RMeYBCgImg6tH=(74qBD_LgDaaq#xkO_<7~O~Zv=7N@uGfMFv?jhis}$YYAiX3VNQuC9JT zFx0qYS#$J+wpAysBd48t)_Lc5h#IZ2wl$P!ss}jd5cc zKSyG8mMehRz@a;Jg9Z=DLT+|Lbj1o-7mzmLj^QJ6p$r5Ij5~l}$LKL*|HVw&0CD`# zcAdUs;-p;g0DKCJGxZ2KUur|KrQt+8KhW0N8jU6LL0!VYY7=EiK^pfvjygI=(#INi z>81_V7iM7!e59~t)Dn7bQ3>fNE-C#NOFbFpKD`fRy1v6dGZ#!iC^u4s3a}h7dTTTu zE&xr6w#7g(I;yI3BvMmLi3ApAFv`Ss%$_s%U(EkZn9jV~cHR8B)v;(}8x$ov7B0$# z0N@=zwB4rbSlo~!c(}IRrtetV6zKzO?`8?IYaZ3><$c<1^E+0wL~>XbfVUdA+d5+L zL=MnYzxNB@{&qK@tu(gVY#poDoR~A-_pAN^ytR&Y-PDegPmyxOqndgN;GNoMyRPH( zGo&1t0nqC~Vm4&e>yER}Irm=-eKio<2=cmNaG>LYO}S$3cZ{9)Li^@R+P7RhfJy#0 z;NU>zr}j&?4w!a=^7DXc>krC5ZND4_x}p!*%qv06llE~o*ve7yRgonLsBoFV9~}h_ z&@8A*t%LLET&PEFVYV?lncYx}I>0=`yaF|+ccI$!7xNF|prSMwjfQ&CWHb|%qvN1n z6o)zyL1&_^XdBuI)uFxU0D1;>pjXhF=xg*B7O);_Kvp~$sys*FWAJPofhrEc7vL@U za(n~SXdcC{Lrvy8{4@T8WuOYvA1W^+*=cMkJC|L`HbZsg6qc}OvRk2=vY)*j>L?Gg zkFjsCpF!p1JN9Qz3ssWdTs}95n*x=QYOW5dA`7`z?iB8H?o93+?ka8{cRN%)4sZ`~ zuRw+4Ywic`XYLQEYV_s@^CS2IejH!Q*FxoD5q|=|l0OTo65ILR{9dR`Jj8eKZ}RW( z??ct$2mWWMHfRJLtu-i|#z^^>xhnZ@@*iP{;y0YjoCjWU>FU;I#aFIsOEgDX!gLFi zIwL*ElRn4}W+QVxvo2?NNIV8>6Vr=lkDXL9yS8%-@Uq5D>ijir$l5in;rQg_aKYJu z;P|nfaPnCj0B^QsslO49zsQmZ#0knWHZd0lP1edlMO%VSxYOs^!EB;lkLuBEW-ehy zwu1m&EEPzj+L=q4tMb6g$M5~-WiK5R9v*`Py#-0QAu6J?4S1>GF!NNFnd^bRohGY9J-IE^P_uqx?@+3}`OEZnH<#)Hg5 za=ALW8vz++2lF8Fuew#6VW=zl0Ue>@IRZjTdFh$(T+;{T}l^^8xdrR3=TA zW=Q^>%zv1VnNOHcrI}KNR4G;cAB%9lVZNi$$G6g~?acR5`5~i^Dl=}$j41^1zi+J2 zXlrB9XhK5Q>J3hBzkx$Wj8t+oFB^M7NMNzr?2cqQW&x-(q#mL%svRJdiRkihOIak` z+^9rZaz+AY(WL?Q|}G-m8HY;j3rVj$1MNkWIq==P*# zg0@L)hp%^^zS#mkNE{W$VxcwdeezS09^m&Muub9tY0%(BDI+Pv?HJT2AD#~#uzeV0 zZ+Io~(RD6CB|I*T#iB7FQZNc89|V)Gz=4GZzcdvM$t&IokwE@op}^>NlBuPflWlyG zXI-DkT$P{6Zh;5#Ps5&vBW@C;I#l zp|ENXer0}BLUi?mKbgO&ME@mKZ)g6Ijyt48gOx=rvjM@D96Fw^sWPL*U1h)5e;-e8 zlf&6tFF*CGc8$JWtIOia8H`yxxx5b0411T@y4`BajD?rgHih%!p_azQ(bf5pcz#PX zksoQvkFRNI$X^91xcme>haheV#B-yXqYcYP<=3>e2F@oao2`t835?n zN;jz@v=ltaw#INhFhE(tfN7EAGembTTF`Bzh0H({l%kNtZ>4rAPiCJY0F-qDrY$%q z)0kJ)8gB8oKr%c|{ZC7Bx5~py61CBq$kL{Svc{#zyd5=3ZJp~|j$+Kn-KZI@KrJYW zTG0v8N@#yeNz($4(yZCRK{yp)5JT z(vmgcc1If2PZU0#kGAYW7r>cwA-V`{mQIx(k^Uq7L6A+__!_zdT?%3AWneNcM^~UL z(N*Yb2x7ORcKB&0+6CulW3q;$=o+{abo@&2?!g*S8%oO_)HO*u>Y36GbBa?D?hKb8 zuihfp3zC$&!kaUm(sAaiGpMU62W<7XPNSC!)ui>(rP5{6Y0|^+)5X%(SI{1G4Z0Q< zcOAs!*Q0&t26Q93iP=draLHwrN0m@#QK#Hf6$ImuDh1Slrv{ElSos_-~hS>fR=>lac-=gp8Dg&Ug z?dV&XU#)G6n zpbW%%W{9*KOh5f|t#p&LA0*T$JpczGSX@u%sLHHHDHS0(QR3_V5UhMfqy?OdRfkHmX%7W7@UOeRGMY4C1v)gpVFO*T*iXaDG?qOU9uz|1}}$h zu(F6`m582Kg>9>$Bn!Tf@~ST(Jjj*^a%^9%-X&{cs<&Whd^-$p1^%z#h^6H<~m_VSt?KP>6W& z5b3(@c$l=8dKR9NaC0K0EKG48QcP2^3h)@l(T+#q(bDzOzIHqokCSeYZj=TtYE;jK zaLdv}(|o#S*(!$PW^|@9r7393HfdujYEfw(g^R)az(+%Z_gFj)7vdu6X6Y8`R_QkB zcIl4YxCDf*4DuXXv0u6qMC~rfbsQrdkPmoS50cvxA2lx;T>+fT{E&JQ)cq=owzV_@ zqdh6`q=XiST2?}%0&p8nq^=LEK=NXdMw--7>e?xQ>PSmVxH0)FNM`Cml57c>-$;ub z@KD+Vj{R2l(jfAcyGd{W&!()b#dXr%(mm~X4xTIBE8QmzoDGFusGu!qjDQe6?+25X_>2XTmQ;PKM^+wo%QpfoT8p+3}>fb$k==PLYCyo`?5gd@^}(nIZd z93BfBcY`#rZV3okyvqj4)(D?~Ar(qHQnj@$4_ zXqWT^_#4klkAlDPg!Eh&e*>S4Pf`61=^5!U)eTT&=nOd2@tJr%-XJ|LJt;kvI@EES zd|p05&r6tBTA{J9wN){n>dBgR@FqXPn`PvuDRSmnEFZ6UD?MJNXO)9=@&D{Wnti6J zBLi=hkB4W~ZEVN;n331v9e5|+g?HmU_!@jIz7Frj*Gn%*9ny=^OVZ2IE7GgdYtrk| z8`t3*k_P-{e2Z+pZwK@Jrfj^8(%aGpuwtY1;s1NayZbTlf7~KJOfB*w(p#!UejF?^ zY=Qg-*slE9sP5}?_ywxY&r9!Y#~sqUIojh_@at5mN8{I|ebReWsow;pe!rVNHhnhW z{x0_Cef*JP4?YBY@KMjG-L?61{006Je+An7IsO)ZCw(S;C;cFO4BGse^sV%LM)ZJx zz(1z6`D^KuOl|(1YV#lXPyCnksq}^PWv4cO&LVJ*Ka)PE+U!cxkx{h1lxPmC;b79G z@2=CVPS)wKdeCV$PuA&g6rEo3zfGqz=9}gUvU##ze*>u-=ph&tYK2_OsMYk$&%h{X zjnO=IVod>U*$JA49MbcnFp8;8iWTc&`#_k?dRZUaTl!J@N&0yQ9>?ah{Xk59k$$Cz zD6O*utIPd?+F)skzqYC-7$_|-Ew1%fRR(93)wR9nFq` zRw=b!6;AAcPsTFqz)22-6WwH!9nVf+C$f`JJ3ED)${s-wLy$<2R{B$Vm>?@bJVBZa z31yFBkERj|RpUZ}Sm|$BME@cP2TfyB+|Gy$Izvvmq7!Z`k1mZX(WtV3611fqYS3lU zKLnwaP_yHyM8cG)NY)j#MVcG497)zw{!#u*#&&Fg3MxUIBB|q67sygl&>UR~(OmJk zk_nT>PniPUmxbdBCX_&%>C}?RQwxeG7eOOtS=p2+lc%Ih-8?FF1PMXYe?bVESvzI5 zF+sZkN6E{8^(W&&rPy*vDFt9PR#Bxi$c7+8#~x3RZace}AU%~!x0kU#3AYy9{-(%h_fqsZM00EJPHhFzp6wtc^iS7`Rfc38l4+<|7EQNQ{Oc zBSF3XD_*?F#@Pgu2X``8vXFl@gRHA*$a2{Qmg}sk&uF&CgbB(c$lSrM0mKv8lV~sq z$?{MUHWOr$T`qPVd-B4Ryi=?l@X;yEy4lb#2)`*nggq4k$Q1E*_B04<(>_q3&S1}k z3O8(08pl;0?qJum8>k1@!}IKsI+$X4zw;FrH9yTRXII7Z*p0F(Zt7IUJ_Om5y6Ees zi<{XkNnPAZkcS|Ls*G+$u`Z{Ibp?ARK~92P*)=N{ow`=hDQ^!tHF09uxXBX=N{c3s zg@)}ZQws{mPoe$J|reF9|nN%kpvDz`x~r6qab zq{RjV4JN3fn?TSUDf=AzyqY7WSx16K5i}%g-jRKUeO2`w2r3{@6-g!pl}Wt~z61LX z`!4$)LBj|dPSA*yJSZ7HC83u^9FiZgUnur?WDhQal2udkXR4+8kz*i-!v4hm%>Kgu z%Kpaw&i=vv$^OOu&4R5TP0$#E#u7A+pz#Dj9(p1{lL(qj&=i8E?&Xl;jdMH}Ig$F~ zoQ@en&=HD5PS8=(O$2Hb;FJ?I>;FBk{Qs(y3g-sx;=l+Une^bf-dS@hNzvd2a)ZHx z=LQjU^mYz5^_bjzcy0tYO7`Ko0%;#X$EHQ*U1D-|pb6ZOkTBsUa+A2p(6=^~12+d; zmm-3S2`V9|l%O&>ZNeQx(288%q$Nx; z5+5pffUBdsQA^OwZ21utY#z5zj)J%a(t`w*_so3xNaY&1My0aZ#{!(3N-s2SwoH2&y3{@Gos0w@$Hj zwYl3m+5ib{N8EaD19uj8HbHX;noCeULGyNU=W^$v`?&K7norR2(guPe(uldV)TorB zDHl@p)l`*to|09h>9BgaAW4DMow%60oQ`%0cPY1(yNsX(1T7?J5kWyPlaR+82Z;+K z%>G8jEP7`{ott*)K%q6fiYEEuHKA2<6ADf8Wj;;bN|4*?AfCy1D5FE8I^^qQA5qT6 zIx;|H>eRDU=enD_1`ca(4?&^r+_eNPraEPYLPKiJaFuzr(6wsWDieNq zPw>_Ll3I9{L40ISz!l*{i2B=^;Pg<+J{Q>WOwb;u9cWt|UjtnWD>C6n_e2`XZuAlj zEz@RV^f>oa&q~@-Rblv;`-B;}ZJRU#f)b8q4i7T>Xi#EG3khV+fZ#*L`HK4u92sb6 z{)YRO`;Pk_8k>LQeuC!aU$|chY9nYRL8}N_P0$*GP9*3gf}rLPwf~a|I%O~SJNF0o zC-)af+&?_SBW5Sh@*F`DLFW>2ClU965Q=vY@dYAwKs{c3iHI-DN&-DYa;Uf(`a5Xj z9aYw3>xW_(WeJIwMPpC|i!V@a`UM)AAmIaPUFBDxk(OPDkBdOgmbXUX%1~T}fHDr) z=`rQd!%I72nxSpDv9qy6p;iP{xJDT|l2`*3J}?2a6Chc}P_9VQ$tge4mb{jwa@I*U zXa1HYQAqmNK(}xr5z3s9+;KxM?!ncvJT-_-5p*f*Ru-!cN7tI%8Q#LfrSl!UmACPB zf(SvU5_H-Q-pRXoH$kTpw4Okh1JrA1(xn?amBq#7UW$p?04P(S1l*W8=b|+VqKrrH zVs;~(2~P)5C)}6s2i6chDxI^Phe+cLX+#GbmPYt5OVE4`Uk6?O ze1HeP>>>ieJU^QUx8f3l_JZ~5ER^#Ll$d&R(6r`%HZ_|p(+wIoCYiB<76|zcAbcY8 zI}TY`=<$auZ0Yj}Df78FXrgxx{s;Rgx{j%&1NcUM1)R`)m|wy#<(v2jzl>kb!@+zh zL0bs|_vmtht{?~!Ay*M}^)-A8ALU!&3QCNR^9dfz_cnsI6Vy)74uWT z=Tu7a;YRACbT+}n=f~xa0oikbv!f9X%Sbb2Qu5xn$zEzH;xy^8=yx4 z>eK~r(*Uk6n-ofN$~yT`9^9Kql!0-jMi+n<(vtp4@Z99*vZKUH?C@>L6fl39{BzLM z+h61_PO1Q{#Zr{cISrWBd@$Xy;WzMSB~QX6AJ64CQr!oQ+`XL#jod>ykf-DYlN?C) ze)1Rbn}KQ9D7mw-{Kf4w&kSW>>ekW50J#miGSV!cq!ppq@^DNw0bBXYGKamA-%Ypg zD*kGI8(au#=XdZsdDw&N3ED@{4Fugt5JdX>3A&k}Tdv{v@YnFy^4Gz=q3ij5JUoXy z&}{@k9_S8&?j#6&LP+!6`~U0hyDM$`?#*%gmSk?<1N?)Te0+p|jBX#~p6>2>`*Pc( zXZU9`X}`d~1hxo&%fBdnOVELK{$>6Zf({b&Sf(j@Q&IimD`1c8VfS?Bn zdI$SoT9|o0XsY`kk}@hx zN<|TBh|AIrGr_5h)e$t!`ClI^tp<=bnqqzhkI)x_dciCBgx*3Qf?gu%Wr9G>Ufn6= z3;l%t!T^F^Bj|O4-XQFLx}{2Qo9ebGZnAttN892_Uq<<`7>*Qh&_`ytFq!a*q8%1o z_0d&tTrH9S^=z{VDkI935GX=Im(S9;G6oc_4)M&H_N=-I!jB}DB1j`4+b9$e^rp1& zC1DKobb{k6j1|TS67()X?-BI=4&i9w7~xogJ|O5rfy~Y?T?xUAggD7?t9%{CbB&u}xvl zbjq9=1pNonUP;lKCDcF`R45lJgi4`Gs1_hG_Ax=95cDZQpAqyqL0{|^0zxgikM>+p zzxzwV-UvOuwDST23+MwZhIdzlTEQjBSISzj0J+$npNzKQ%`0hj$V?#l*}$|d%@l=_ zNW2v~50$nu<+7i`2z3nEjmUuN-6JuDN;*4LDl~(TMnvIO2*IoO(1XHap+RUA!om_^ zsn8@ugk{2Vp;=fVv?DShz&ERM;w9CR{FDAzUe3 zC0s3R6SfQO!VY1luuIr2>=CXJt`)8m_6pYv`-B^W8-<&M{ld+{EyAtBZNlxs9m1W$ zUBcbMJ;J@heZm3Ze&L|-fbgL3knphZi14WJnDDspgz%*Bl<>6hjPR`RobbHxg3uwn zD7+-REW9GTD!eAVF1#VUDZC}TExaSVE4(MXFMJ?;D10RRNBCIyMEF$rO!!>*Liken zO88p%M)+3vPWWEXwjbcjyTCAvkA=oNipZ?TWqSIigtiT%X^;y`hbI9MDa z4i$%q!^IKeNU=a1C5{%yh-1ZZ;&^d_I8mG=P8O$#Q^h01BgLb{qs3#yW5sD=p;#mq zizQ;ISSC&vXNZ1rrZ`J17c0a{u}Z8Kj}vRefLJTmiL=Ey;#{#_oF~o~7l;eRMPg7q zUJQwg#Rjoa42w&|rDBs95toU}#b$AZ*dj*7R`CQeCdS2t*e0$NSBa~|HR6flN#a^@ zop`c%iYSRhJXJhRJY76PJX2gRZV=BB&lb-S&lS%TH;U(r7l@n03&o4X&EgjEV(}93 zQgN$znRvN)g?OcSm3XzdP24WFi#x=f;x2KwxJSH3yjHwU+$&x$?h|hiZxnA5_lq}+ zw}`ijw~4olcZhe2cZqk4_lWn3_lXC@`^AIe1LA|?L*m2YBjTgtW8&lD6XKKNQ{vO& zGvc%2bK>*j3u1@(qWF^dviOSls`#4ty7-3prudflw)l?tuK1q#zW9Ooq4<&bAMs=H z6Y*2=Gx2lr3-L?wEAeab8}VE5JMnw*2k}SoC-G8k5GXv1qIso5rqjXq+0C#;x&ayc(aTx2BJ# zuO?s9Pt#umr`uNqeNE6e1c8(J9YNm{^aDXZ67&;6;M)8`(60pjM$qpB{Xx*51pP(O z-vs?bFhejR7+!b463h|I6D$xc609LuOR$b$J;4TojRf~1IFDcxfi?ncA=pZ=jbJ;$ z4uYKoy9jm@>>=1ou#e#01ot7hFTwc)_anGJ!2<{$Nbn$n2NOJm;GqN$BX~H$BM2Tz zZ~?)i2p&!F7=p(VJdWV;1WzD%BEgdgo=or*f~OLE1i?oVd=$Y)6MPK8#}Yh^;6j3n z2reeLgy2$w%LtxM@C<_e1kWUR7Qy8NR}frDa23JT1RqCm4Z#6|YYDC+cs9Xv2%bxD zJ;Cz`o=@-sf)^6Jh~OZ>#}gbPcrn2Z1UC{KCU^HaEUQ6&gf=?#+6oMs!3Bjild>X;06MP22 zXA-=g;0*+yMex}KpF{Au1fNInMuN|Ww^9(iiQo$fzKGz>1aBeuVuCLr_)>zm5_}oK zmlJ#i!B-M|6~R{%yp7=P1h*5sgW#P6?;?0N!Fve4hTv-nzK-C%1Yb|^K7wx`_(p=42ZCG0T54kzpg!j2?t0bxfGb~Itf z5OyqK#}RfsVJ8rFB4H;Hb~0h75Oyko{ucH~!X8D~qX~NqVUH#3Gy)A}Y!P9L30p$g zQo@!Ib~<5a5Y|uFnS`B1*mA;F5Vn%ARfMf3>~VyxA#8xKwS=uB>}6zfb_HQu2pc8P z4Z@y4*cf5sgiR2(jj$^TyNa-@3A=`{CldA~!mcIkI>Mez*i#5A5tb14RKlJ{*wYDn z24T-6?0Uj(AnaL$J)5xS5cXWco=4b?ggu|I7Z7$6VJ{@?MTFf<*e!&;n6Q@+_EN%b zCG2H{y_~RD5a``uuOjT#gxyBi?SyS7><+^2B<#ovuKa2X%@CRe?u+ERISF`=9K4euzIJV42{bN3uVG<%Fiyy1J^S7J#eE3v0`& zYARAQm_&&WK}sGFmJ$e*)&{E!i)RHZ3M>6(rO=j1FYr~@l$QDDsxz8Okw&JFN-K)! zJW{BEpuZ9@s!HmhL9?i?vZTCJ#XO2)!u;e6=i0TUm4(pA8H85Pl2RD2Bv?}#sH&?e zE=|qvSc)(_6nYUwA8|-@y0p^T;u*oJ8mK#{6D_5P zZlpNosd!=S+CY6p`rgdw0j#QMW;)m`3N|PUwHbvqbXTC2wW^{z5G?VhCQwOHCL~d+ zTItJPsHl~fSIvPH)=a0{l-$ff@TpXNTT0`4-)io`ofW5l{mKIJgt%2EB&hl4IS3!@bpaZ*sDiT** z1zpF*RX`n3Rg4CTF`_F5-5Ec08-sk6l+FcaRn?RR6~R>zmr%sMT@jPQ4VydLUpgnX z)=1V-lEAf~aIgmGfu?E=idfreESf3e@NT21c0f^_U>VFcSXo%nxrtGVH>4}x^wLUL zd@b}|*Hi%x9h5RfT~aLTVE)Ra(dlupHi`!?&7keY`6;nY33!q~a7Jk%C|e*{R#R00 zCc zR35M-7$~msSHrk73Imxva9E`$NVwxq2aCJ&OITu^Fv3B@nyil5wF7#rH# zm0<&*b468i(**W(ikjaQbvEdANphd4K~1LqS%}0a;NYFQAa#9%xpiiO@w9aA*&J)ulBR{s7%L z;3J4^ih&nXto#hDlG5t(s``r3%GzLgm9p>ZWVTZ1!977&R|RT8tl&5ar1AL*iZiea z&g|0is%m)%^&CsnysNvfq@>0V#$%Sh7EZ3z>=e7K&aItdc{0XPkEjgR@9G&YgYnl; zxIS6wQML!^&Z}eZrLeXP*b)$rG_T?Y3gOOxP-jQ2j!I}h1uMt^OP$fla|jNw5-@Sa zFoVJhf2RW8+I@t;EPu6nPOBr_LBV=wj8I%vU9adRm|Ku(74&Wjnz?iGbCslgl*(?0 zig6#saAgozFaovponFa73Y95yNhsxftgk4lDo;u1Llk;I22Ew-dt$_+6k$jPg1>r3 zRb^=v7`vXN=Lw25C%eU+DJ@fX;AILwum|`gtSq`I{=P;riV^K`QR++3F-KqDy>_j? zvaCwEDnxGv&6x#FA#r*Q0p2`9-zL$#rfLaoxCym@vjq1p)hWD52^Qo+a1MQAUR6u; z8Wr^&iaP1=sBmWj-YyZKFBw@J4aFL1K~1IcKBaNw;c1iyV9rp~ELj3Kf`ilH7kDih@JA*3Nsi1Z57hZfm5XmG>gN=7+~Ma_ z9w>ss;Zk_Zc1vSAbHAea6AzDHTvh~_^zDsuQky27)hT>SNgSI4iSk);D^`-b@J6AQ zhDd9uS+3%!#D1W}jyOEA%D{}a6`__IPyyNkS{!X%6H{JrqeO{6Q#v_pIJiBbww8vb zfcz5tEPL}CB{b#m6G{B9RDMb2T5Xmew8aj2Ds#L1q* zBwMwZlE^_!Dg#-!MaxtCvRvj*Ck~~Fm2hJ|rd)`ti^Gc>)ZW@osn=>K%^c(g-kL|R zMwYImy@EXv(^FzO7_7=b5!kT=yqBh_uz6KzO^*b7QGz)rdKy9KFO0M{fo?bVG)wcp zCpxDI80v3{q;zuHfHHXhUkUWt$}h$3iQH&PZbmNqnQlm+ z`VU`I(9oj_jH6U@G9_{Y8g1rk>rvz;Qex9`nd0$fjifn zXex&Hroai=to#O@!qHe`JV0OI+tUa~=Dc`?<{^n4lk?&gVs-Mn9($TvA*GhXDGaB1 zbVV5YUwa}{lJm4^p0K$xoS&=a-klv+_Pd!l9?4}Dh5r1UEPJ-xz~#yL&&jeUo( z?iG}F)xV)#8-_0=pcgK>F2D0ta;jTUO^N4Zr&UIDrKwU1P)eo$W}1gx`D{w^m|RH8 z{y{}sJkrq9^y+h_RS|&~LA5qTTYA*D1(a3}78-mx__~@XY;Jb{CrIh!q8w$#)XnYr zP+Lq1 z_%5s-?e%g>FQ+rTx+$87CT}AZHa7M&!4^s|rvo6JU{BOepwx15&uYT(swW!J_e3f| zNtNWH5kM-sk_JYH;oYj7Cl`SC4}O&spKTO@b39=LlZq~>HAp^p|Yn@k~w)V0r@UiVI%A)I0s6&-_u0T zq*QYfV1;Vxooqc3Jc|;XnTwpvhA=Hkudczx$Hn1TVM7BX2zoq)&!u#8QVclIV(`+9 zhUL&1+0!h~r_^%V<=Ihxbx%|-q*QV^CF=b2MY53?d}|e4_Gk!0oE%!5{BAW>gtt&y zIb@nrw9>vmPo;4wr7`~SyjQ+Rqb&~a$(<2tgw&Zz;BrbJhfqC@Kp+9Ha8~iJqWF^! zKLJo4csCqeVW9pXY*RV?@+y_cc1k1%8x50CzT^pRQqWUn3B(dr)F%cH8}uly(%VVt ze(|uU!ijsk&q#S{?Lp3h3(r5PA@5)Y_)@sY8*30=!xf(mqQ8 z`}9CEvvolG0)_2|;H9PXV8}1XS90OaYu73*Do|UbHEDIWFH!K(*}zNcp-%#e1wq{`!U7M%BmEuT9>5rR=4LfiZ&wKkji-JIKd*Q z@T-VlQp7>o5MeyHdINn@L1^+xEBI-@>2Zn*Jg_v0A(yh%k-n#By?Yp`vMN~ZPfhA4 z3Ywn{lyW=>g?i`;NkRWgp~qx{raK;-Te3% zCmXQbEtS4r9ip&jNikOw#fzs+ixlc(^G5IBt zDtr1ojlSD9je7S-2{=y9Yug*BD5*Qz{I zut!mZtm_BHrO9@6hD490Sm~y}A`I_trlEJfl4$@(4vykd=oXYsZ*sR)_D!JZib z?Zcq0X@$_*S(WPR)E!L;fS_d?nwnz;3k+IKRi09s_y8>e*T6lGNUNX0d!)I@cTLB*W5$^pKzo$A7>D6S_R7dklL z!~vf{_TyBz8VWZw1Fj0(n3RBa4wY_r>nK)!I#%i2(&D;WSte5reCil;DRl21ps84- z`jB<=Dd>oF(9Q{feo{Y0=~acMX4+Pn+Lc8Vv0pl3Y6;b|rc)vrdKT(7rB0ih>B8w6 zDd>Q#lso5^&YYzbA%peV;g(UjjP31&Q_f1@O|sby`Vun?-->RNO2e(It*(QE5}Lvb zRR>(xdWgX?hLOcYZhlYkHhze~lJIx*}-a?Q8(<&d^IJPKJ?D%z4se zCdVnQgmz`vPL)HKQLGHJF{cI?3!Bx=!dyu~hoAryBpRCX>HB!)&U(2oKA<#S%bmIz zuFW=zG^h(wrx{4%WuWY!DE+&jC>xvA3EEBJ2Xui~J+y2CTuTx9c0s5qotKsR^%VH1 zF2Jci z-P*JnrL4?t6mwX1%tNsFPKxI1f<{}y6&x@*syy98A-f8REEb0#e}E$8qd)|5`Sh%p zuNegV(<|Y^K&`*Fyj1r1)gc~8PNqAwqRqASD&)fy68Mw_vQmz7XoQ<}jK?UZI~!(t z2dwT%3g+nqgNEKzLv(FvVTC%8XSz%|+1L(>7ECs@tB}uA$bOv^laO%X1uPY~Xb=t5 z`cv_|?nMedup7A2F)zOm9&o6gNlCyf6a%zNpW>t4-W+`oAD)$g%~Vk*89QB*^cD&}v>SLb)}z9j5;c$_l^u49)u$Vl zOkTdc2&q*S)By1gAIs-9QZr!O!-a`zaBB`)_C~Wr?%aehC#9vlV1Gm(C z`cd$KXf~Ahp)jVLOvwzisvMbNjDDapnRJXKgd9$$M@RZ06n0Ps^$b`gQvzA!Vzpkc zAKsmOMPbdXQu*#%m#Gv`*!-T!D=~%2nK6ff4%C%(29Wyk-RF@UodybuBcf8CL}B~& zJP$e2Ou66ssT6#c+#Qq;H50kw0DT|y8?o~PP@hS_7sbZFL!et5gd4LG!_0|Z=cJxIq-7yPRG4-pOJ7RykIn%< zWu4`vL8MN1DLq-QpFv3-`)^3ehm(32G{eWx&!WV}=0L2Z9^xbjYvijG&toHsw^yLW(^;2W;32 zNUK+X)E7ZwE_E+oe>^2{%wY&9dRbKsK5Ft>HEfLHWTgf3`UXmC`sJy)7Fz z4vAh}UI&%Yx0m7fz<=qcV3R6FsSvg@FqC?N?CvDN%6=#qF|_nYhJ4)s^Vxf1FN{haGC*Vz44G zXrLaBCiPtq`t=lT_@U7Jm2zGPVz;!)qW)}(H~CO_a!F1uW~$aziKjX<5&H8ekuK_& zx!@$T;Mf6ESe?2|ufKp|b~z@pVuJC6qZ7`V>M9yjsv#W|IZ`)5^%otM7-UC4i$MXv zTS?aXN|HGT2+0a*jYHkUiz%@Qhhj`84N4B&naqT$ek-ML$eqlJcEw=_PBN2vI>3@( z83f!JZot))LKh9r%GBz@05GttWpAhGT@I5>bUAv3Q>iZ1d!XM%k&ZYNyOc9TakjyG zk>6mD%yOl%{TfQAi!oIPhh~xD5hGNus(9|)p0#K%B~zGvI+~gns>IJ66s-EdLU8*^%7MeZ>8vSdR&sy@dHLV z>B`D)D5-=~S57liOQ*10E?cF-;$&edwa`20Ak%Xl2(WI2AEj;~rhU^SG5RpV=s!w?tpjya-_vZ zu+hlMuC=`bgUQEGglbaFzA&4H7Wfy{qsrKcl&|9uW=GWVI@ht!uUtn{M?-^ObEy;c zyv6k-sM6xDLB7Q(R^I`rJ`OA@9{iBT0{GP%WV#VieWu zr@8mJc!C0@F5a%*ghnSLoa%7d+S+QE)jwpUguag=4Pjow!iLT@#DLP1z3VPjuLK&p}3-dzhdNsdlD1;`s-i^#DL(v5SWE+AaOJDEd#5O5F+{o zOnP7g%faS=>Y1h8nD7yj-LwS1|76(I`Z#vqg&JGnC|cJX6jq(>f7~Jt^{xsdLYjJH z@CR^1pxG4+!L+vjH^U}OPw5-3!(tm6jNLN*!XS0y=Z3+okJ;f3BaxTnFeHId-iio{AxulrS!2RPMmIg2 zbaZW&YYkz#Z!)^xO(TH z#xq#OiAFmE2-eEBMvCeM2Gmr$bb@78mtrNuE-~BphH)A@&WUri;9Cvsr}_E_=4-f? zj&anY`c1Q1X-9XydC+}BG)t+dVi&HWc^p-=!GAN*+`xCmA-KZ98Xjt2(2RX>Y`LDW zJA<2E`E^~3PGNX0(yFVNpP@_-UxUD-2a4o@5M;!Jlcg!8<^7FtfSWL%QA|$)M!s;9 ziWRWA1E+kk7$#5KdolcYMpg^LbT-1^j9FE5bt7XPV79BdH?&l0eIu7tBrdf^)C5~2{BQ*2lvG`O?#^-OX-ZCuY@ThbKldqv$JJ?nYhaE)sT?Frq_@mi`r3`CYi}eA4pl^JLRToVF;}D}y zMEfyf!Y#zuf>s64(X_A$p%T$*RudhqlhMYr^@5=zgtsu-bETLaeZsQwvZo%@g%Su2 zjxgGm&nF#CDjGUNx8zP($xx=38ADH~Q2f9G^PPUSpRj7HI77tJ4t=KU-zt%*ae`wG zRuc|pv;?D>K|c(aw5nb#f@>4s-1}Sg^X7!%u^CE)2;zK=?ILe>7uC16cVM#{#Hm~K z;W|c3xM3WFAzZxSl)!#(DK2{_9Liwn6+&fA@4GmT^owJ`*Wo7k(xDdA2jP>aw@>J) zK8{8iEcL|)A9)i+)(VdXJadAT5HAJ&4NKeVb)=&hDg7#yh=h9rv8pt}4MH^TSVl=d zuH)sTZBXl*)Hu4G&EYWK0yKwVipA3q0eAufrk{2a+48qHv#noW=-NVicLsF7xCtjQ zT7o5E44r^Ep=3$SNm-ZGDGZZ-Yn$Q@Rn>XTUzgv%fx|XG?g(QMt|y$%nCUNv(qVQ6 zJG6+)`o2hY78K$;i&4`bozkIdEQ%#EDpc%j;IrKxv++$hcYHjn=;C~uycM}%D|j{> zN0`^8sznrsshFN$yahb#!%%%9%e!3d%8YG=IPPFqD&)M8QPZD#$CfiYQ-=Kr(u;SC zx_xQF6%3hv;YbH5B+%3xf+4R(ADMp`pHvOkc)C)k_mA2}Nwj|xqo?0*#4)Q&HM(Qg zG7REEJ5F=2W5o2w^3;fYOU}DE?1}`c;P6JqOFxms;Tg7BYNI(gb0>ZnJC@zVXz343 z2DIX?{+?nOc7(l0oe5M_INxbkQ)(#bwgrg4Y_P&lxRtADO}pbXRfRqe;+_I7Yb+Ff z=Xv|DfDa1@zheusxdRh;r@<66;V#BEHT9$vk!lR9YpoAr!3wa44pvo&QFQ0Mj2^cj zYbL{D_(k?E?}a~#FBaoIYVwJi4{`lze2p{V0fvgxv@xJG_m%{txF=l`9%ei(IBE2D zdknlpq*y+XBySLX`FV^hh&zjHRRucklZ@MlfSK@mhcRk7>`=W3Wz`=ko{oQX^+2R? zG3~Xdqivl_*!-nkU1)*#)d;*Q9{TyTODx!p_Z(U-c4=1I<(^*A1Ayr9$am@6|h<@3AnE@ zZjDKP`F#Lyxz+b5{1{5K`b|dJ(A+$sH1SdYjS8HjkzaBvq0|AFT=Rarya; zUEQ2&v8xa9vJ%t|kNo&86f{G9d5jlHyc!!4+9W@?oA7rAoi_%k?qP0#74rF*3zs&x z`J=9G;3px6hSnDT0{a6vQ^hstGcH~}W^uhBl!{;9a@rj|SpS4C8DLiqPTJdD?C)op z^s4qO@lP%0+J+6R;M&p^^;%K)__+QSE%}C#noS_3L{a_LIU!IKwiDWq%Mta1JZ z2@&cClAjr@Zi~ShLygUNqmMW**z>d1GTK&02IB?H;(6R3qWh&2_O)&7;*3MA&Ni?(FjD?xkP`W zTb&%a4Bz^zz-!iPoTK=4j9@>X@x$Z8S63b!ZWX= zLJW=doDvF#d^o|xya^pM8M1KH5qgO4>+ZMOC5Lz~!J1INycm}06n&u;YI+Iaoo*o{%g8l{`% zlMkD!!C7eho?Fdms&N!x)UlMlEz&(Q*gL#FNtY0FrK6QY#Hs!qyoRa+RNpT-!VFzM z#(3I1G@b##T7jc??7gC+o?(}46)c_-G4mmQOUrMo;UN~nJ2iGj5YleoS`f@Laoeb? z#pane)`F~tEsGIOMt8SzG;;+lzgh*23puuczKv;R^sVbwBm21d))$}-h8}BtZ<%Cp zjTLBFD#X5o!N*#PwhVj`CS_q*b?nR7V=YA;{Ue;Sp5GiMX*-7sR3EVOKh#u-;^6N% zfN>kf=*bkg>iU7pMt%ww#JwB)f#F7r-%7>~1&%I8UNjD5eUBSMhv!Z-ih!2WRY<&t z>zK^(IekIRk5;r@eGZ@|&eXeS1%K>`|G2TeA?XpA;=U|RY#m_%4cO2{(v>d*<&+xiGxTrm`@Cz1)h3g!4 zj9BJedg&;}ng{-$;;W)x^q+`@UWc@Q)ZzJpN zBwsx`8?W8t*bMdbB0mv)oZ);tG8E-q`=J_C6fb$k_`bahq0NRj`*|C}ly(mz&~h{^ zu8_%4YHm8U8r7qATV!|`Ud2ON9f+DSuHQYcO7FKBXKi#KL-8G>C%28Y-4)k|c>00K6nZ;C{}#eby!Zfe@bMH7PIVlsk?44;WQ)WmUd zUqwewiVoLMjFJ>69PQQsqDkwnjO-h-Gv0FC?YPHruj4+){f-A54>}%lJnVSH@u=f5 z$K#GC98Wr)ay;#L#__Do{KxUL;}^xEWGI=6Rgn}~u_<3dfQ`(gdWs$O2S)wde_EGj#_EYv(4p2Ik1C=ginbNKFC=q43vO-y@^eP7_ ztCT)vwbHK)C~K61l|f}l8CFJ=waPl>5M{k`sB)OHK{;GGLOD_yRY>`ba+Gqka*T4U za-4F!a)R<($|cIB z%0}ff<#Oc;<@d^!${&=gl&h6Z$~DTh%5}>1$_>hm${&?KDK{xME4L`ODt}gPQ*Kx8 zQ0`RjQtnpnQSMdlQ|?zDP##nsQXW`Dd)9&2H zxvg_M=l0GCPKQ%*I-Ob0Y-f%$*O}*ZIrE(b&O&FA)9v&)z0QfwNzTd6V&@Ld9i3C0 zQ=QYC)15P%Go7=XJ2_`N=Qw@Nxz2gc5@)Hi%vtWNa8^32oYl@6XRUK*=Pu4&ox3@A zckbcb)9H8CIRnn1Gvo|A=Q|fT>z#W!7dji9jm{=#v$Msyx3ksR=4^L%I2Sn=JC`_@ zI`?tz>)g+|zw-cRr}IE(mvfo3+u7rcIF~zDI9ED*od-ErIs2Teo&C-M=Njk1&Ozsp zbJ#iJT74B)+fpO6j`4p>oa71maKmv>vLqq z)cgWjUnJ{GWPO>euaNbxWPO#auaWh2vc5sqH_7@IS^q}Xx5@erS>Gk=dt`l|tRIl| z?_~XutRIo}W3qli)=$a$8CgFk>lbAGlB{2m^=q3Q10q zvPjA%DTkz7lJZD$k(5tT0ZD}<6_Mm7$wQKtq=_U=B55*7#U$-O(vBoeA!#Z}(@2_5 z(hQPjk~E8?ok*HZ(j1a}B+Vsh9!Vu6m6B9OQaMQ#Bvq1BMN&0MH6+!Nv@=P&khCjF zyOFdzNqdmACrN&i>PQNZ6eKA`QkbOqBrPDRo}|4tjkhCvJ`;oLiNe7VBNz#ENb&<4;q;8UWNQ#iOoTL>btt6?J zq=QIWMN%J0t4Zo7X@I0PBppoBAW1_c4U;rN(pr+%k#q=2>q$D4q{B$sK+@qP9YNBO zB#n|pB>je@qewcMq+>`rmZalII-aBxNct^FCz5m$NxviMWRgxH=~R+VBk6RK&LHVb zlFlOOY?96)>0FY|Bk6pSE+FYbk}e|YVv;T)=~9w5l5`nKmy>h_NxvuQN|OFS(p4l~ zP0}Wkt|94KlCC4^dXjD+=|+Xe^dLzOk@PT0kC5~zNsp2AI7v^C^dw17k@Pf4&ye&iNq-^fIg*|y z=>?KrBLDHKfy+zXBNP3&3cSw4dr1waApQH~+`a4M< zlJpTtACvS6NuQGR8A+d$^aV*@lJpfxUz79=N#Bz69ZCNn>7OKhPtp%0{YcWkNcxGS zf0Ohdl71%X7m_U`XONspvXx|sWSL|e$##;rA$ePpwVNpcp+*(B$X zoJ(>Z$u5%fNiHC{kmMqg-6VTR_L4l2>T9S7rc^8s*C3!cJcPDud zlJ_LpPjVf}0g{6xhe!^SJfGwRB-fL?7s(4rZXmgly!L0kmN3smyz5}au3N7l9!Xbg5;GX_mX@N$*V~2 zBY8E+{Ui^NyoTh1NggD5h~#0CM@U{v@;Z_aA$dK?hmw34$s0&Moa7@&K9b~7l8NNs zkbD%$N0WRE$;Xm>9LdL%d;-b8CHX{>Pa^quB%e(3DI}jt@@XWWPVyNfpGoprB%e+4 zIV7J;@_8hmPx1vMUr6#rBwtMOB_v-;@2gXA~lK|QjEQ+1GWC4Jl)(BJ(#Rfm^?#7_WX$c^n(-B>0i zex%1rgoi*3P<2X~lK5@R!j91U?R=9g&cROA=VV5Pe`qK&%uRtEgG1Hf^&RXs^b zhRjAVHyR?{I#tJ#IeMWGZj<3Us~1(@R>vDCg#cA267UzTF6yNK1DhJO3UT;CT26bN zKh-6qR4pss0wzQlKH&0z}8p24P0!7v#bi<5XQLDxyW2*QhyU&_B4e zT^!AH-YGh>Qw_AI$GH|wP<g1g>K-vS5kiY%EMiYU zo%rQDVp`N8FMw_wb*laklTw#eJ!xal7@ev=gD3G@_L|af9<%|dx+_df{4fLqW2+j< zKKAs~sd^wxP5M-eGpODQi6~1#V5)Dy?8FjL12;zw2!@ux5XTQPG{qGKRd<5Pi3Ov| zjm}+EA6l$ywCXL8R7><@j{d~Ph!jCaovNF_PD!4&^`4{Oa+qAbLe&#s zMq)WVb`=IH%5bGD6wxHr10bog=%bf0DpO7WdnQ(4n=r!dEyj83ScgH)q@ zK}MW+62@SQ(Gep{wX}QVKJqufIMu{}^YJoN+&yQhCiHY)s@{6hinCNRxhD-Ke7l4S zWvQ0$nQ1bhwaEByAFfItWsy1SGTs>k%i|Z-X@SFO(xPDTNxRX-iaWAP3e4=jEFq;?mE$+(= zD_E9lXDy2RLU3nrtjbbtrqkj+6B~h8xCks&4=and- znj#D1z_k*_h{jo}X)#_+qhBqq4=1Mh$x^L`GvYAoRR_an%#Jbbj@KX6C>Sq#cy=|n zElFQQHTF%3tEYX@Saqmoy!i36m;?2WRYo<+?U;ci$(+y=b_&iF5e+HJahGAts}Dmt zgg{jr+tf7QN575pKFw0?W+u|CEne6<(vOsCJrQJCL!QCmzV*$^*~3jFC=)EG)-vDb z)9EcxHZL7bOPYF@8P#Km z3!4yaV+78mfvz=tN)7dMYkGt<)-r^N-fe12EzR{@K5T}6WA6Ikz-s7xN9rWdSsNJB zM0Yo7e&$-n#&lpuGMI@ep{cE|ZzM82FfhDw%*5tdzhOWVX*&&oEpW?UvobQ+)t8RT zW40W0@k&e-W2H&YI-WsIWmyh%^qLe!HE04bN)2|UYv;*~V=B3NU;z12 zyNA=|eaz;X$gAMv33iinb_DgwJjJ} z9YKcmbU?S6W{a=x`kErc>jnl_r9-=u(M+UxZfX-3fn%=~_b^_QnLduk^Y`~GUK!~h zb9TRDYVPG*)A8H#|i6MOZqlzc7}G85(=Jfw88-7Z}IP;0OnJcN!T? z$I#0RWJ>*-kaKF;dNsu}7F|r!i1jzHu6c}^^;O0;)vrm|>DYaPAx(|G=rCS1&^NL= zl6JoS8{?T;)A7)6ctA@{xgN<7(lPih1DaX@jDYFTK43Ic+q2fl>RudE({Il{VyK{* zxd2cDYxxAQ8QFbmnz^<}|Iol7rf3`x)^>HT*B)fSR3v7AFSZ;ioyfjsC=+KcWRFK? zp>!zUF^VbGZCewGbg$&K7KyXQ8nWLrq^aFY8y@vVR{MLmH0m`US=W#wg#s>^oGS`;no#uE7PpJ-D0_08R#|-aG)5ACDzhMFx34 z2QfE9)<*gSNDhOTm}9}k$QtYx;IgW&3d?a8Xy!dFyVMW#>ymLXo{7`&=I}cCjkRF1 zkU{G=-%=Bxyj}}f55t;RS9RDSan`FF99Rd%6+n|r@`s+#ggDfIu-ASptZP-Z3J*f# zAWChItjlr-hBdW+NDV94o60yQri})jy=Gj4LQ_O@aWmS|hYlBjGZ@g6`lr3h%-+c~ z22T;X&b1A%*RMmfeT-pZnpvz~1B$y`?KoV|*Su*~eEKkP5$Y6h@FB-rd8LrhN#i|WfR9eL!deeLeuZ31&4au$@3lg?xVX4U8 zl|P)61~T4ip1lWuyMrOMw)(2Lt8c@GIy_^5y_i!1>TiIu>-h7OdF_KsVfBZd7~uok z5!f05ZI&ij=(9sycvh;qqJ^WWz7kkmz{O^yEQYrms%cuY)U?D*bJ+{IkTK)9-YyQ{ z4qGey65u4U6p5n|1*!qY8>3-7yNQcerK%J5YBeb@OedmpjuM9;c}U_6`>F0flf5@% z%uR)X(4$(5Ri6zldRs%iA$W6kJC{u?!yI< zFub>)*I_(8j)^PC4_T0lF(H3d_Wo&E)V_yEqrni2N!YRvWcPCE$*D@iQU(VgV=$WRKK^)8 zs*hDip}6)A@VC=be%ro4bxo;jM^Ju?-13qzq6coyIpBpd=bz(uQ`MlJg=F6B>E3hJpwK~-IDz##0{ zYK(HtB|>+Y(Tv`rqmN*?lq01zq$^V_lxo~aB`!NB6)T3a!XYWHy-pJN|r1s)pgQBRq{by?0!JQ@KFO!QauO zOEJ}uJR@yQ9G;2Ye;R^uHJ!}`Qnnx6Z&1;=wCLIAaVg`J+!(=2DL#4@YbR|rK|*5) zo)7Aj80|EnBo}h=GJ`zQ7e_eUdW1(>8aHS!;qp)vzV+)pRNb_0*dSsPL>-2-c}|Pu zqemymzKlzjk5v*Kh!^5WiwK7S_Lf4b_J(FXpF{TV82~+#s%oAlwNjX9TASmSp{uwc zCW5gGs;+t+^++L_>i*1S-Nv$7HV~}k>i$Z6cL#qLm!Ca|un;i?ja6lwKkw#J#YS{342`OjdY~Us z$9?>DTsC*Z*Q^%xA^}&^>@$ncX8bt`%a4w1ldF#s^BCV zH@m!)#FU|IN4uJ%4SvdgUD5wKMrCo;#Qco(sr>aZD$}|zK4)3>TU;Pc0-DkxBYRvg zyu;tcsZp#IF{VVHz0Y4yH+BRM8Js%0qiw|ZNQRYJ~Gs9R$tk%MXCfwY> ztAxP|EBg~Jw4j>~Fcq z>%gdO-^eulppW5a=&lCT^06 zn=+&Igb*x~Ly1KDE+>;q#Z4QFk@XLrk1?-R@u|$8BEdT@Yi8h0o;+i)S|oR2G{^-?Ma;+*aI`zZ~gG?!Tce5yqLdC>~Xb^$AF*0g^DxU5Umg=IQFH3BWEI+_BFL z$$N30_KOS^Ib{hfM;)gzYB={-u&!Awv^kahndIcFCxfzc&o(%|Q)BiQ9|#%Y8%;b$_~A&CVlXLtVI&^O878$yxh z`1xyee|mH*2`#9rJ{E91C&+~iZ5CsfuWt;DiC&%0pJVunI z!|d3?MRSpseu(27Y}lYCzUGLHg8erBpv>@rn#W88`(=&9K^I$3Bs5dYhLIBh@nQ5K zyok$JC*{4@w^f`%uC)<|H{OwQATjl_gm>y4`q4RODTB;O0#S3@M_ULrH z%%sotc$Pwe$MWY>GZ2S(2v#C(Wr|+&iop?oCdoNLW5!q_`h|KnG;XqUPU3H; z#i7T2t6h8Gsx}~u&pD?g!#Da{kpqh-vjkR7=WmPC!)pfwA(^u_^L1NCICdJ$IX9V) zXzk31wh1YkAgdCtL!9>n+_3m6m?aR5zY_qh*14|{I zE{X%7cH1kOb*tHCY2Bl~uEN-!k6bM{*yBwqo+0bqbvuJ?PK8+9(G`>fMuw2egq5ec z#Skhs=PpJ{NWz^YpoWG;jhzkcB3^CIyp(TmLWvB;=J!;#rI1+lVo8QMUOWb&2yvbB zB$rG`PLr}EGDLE8G=G>S0ZwAw_zXiNqz*|5A?}+~tJZT2GtY!Tk?05!Sk+uDx-ehl z!kZhpnlQO9Qwdab>?;hFIM_yph6h&1VyB1ux>n%i9o;F%E$gqPlE#?DTN;ot1{4SL zCc`AES85n>F&~HncsoTiMCRxX8(0?*eG$`W8y;3gBh>Q`gcRQ6;&bDBBffZaQ2N^% zI}yrpF^mwR?BBU;LQlq*4W!LQpYt&no;6m*0n8$(6oF3L{rWlYGcLB%SjFm_)Jq-= z9YZdOoG-atLf+YUUSk$RF}rH#DZ@>~Hw=<6{Nh2P!osqHsjx-29_9RlOC~H6DNCw> zIMp*&GoLBNkuCtMu|5cX*en=sM=**p0I*w$+TViF4L6Qtel}Q$PW*|%D#j9M41?jY zorxj|gr6B<%$`hDEH`7b6-R~1J00xQl9DLrN{o;&f>R2$#oq=2Cd}-)b}pW&I&=en?si;g=dr}4tszmHvv}aH-6_Syp6g(ogvnG?4pY1#marPa5&jAtc<0Ph zvTDqZ%04%XVG>g0q=tzKGr)&(bzaB%s_m>|xxaIB87|Ez5nLG-Y6ioVUI@!pECzFK zK7*v`mNX!(Fn)+86>;&!sU?i!TA~krILfCKeua`~X)va$Z1=x-ZR%KQU zabS8Yr!huCMzhVgl9L|tWGFb9$tVfAz6>ZSq98}P(IQp1a-xt#9huFT3Au>UVHy-p zMNCGU%V-I^f^=w_+NhJgiWYw{m|MzFyQCHS<{K-dR>43Co8GZ`GD^*mMku$MkrDN+^xLwwrM+yK{;pi0sFc*UwyyXvsOqT<01X)J)_8=o*6 z^c1av)4M!HsT_$qCHsI5~EGVp9@K~!zTvB$gsZzAj~4C`1kW2aBrmw>IyP0I)i z#{`bF#OqOCM zkP0p_4`uEW1|Clu+oXg{eBjmlZeNB?t&eI3oV0zX<-{4`NhN_|Y*>@wa%nD;O_f%`$~2 znwJ9epz-p^8^{!Rs~In04`PZ(J*Qn5(+f>aM4DYzVB zz=R#9IWBR0N$!}n3^$&+h_`qmV2q7A7b@I8 zcm)k1kR5Ur7{bEm9?6jDa|0$o>Vr{TkJaSVt?H5-h9r;<32E4Ho2`4V<^G1zO%Ep> zU7O{!Bnn19y4+(JFMV>$bleK#oMstC5>nk7mwP-T?rnC4PvB7C!t@B&DT7S(N$Es} zH$5AtfyYj$z1f($B==;7H9f7Qfo%#cW=o}5kxpaGg!@5L0}K%s>*pin8DZUIdGijxFeXqh-*oo zpfo{e4YjDg%&b;{h7R~s@XZ6KAji$u!uXqy+)KHN=5aKn4bGTIFU5DoAp}g+GZ!0| z>&qG3^vbX6T67A-lZ;kf#ja#1)5F&wis*qNc_3WPhzTc4Q%cKM;ej`k3vjc4lxLq`Y?PP8{cF*|zhqvK^yJ*W#M5E}dh zqiy+o63vW-&d@Enxlc2c>1D>y6Dni;TA~rV75!}gm#yLq5ivXTneK(H5}6u@Hs)ZJ z`!b^?7|jg&VYsAK^_-ULBjEM2H~H*Vr!dW_MA2YkLQ7t%Epqi#~jV z(GqSL$6yE-Z@8O)O)-?}viENcmR=!L*7UxM<4C_a7JR*Hf-fBkaXaCYr?*e&sXmTA zV6fB|AAICZ6d7_N;bNR~muYEPW0~%AKVqcxt5hNq?g?7z1NF@v{HS1&-i4nsO8Rjf zFDGpaUEid}X+=WtFdX}l7F>PjA*A&M1E!yL64~;%H)FSeK&R1U>20CCI|I63T<+J5 zmS9O3LnmNPC|MHoIM${99mAyG+NQYpRCQkS*X1{9;IPe)J3^Q#L_@!4%=DK-=`cHk z9a=3mwQ#w?QMIpqfP_eUt19p4N#+Un_@$sypi}PvHRwU1|6+Da6 zPL$WBsznrssd~|OdDbo9Ss#X)hOjOuulXgA@{IY7W7W*CO;QZ^HPbYPiPJl|sFL)HX_@{Z2+tzu$;sR+nmY#|&pw z&3(zJxp_H^nEqIv8j)|wu}9*-@B&qE=wiI|6G zwBoM*o?>|T#9bDvsBpf6ZzmQVHTH1Z0z}_6SmE-O+6_^#9mRjtf>!T!3wa44pvqCNOb2^Mvq&NH9KT6 z{36w$1z7#`(Eo83KXziQH#lPF&0wfFO&bGBb8m?nA_Y?1`>ed37*C6|S&X;`crHE$ zULsN~--K{1)$Q2&6z1a!;?5#lRe_FM!nn<9f(g#)*3~z#BIe#>5T}~1BKn3CSBq*A zd%R@Uqoc!_9VhmtxTl(VUn!GQq$&sqqab;Z@9-!tiQU%<7rjJuYG<~p1p{DA;WO3>;C zSXd3ODCBJH#eEpDY72RUJs$z|bs_H07}Z;d!3O{wcy*8i z8D#G*1kvYOHB`U)W{AzqIIxPe4MK9=3_tF%pm|Q=$`xBup2&sEfk0o*=!?e9d{lkZ zR7tUyuIwri^Z(E5-6{cT@%^!Ms+tP_CT<2?WcBTEAH%ngw+V}RTf&c?0t-381YV{m zPZ$GS!>%Gilp0SV}uK3YhynM{!dO>s{ zETFjAYQ`=@^wn_;uxoN^Y=3`O-}<56A!c>Kp*gDFx(zn3>U0lgej`CZfPe(D4t2=oy}l%TMX71YHUW-6-3m+#gE~w zM&5ah7ch&bCR5i_p6hmVzSa}MyO05E%mT)Q*WASN6DXH3$^x?}@oe$#hJ#|U^g`h< zPWS@#GDcmPjH-1g29|c_#REUx!%AncxefCVusZp@(o&d-_-H7Af6u_daRT$DTvJ;B zS_5}5fp`@o?ma$4u>p(5dc*NG`V-ytAnzK6Z~ax^H5VqVa{NS6uzx+{hsTGn&huE+ z_-=+xVgmDzj9EKA%=rQF9wP5%h6#-urV}@joQ%qd+k6Z(^K4kf7$RB2RID?@e?-7PdF@x$*hWo9gIbPLG ze>+~g==VX7GhT`r)I1*I6~aGW2YiYFQ!JC_0k!MmPMGf&G$ZsOEW!F9dX~Y*nyEJ1 zdi8K0dvKQbJR_!f<$39iXxO(pwCzh8V`CL*FF%qWcdlSDS~%TQHcc zG4^AR*7M$B*d=2O)6K);Jt;FE;`EIiU?YT6IUXy+0l7&?`+cqj;f-)VDF8F#6VYtC4+}KlKIZbA}#kd~ccjVao`#=)3i= z7<{ayXv@GCVNw>}HF@7M_E<|%NB_tW-V*S0(X6aI&qk5!+O{>iuvWAtPS zTy_0`#VLTbB8X!!e4TN6!9gDGc6vJ7ydN2P(KwLxJ#Gvg?wiq2GFswjq3HkSI(BPY z*Smb!c*;(CbE_R##p5J?x{IN&4jo+(zcAFEW}!kj3Ul&UHC$60UkLLRqHZa2Winbx zGMe^oHSW=@#+&in=#shg&Pk>9=(Ac8bv;yLvZ!XnXcQ#Fy_ahn#wp(%4nI)m8%h;V zLy5}QwLJsOH46~u8tGEFY{llvs+Fn+AKrV!*PhJ?b2f*-7fSr_&)D!hF1c9&LSv(+ zcFp9J%s~O;)NYOg?3kkaWnT9E9E~n6u7k_XFl9+F;;|EwWUEOnV;u@l4G2@5VqFtc zvyoUnYNk-bSYnF^>zV5LBUIc~%rG^ZWg`kx$FUFEVE$ZyVLm@3-WR*3FiNsgB{CB= z^MVg7R(vKG)1+%U1I*kk8}aWIT(h`TvJB%xt!Z);H`d0`Y_2(6ewU$}okc2y2*E|NQGY_FDAYEDj6*znxvXSms=M>F8|ngWX*RTISr4wS#L9*PbrFtIid01zjOm z*frm^z*X7eNs^x?`B}>FlKdRW zFOd8a$*++7D#@>t{3d0{B>#=%cSwGZ{JzAlE8a zpKG{wK-* zCR--iwjrBBwp_9mk!>Q`rjTtW*?eRxC0jMwb|G6G*}`Poi)<}qYbVVDk{S@zPh>^zpu8WG+bLKva%FAj)p}KIWtSnS*1Ugj%x-ki;G*nknQCVH<3zr20018)v zqj0USDp+1#6AB0X<#iz=&{-PLpOSz=wRNSnb#-OFn##&@0F{>bYJwFtzOrz2xj$T6 zQ{%6zGXkBj0o|MgR2{Ah_-p;(!(UeFt0*h0^VOB2X|-jwb(LlQ>Z-DE97mUEK({6V z`Tc>q+L~b47b>Z!gs_9PzPgI48edhQytbq=R8v)6TW;j&3JvJCB%p9vxS}Kopc;Qg zov$KTSLO5j!$DuTx~3`|t}3hahvI;))`0Fv0;&v!P2h348 z0BQLlsM7NCl9EuMq9hbF0^O|vJ&*)c62@2vK|CeFQV2Ux>-W{v`5~i{+VYapikh-u zydFKE0X>uiR9#(LU0%w%SQ!FGb*x9_rM142>bmNRx~huGvdXxoJ*ojck^~eEmX%ir z%YwdOh-DNghi2E-l=&(vs)BW)I{emOYHZq58qi}&KowQtvg%-EsV`U?s`gcs`fGi) z{h5Qf0;i3w5pP_vhupp zU^uS(U)F%0N&+gY3_`f2;HWf!X(Rx#*VL4Td?hudL4Qq6xU90e%*fH}8qhPzKvnS5 zuB@x{mDXbNsPG3%e0A0SI$vpBSyi<^SY8#Xtuz9?tpWWd38>Ux69|NBp*VGA7_>E& zAWW~T9(|wzJ)Z z^v8AoCmPU;NkCQQfvWPVnsOh|Dtr}Hl@&fedeK)^77CP=qX#NV<9h8&4d~@0pt3-X zAG!yQY9Zo^5T@GN@=%G-UsD?{uML+~l~l*g+23hEe@z0y>{wdKA`S*hFhiC?&UOBh zu&<=Hx(rK5Rc%!u4(LY>=(QxEV4yl!TZWR*gEC)5xD2ywI280@ZGnhNp=M=qdi1jf z^hOd;X-REuNf7f!SqbD^QCm`tX`~_yVFyB`byeXCf0Yp^->LzLet_b< z995S>MhF1mtA&1+`~5W~Sd$ETl)sGz^mYU=MtgQ|BN&}Tp$cmB*EJvXVbYgX&qPi|vQCDFcBKbKQ(ECY1 zrDb)Y${@xX1cF|xDX;eVOL%q*R|LbM>Ja{nlTm>N^!FqnjM#7>SW)gPt>6W+v;rzr zS5XSBtg9@q##&GvH`emK8qh~cKy_FKgJt1zbUJjgA`}StFiVE8f|r&ALKS7zxgw7Wn>F( z%kwLl+X|Au+L&KO^4Dg#-I=-Fh2(EiaqG{o6Wo4F@^?wxn%a zVEB3KddO*k^{_yubsA-4i3TjpZ;Xk%iRAA`XFt!|`TV_^$ySnoNX6um{H21)A4&dK z5|gGjdr>Aw^7msVf6|%kv>sNMxs!p%W%)fZ9wQ|GNAS3kdF&9+u%;PB8q*Oc}n}1xCN1IGGTN00^ zwx~LfzhxfnI*-3&9<2r*Pt89)CdV_#wyogtZ07MCvTc`&$BXhW7CdfGwh2i*n%e#9 zJZ@wj9XgL!FpskgJpLj7YUc4OvN<>AZz5ZknE`b@^M3=`vQzPYi>?Q@oK$*XYSXQq zar1A_zcbd$cabemNbp|f;6AdsQgQG|{-Z*I`D80dlAx*Gx-P*dSb~MR1fPZkt;Syd zOaAk*UVedWZo%Wr%;PI$^Q7YOO?^b$aAZy%(WVXpQ7OHX|6Z&Q-zVE7!NG^j!AE49 zoQi`l^1l>PDkj?wNm4R(g3zV(4NGZ9T}uCelqBPv@9IzXdxo2e{;zmx_Z~F%C*nabW5g73IKJFi+R8 z0-%)%4$7H>3bK`_;$Y{3U4(|=lgcCwGj;wF8dk77Ygm=gumV4iLw9T@D+m^ZV^W$= zwi?0XUd-b{vel;IaqpOvc1|TFQ%Ad~lsXC)vlcBP+pZf6aJ96X87w+=Fa;CP~oLc`+(MsbB?5(63AIAa!$sHCAj+3RV{kun5(?V8I%)1%wEPn8{(X z1yeD3XlyDArJBl2okgP}JOZ0zodaCK%@-UT%^Vy5)Tdf<%FG;Mqa2)4 za9WIm)5*3_aBvoLa5mW*QgLu$!9}8@8p+m_)KR8Rzq+bl${p3Lchu#)XwNkC)0G8R z#T4yovh6K+yq0;qj%=-|c)ZCfHfXjs%21Mc43t$?;vS>I7pkkq@uRw?*5@y;De>WI ztGqHC4&dLV(QRzOp9^khDQQ#E9c1ee9Nf(u+(WiSsW^BjHrN)Y8f>PH_R)TNtl$Zj z!Q*6Gy0PF%vh8DLuszG%{e^7%rsD497H@OvS;61s@45I*@E#Nj+rhqCwZ9Pg#qW>00y!Pnd=+bivmJ-^O_Sj%+=G$M2cP zAIKI-#pBNfzX%?elWj#3kEZT01doN8%;QSIW1-AE8nz9E+Z1l6>scX|=Yyg=7AoMe z&`GvcDR?Y&#WsL_sWyP7u1B<;50f||Nl ziE^-0;hY!;KC%r84oa8!*VQ%A`KGX;u!&`$ zu1tl^WII%F(8?UNk?pWl94w8kOdC?JOlIzqqB7XOurt;R7@bE54!W6x9fM;NV2&;3TpgpNfOiV@KT+QXO@-;2x{+?83_}bFM8sr|{gu z^D?d|yrA&H!ix$o&OEH}(!z~}myzv6vi**1r;K6+KaFfSjh{ufb4H&f+j(TWfNU3C zTX;p`?+dRi{6pbYg;y7DD!iuf+QRD!uP?+g_Y$(*L^iB6n8^P__H43GBl|97Zy|d( z*$*N6sc}}q!kg85IonB{Stl>Y8v~dJ=dqD@Xx_@+$jI7}c`btj2jO;YXx`AsnyzJC zLlNJq;dwog)dNHGx>t4$`}m)})oa$w>%~u626~3(wRa(f=`q45X4o{`n7*Uw#T5;J9^`21^?rZqXm4Bakr_HHv2t>dU}Tk2Imf`78#@-LUzUE zU#=Wj*VxE|R@_-0BnO84MEUmyF3M&=GIUp^EWPK7jN_^J;Pv(q)nKQg>>U=S50x0roz!UKIh zhy|WXTI&Y8)-(WlNHwk$*{};KvXkwa(UY|wY?pD?73c=_KL}p?@8sxivnabL*OI@n z2zPteZ7j+o+x4SUQAse;H{7N5Mnk+PM7hEuk0t-I%y~ub(d)=|!)2LeMH5G{fw*yW z>H$3i-6Oo>G(`GW46n>~?;#59STv0btt^^4`T*JfG)5s&Vs=p#l(1+{k*{cO(Y&IP zqSB(WqVl4OqDr#eOtxFdb}QNbOt#y|c01W{I=_=_xIDjmQ&F|1ghjh#-o#2+vz+uzGQoFV-YS2A2O+oT}3_6tD;tm>oopYH?W1do9*ZjCQHa znRwf)Eo;b*v9>p|4q=EQ{*gm^`+Bj1EaiNGT7;hbL@4h2P~6PP7L`V? zLN77tOZlfopR?kAMz+s37Gab2xk<(Srsy9$dw$Ea=NFhgGfRuUAHAMzUnVK8wxReb zSk65irOdt_+tJ_7@*u@8#>VH=jGMd+})fsy_mY?Ivj=h01L zpsRmv*AVw7JksOKw)FNRRY|k}HiU^qgKAb{)#*noUzGSoGd7chy*-hk=rDBWxeFjO zw=1)qY(I?Naarb)%*CU3kKQ#pb-$io?D=|E_x5-74~x$yx+kM++>^-muZ@|@M(<1W z*;MxobvkfQ=jq_zmlb`Vi963PN3khO*i;E%pSuQ2l6$Uup1Z_d>MnDayDQw4?kaaR z*?uP5FJ!lnJ%j9-WVe!CBD+j>8`YkpRzMQ5h}IHt?i54yf3n6jZsLH7t5$R#J%2qsQWPY z2KV9aBgmdZ_FS^(k=;f1e6kmiy^!ohWOtL@v&kLZ7rCSRA~)}g>|UXSlY|mZ`JWR0 z`uid`?~B~$kbR<1!ZG(n?u~BV7r8GZ`{a%8E684KQVFke^S;P^HI^6q4p?5?*J5*S z-!aAJJnML&QGar4`yw~*i|kWb2d`zt-7!gVMTtAzkFXBj<-Xf}kNaNteeV0+54az6 zKjeOx?9<5(wVFxxS!Cad?6b)}hwMJG&n5f3P3}jd6XBE5iSSw0!4jc^6+#DV|EGih z1s!~ob?_~+mkJ$x2NR+DUH5xTWQU@ZYk%UPxNX)%(c7Q6KVx0|l{OgJchF@?>es=*iQR(NoCE7#7M{ zFO;$Af6DmlE2D>9y*-fk{HQW|c7if`W?M6u$i86o6ZH?M;&!5^%RCiOL=Tj7uZ^Bc zvM)5Jh@M){uBsw>c40+qfKGXKXGLsGR>X`BQCYwfRu$0`Vnu8oqmU@k;DMXgCQqZM z$T_dpp@X$c~>ZCi@byFD3gvn>n}1%2`m zugnMX!S8h({BYh(KKKcJI>B?2rhzB21}@_R%Ip07J4tFQN}TSwh&AvG&zYXHJZF2( z@to^9&vU-#0?&nH?;(4H?90i%g6u2F-b?m_$i9l~ePmy~$#Zd3122ne;FYX_{Xzo= zg$Azup9cOHH1KBDz+1=;k015W@41bq!rMJ}Fp+%?*$>wK#AGOCRf^ue-}4}AB6MSD zqvs*A51Z7)$2?DJ)8P|59gdh-VxRN8sA=L0tcmMPlz7ea0c+yxo;N&idfxK<&GWYB z9nZU-_dM^DeLdMRdJZEyM$h47$GPQ5vX7FT$o`v6p1(&m@e|Ldp3f{(JzuaU9wjvK zII^Ea_TS-B!+!Grbn(BSi~nX_gfj{}dsJQYTA+*G3~weA*^eRnvD%-|#S5|uqPpna z*1J7)(YqblkKgE>K=u>N>7qBw3yT;I&E6c=#ot1+ye?jvPfVKQvUg~kvS*=1{a=>2 zhVy#8xa)zD%R7lR^OP~l3r?qbOQ4zF>E0RMnci96oxHQXbG$z9TrcM3)5v~0+0P*R znPfkU>}Qi5C$@9RejeG+-{dXTG}BwD&5_<(*31ipW?n4j$jknxm%qMVdgntgy$i^G zq0q~Ptd|WImB@b4XodO*w9+Yhy3O0cI*A?EB^$liab0RsC-?F051sPv%PaLpK0`0( zGqjT83@vKv_Ab}7Fv41RInR%2u6{&`J}>TlHhNc+{r4Na17yE)bn5;b>loe&ZNq~w zKJROAz7mCoy+>H`ulA03*Lv4^5Am+|9_l^JyTOY&^eVDnP4-P>zlQABk{v_oda`2} z-FUTS23~Vc_5Q|tl=o=wG2UY>Ge&VO^hcgR|3vni$bK`~vGm*urJcG@?@*|(cLf{j zJG1hJRo}26ZtlAyEqz_X%LfK=Q=D)7asANZUiOF?!X0sz_KUXQ!bM$!y||7|fDkV| zaRaS==^yM~**gq>wUNQdQoV3zmdjWJUlI4Qi$PM&fr0++!N_oA(dw@5fuTb>)W15j zcI;UTpEc$g5j48H`h4)dSTiyl8QfX@zbglZhC8|jS65Z+qm?VIm|J#0V^??Gz`!c_ z&z089DHq~C&wH_D&K2JCy%%^d^j<{v+sJ-9*|8wsd4=~9@1@?2-pj~-7uoM7`#og8 zmoL}z(TD!-;oh|fCD$5RGcY*Z-aE|FEKK?Z5>c?XL#kgzV+JEGR8pw`TGJQd7qe~f zl!6&W)0Vc#3f1eZLk&9IQCbiqllNvXwBUZSLw_H<-1}$mZQe`Bj!gw_bnfDoO;2JauI83Oq$NkAJF{kw{b3y( z<=P@^x(2)8eA1aUYwWMJIu>>HjYOvGsm=YCy^BQ$-S2%k1@oCf@1x$wM$uc3lKrvK z+1-}nX_=N{_2I1dDeGa)+0ypQ*7Wrb4VRR>n2~9fWSf1vB~xK^;Qm-TwTtx<|F3=O z@W7fSQwNr*K9xC^jAJkD%yKrhEsU&>^r*^J{mMb;1PgTJE;Z7dv>Ho8aU(cDE% zZQ+6b;g=^(F5Y2BWy;iP(`U@Y&)Rwqji9dOY78+{0>cYTC2Jsdpe*RZ(CrysiSKyM znX>0}O}g2~XN|%zVH<^OdH!5A(r(-Oq2b8tj(V=64xTYDD6{AI=FaQPD$weU;p%$p zPW+9bfq3tpakMnL4Y#bc(sOxPdBy0qquY&ce|c4P&FBOyr>@c5&a7Mwf*YY1?#wDi z2;O#PBpm7Dd7~{dJPb(=89pf#pLEoB48bQ!|JC#P%I0N*L(JXuYhZ6}_eY3|K}i8!X3IPO_Y5xxjLfeGbb}IGe5H;vnjJB zvo&*Z=CaIHnTKQ^mU(pM37O|+UYL1B=B=4`W(lS&{5dk^Si_y{}~4?S0kz zTE^WOnE0O=J)Z2(lKn5E$KyZDlRJ(*p|Rp@_M;%Y+&Z&njE%$}wGFT5#bq;Jw)gU; z0$)zqa~rMM&&$&+PVf8jj4A$yFZ`q9U&kFu8OI*bKG4&(zPM|+xU^#Dl3H!?_z2rB zOEzXDeaHQo_X~LB^UpSVza;w$QHOl*HyPR5my5NM|5SsDY5)E)!3G5e*?V(dJpsg=tI!QpieE9Y%3@S)CNKw+1G-e0exbzWs2=t4^l81Wo(0_SoUtT*1{g8*g%Uc5K0-+swBcR`ajsu+vx(0+k$wPbc z?gpVh@*V)8{yfM&57;iq(q#vsZC;e|o(IA=-p4`TSS%CK*ApSTiEBZJgMJG-1%$Rt zJOgwt2>n0tLeRw^^#8=iKxofIv}YpPGZF2Xi1tiGdnSGf`Wo~t=pUf(K|fk7lX5_% zpxr>NAhdB3+BE545ZW~9B+xma%RpCvt^{2L+6013Cqd^XJq&sj1l}h-4|)Rx9wvPN z`odzFYyqLIle0h=6O&QjGd{RH|C z2z^tW0fN33&jz)ChCq;GF?cM#0rW@EO`uyqz$`{T6hp?v=!fD*K#*7Q6QFlMkjV}T zXch>(?NAHa1++V8Pf#6be~V?xv!G8v--CVtL55Sn)6{K1(9x;T(Wz+XRLFH|9%vq@ z2Gjvs3|eZjOuH9^x~IJa`YQ-+o%SXOx-kvBOowhv2QSl|plpyE1iq%1fPgjK4}$Eb zM?fn;y&&lN^wppN5c+O9WHEgNv<|c$bQtJ#(3zmKLFaT`a)B{=v0@m!aK<9uU)7g;e zY{+!>C7|a(uYukHaUCCkJ_JFQv;T?Z4Ry{zU2{;^9Mm-jb0qO+xfrddSKNtMWJsNZ@=oAp- zG537XjUd!L_j8M79?H*yzRcSOv>j*y2)aEl3zP%O1LcDXLFmVMr6B0cyh>0ts1~#f z2=bq|2gnZ!fI^`8pnA}9&@rH^K~I9fdx;CQC#VN>6zDS0y&%Y^1mBcA4SE)Yaai&W z2>n!oekwsfm3$2P6a@ZD{ssCE=of5BGC^ohDcVztzAA-&m4eSw@L38zOLqsM&eA$i z5Yz^O%u1JmR{fur?mEiLvfCT@^-~c^B?ajYMd_i3?id;oRAPvsW9V*%p=)4>p-UPR z#Xvy?8w4p845UF2Ma6hOKIeVk^*QH{x$o=R`@8o&Yd!0%;X!s~`eT2}OkqCusEpjo z*rPJ`sEpZ`G21d*d4(Owv&^kIC*7;=*@-~M!%=>)EN$f*eS(N>myWHas9w3*paw(UJtmL6QvM3kBAchc+ zp399yZRN%?o{89(a(<_lTSW?MSWxZ6Ix_G$d5NYLb*M)J8qtJiw4fL2jp|E(1~QnTs5i<^MomNiQEHD$WEsh< z#7v^hJIcJH)Es3FQRWb34pCq8Ef@J7bw~YI_uu>*LZt}qt|X&MGO8q_O75(*75!HF zjw@W_2HvmqEBE;WXH{}mWxZC`XXUOqqq3SSPiH2xka6Y3EG32Q>_gp^&!fi5?yCGF zKjF^G*KuFvJN~0hTI5*1>TdK?^(_wZ9;cCA)&I_r zSyh=;{S%p03sj&s?dU}u{jdYo%%j>wWLeFf)!bEW6~4P_udttY`2hP_O^(&vQ|&7*3e%KS=LZXjU@K* z7P72ynD;ryH(bD7HGGdX>`Qbm3R4VyM?ZsXqhn}|e53UnEz{`Hj6=53lbMQqqwQ+6 zo}={~y_v1ZIa>eGyU=^ITB6kwE%WGO$RPR*>WY>@v<#y49(@!06K#K@{|TXHgojB* zCi0S>f~dP@8RSv33C(Fq8`{&6&b&-F%(JF>)||j()L&EmHPv4;5qn*8KC-N7FKf!O z=5oxorXFglx8`3V)KWvO+VsM+wO->Zehr~^W@K91Gqnp)2$|NFY3(Q~QZ-kzWyrere%|AKjw09EpK+X%e8&%5;tJQefsAY4 z38BuT6hS|AUStfb*oN8F*@HXkyuq8ijak;Qzje-Gr|Mk99d+DM=Q8&~sB3O@on7}a z((wecshgGTxU=rF)TasEh)17w&7kfg>~mc+sA~pw&7kfEUSTKds;jQLvafrD572+z zk2uX)&ZEA%dai4)>gu_!p6mV{LcO%4CnIXBmxrR1;2EByEM`@&2DPYzdh0c$C3dOa zP{uI}HP+w8Y=}8>@7=Ss| zpUhP3aD97He;#(E{$k`-Umf+=A+!3gbBOnlSABWaH^cg0aDr3Ft-gJ!FR%LdLug=j z4a}~Aj2fu3f!Q^9lBbYYgZz}C92L+*gUZOPfj%18?*?*fpqB=NSi@)h9YVw6*!6}9 zsI8%T8h(fwHv9;+G*m}Jb8Gl#2#ws|$o-An-^l%q+~3IkjS5i|b8BR7jm)i)xixA; zQ(Dl9wzQ`sop~9#Hj1SeahPMHWH$2-zUjtk$VDZ*+qf_CZfw?#J==H{`f9u$b8ftY z-R$F4^wH#Tyx+t;n>3^`&4@v5OQ5ShMb!Ss~H0^-9o4!bI+~3swO$QT?I+~7R1D}V`Ocu?| zx|v#=4a76eJkxA66PV02X0Vv0sJWS%o9Cbi#VEluB;x1Ix3ZmG>_u+P?L_l8F^A@M zw)vNsNAt6M%>}+k@6GkzT<^{8N{iHF!A`WWdoA?a!kk+SWfHS+Z;LsouSF8ed4t3F z9$Fmd1Sk29AGypm{=4IL2r&`Tl8%f#Np7mp0CSFML=!sD8~Mh_H%7iOvWt;jjO=3U zUCcxlAh#Gb#Ux|SF>A0}F`JN6%q#d-{Fi!#7`?X)xW8oq%%){68spxUcC2MP+Veak zkwMG3%)@TATu2J**vJ;#(Q*fe_?GM3K<_Q}-tw;yT19x6N0C7*HMGiv>|5ohAcZN$ zdwh=hwKBg}=GV&nTK$CCwQ_!|Tl^eCYiG1BOIz$^>n?Ps2eNBD5c##9g`8TiW-WHK z^=5Xmn|-{->zu>yoHluhq9%2yk2$qzNh{jmzBcY^V_t2{tIZ&WG93A}nZ^tfn2i~< zxywC%SMG<_k$ESX zcanLhQH(_vohIX)PBQ5vlTI?}w1CCfg-*ViPODghZ>E!Prqfoovx~jF%InCx(>vJB zPVb}7PHO9<&rbU6^k0qo?4-|5-*Ay1_=&6BK+m1-qTf!x^MHRs=p5k@Qj?Ypm`~>{ zWXGI3=O!NoDME3c=2^;6o+zqN9rNpKex2*nh^Dll6>aIj3%p1dd^4SU5=TDQ3}RHQQ1 zh^996Xh;*9(~>r{rz4$tnQru;H+>nvVB#6UXvQ&-DNHAU+00`hOIXGVR85Qq7IV|>EroZu8^IM26y$B$g*8aMfwU-*qb_=|r-cTG5scyugce zp*uZ^qaOnq!Z1cMhVe{dDl?eH9Oko#r7UM9DXe27TX=|s9#ILO<)%Mm{0BR=H| zzT_*;@--Luo=aTeI=8sPJ?`@-e}|x@(B)wsB@O9$oXlh+2f4^g0SZ%$l9Zw}<)}zy zsu4|X>d}xUG^ZtPXirBv^D^D&L2vppfWgEwg3*j)B2$=70<)RNLYA)DPx zyBy~n^64UjF8}rZZwOs;QV@N0Rc}{yc8$S2yN<`5UAM81SCMH~S$6$7gl^f%hg`bZ zm2P&Vn|`{@!Hm19r<)meGrMkwaCbNFce@-ycNuq=ZTF{;OLuv6@5CbPMRz@P|AMoe z=dTcAQ<0h?JWFZR8v8siFbTUBE0@@V9N`1(K&;uv{t`kDwe~Q(9?#&t9$o2gk=H?&>*>xy;A&Jw4yk^SvUZ#UAx~j!IOa4d&hJCCsvy z8TOjVW_Gie|K2yFUUKTK&)!d94|`Xj1~suGz3oQtp(JC*y*J|B-rnu~-@AW=5cd#| zpx-$C#_2b%8SUu60PI%WD3&1axHUK@&N*?;iTgc-KKkk7`{+{$XY`SKAG7Xb)_u&n z&uFF~k3L)2!#mF zNH=0x%qmhi%YV=Q7()MoJWVNvGl5Asx4)g}{}y+7z~3PZknI534ycLe2FzkMAMqup zLKv8Z+~mdl2X>`9avLbOfpQzDhJoLshCw+gNMZUh3|S9)gTuTZ!r*l1X>fL4##{&Y zVLxwkC7 zC~8uhg{)u|em>$4%wuE~>QE0e7%AV8Nu1?-WIL(|c5qZ_)ICbJqhvekRo+1lqcf9> zJjBwUfvA79`bVpO%%j-LF_~yXXMCGu%yW!ya?Dol@F#zTFt!@%8ry*B%)=bUeu`Yj zo(W-GeoF8(>KZqmiG0WxoCsljK8jNk^^f=5c=eCp%bTcg{J$Ygc#O2jV?tA!GX=R! zn9C8|J>l~ZCfbpSdY)*XCYr;x_?3?~GshCxn^qo>`bu zJVzJe=!+g_>T#y~XTHy8d=Wx|Y!dQdM-t?oU_J@Hse}Z4GYRfY&|iYNCzyMJdCfAf zS>`oMjkE0NtQwgAELqO#hxcZ!K&`XXH|rGgoaNm_?P4sS}ToOk!mOaQc z@hxtkw?w(l*3;~Yn8WNI3_vckWjXs5cJLJ!F#kCjF!MP%s7WK5FovlZ)SUHfXD8+` z=Lar@FjswZGm!;#&Q<4Jbylk~f5{ole91o{EcMMT)%ViU zxPNI?)Vx&9OVzw|4raA<8M0pb37?^crD|BJhNOHHrzCB85oaXL!+S}|?B)&L#H^D3 z1FZ0eac`Y-WWmmZ#!tz`c#*CNice#F->vy@kmb+`YyOtlr zY?hx4A=zA#%_Z4flB-aMdgw2CFhg05`;yHk`D6Zj@2e121k&LB6?Sn&1xWTX74`F2v3Q&mp*y)umara7dS~;E+wy+H|T4_cr&1jWeSCzp| zty1qQ*{t%;DmkutpAV7a>QtEJ>ITHnibbqMf2+UbYrYL3B`?J&K_AqSG7Ni}@-~OK z#xLk$jT+XdVT~Hr$Zd@})_7-)=ht|Cjpx_g=6B3>ZCR>P9rIi}i7C9wJG>jhx(I1W zPfZ%pgz1>&x&<8NIBH*?nkUGN8Ln?ib0#p8S-gf?)|^I=^@f#uQu6G| zt*1C0!nP-I=eB~pOmF(ImA&l8S=(f_O;)cop$+ZW$pPL7VY_p-J7>Fdws*xD+xxKw zXKjCl>)hkF5Oy@c9`0y`9o(^z&D;;cv0>*!`1#J~@jdO_#4h%5mk0bE!mdU*W0#tC z&0#4r+x0D%xf;Umve>uXX1se6v+!N+KFvkG4`EMn?C>6W?HSGlJiF&hd>4D1xAz%j zxi<=P+-r_|6ZnRoxDvv?QdFc8p4sP_eV*Cp{e9}$r=I=J*k6O1%wz$JFq8eB+pnfq z3*)R;pJOyrn8tTp<3V3Tm$*jjb-gubwWaI_9(}O)6x<=_tPV0RAs zJ@jTZ>Y=7L&EZXbzqy33xPboNDvaLWQrBBO8OUJv^EQVz#|JN=>gefUcVN8NGM9v$`EQD+>rb4O);)LloNb<|zQoOLl;WAE}2 zays@;2p^>;4b`bnL&hjJ{h#XN(^j-$E!*(yr}y}qe?$1JHO~6%MfUP0Z-?-?+CR4|pPSF; z&1ui`$m8>^yn-{nc$CLzi!;7>na%9RdB-0{-N!THoa4?p?wsSR*u)lY^EroV|nE&fZ7nXVrMl9M5IpDb#u{KZPhsDV{^k=gLzR-_kkv zoSRG{>OZ%DMc9#ZJJ`)WUgHhk;t-$m1z&Os^`BG!IW?a9CWQ0mcixQ7*QYPeKkuyb z&bTm&u}r|-7p5^2&s8gk`&glkuAK!PWG^$103XS-o@|yiy!h4=6})r zFPi_wuQ2;xHd@j8FKS6P)4<=lK?4efJ}mxyDU?<`;hB5B}oc5WatiR6IsH zGLng`Jjqk!AwPvEN(r9fIm%LjN>rr=wWv!28qBLKPC6-?Fp+AEd%5X+8 zmI+K|8Z${`E(=&p63MJ$4eQy&R<^T?y}ZinyvaMf$NL=RV?N_JCppbIzTqN2@Do?L z!ENsHE5GxAe?s^n!Xu<6Eg5)%EMzAqxyeUCicp-Vd6qJiCyFXmrzUl%Pa~Srf>yMp z126C*UFc3v;^@afhA@ngjA1;Jn92-hF^BmqVkyg6Neb)O$QE80S@vu?{b6> z`G`;Xf-m`svwY13zULBGxXvx^aF6@^$=@OT7c*1*=)h z1~#*e9qeWwuki+Nafriwz%f4Ib53xIGo0sJzC&O?UgjD%`I%q%jX(H{e?z$R5UF^K zbYvtGS;mm!C(*mt}i75xHEJ$K}sLxbi6W;)))w z)TRl|=+AIQvXm6oqSh-P^C|bRYggoQwGK|84%gIt zP0iQ5bFCIKyEcuv=<}Mpu6gI0yRQ8n!u1Fb{vd=KPf>^>c>jhO-H_7_ecqUaJ-o4*-RwoJH!kp92shJ`1>eujYSg0vcKW7W zzB!iVtYZV}zp4J4>c4r5`>5mA6XYZpQPiY1ap>ok@8g#DZ|z_gW_8QX-a3slZp-fW zLzKXrZyoNd7 zu`72TL;iQ4u8O|9S5&1ui`j9?;@S;JOd;Zwfi41a~lW2s0@WolEGfs8~hk8NNF zyKvuQH@O`mX^K;Za&)I314w2)8##%Yq`43xY2A_b2{Kayy`^nLZw50IvrL=9TI7}X zTP}u3x`#-Id8E^8x+v6}t}A_Tce>SVMxW_EMUUz9m|mXg<(WPsa!mgMotcCC(l6sE z$1$f2?#ke<4DQNM2|Jge4n2`e2DN5LLZ%tk;k^v!_&P)~dN-qYGkQ0pcQbl7qjxh7 zX9AOWjYGW09sa}|9xqE(s-vgJJdjc_K5p$U{Av6T?IjNMs9p z*oPTBafNFkl1Y7;vXcXKW>RM+b!HmGD8^t8nY^EA8y{nqnPi$tt^SRfNM`fQT$ob$ zjxxWDS!Pyy=J_mV1)t)*%xCx~M6!4m`!)McnV-cZp=3#cbr3bvJU$YCc(i;8KWWvj^FpBqw!gMhon2wh`z* zoBhqUot@}A+c(HByS}q~Kf687ZeH2VD|>b1m3=DHQE&FoIUXW@1xB9K>yzn-q9(QJ zLL7Zrg57;`4M+GC?>~8q`}`3iIf^5v9OY<12RbsG3FteA_jB0&9KP`!UvL)tlJg>SvY_W&O=yOE{d3-tT=L3gH*+1toO9j8d~=y^ZvFZvVX&8O>PCD4!YSGoyTR z&HpfVD!+R3%O<~f^2;&*Qv6=ZFUS0+G0OruDM(>@FaZ4(*uV~U@iTw$AVdmQM;!$l zVlNBMV*zjSK6)sqhC*s6q=rIrE2NG>-YMkyLY^<=`9kmV5$0O>5i;;N=2_TxTeuxF zn9oAKBNiJ|Kh7i!Cn>r276V)PL$9? ziL97qiH>-ugmX)nWeGi$xQyIO+zpYE&rpFV>}<)Q4C4#*S@L{{JnjCcpQSW|8O>N; z#WQMrW)oYuiaVdV7b2y~QkCkAVJg#cRw-GPlGU?$C`xfA zl0YKPdDc14I_J6aIODl!hTyE{#_<*(a5O|p=fobCE{q*4J%Ujj;{+!|q>P`Jc^cnS znUPFl3P<>q&qJhaE}T(TO=VxEH!>@`i`O|ABIO>zzLhiMa&730@3Pz$_OOpXL!`VN zE-$b0jcA2u{ks~G^1h4m&MW^(*)mt?^{TPOMR6WJFTnv$F zrKm_HrZAhie8mO63z6#PP~CIYpCcZ%RG+|M>`ryRhiYWR@7Ee?s$mW_^j)JDo7s*2 zYW#-Yqtz8%ncCE4I`de7{fPbsch}5EaZ1t`ch?-wtGvUz{1qa#%(j;7Yc-=C@~oB2 zdN%Ss*SQ%YwJQ=$E$nyg#Vq9-zwm2_)TxPGsndj2m|vYO+~aTl4UxJHh`~P9UBYVC z;F-Ffsq2|~^=W~9sppw`o~h@VdOxC;dbdNQzH{n3r@nLQyQlsx>`8;vJV9n+>CZs? zyn%gdVBh@5ut-BY+b|tnh(k{PMmo~)J&uG(qwM6P0Djg;hK*#{XdiF!PKfxAa*@W) zY3!WFjcH9=WY>5n=GR0WP3&5eJlLTo6Pe6cT;RJ9X;w}$Svjx)EnbxF}~B7PMBYeTx0azQY|ghlAZ>{(2B*Fcgqw`;TvhGu2xymcPlxz zQg^Etd70JN?^au}hpkiL{?^WH?abEBY;ErT?ljVR4L@*$TOrb>9M!0S9^2@#jUL;4 z#Fx0gZGKAdG$WaWXWM?vNo3!yB+hDAfdm$^7`3;%j7;0hv%Ngqm&WY;4QHgi*|m2@ z`){}qA|0N=86Bb+&kUT`;T-Dja4AHdch2+9dEPnC$1{!ze8A@%50Q?Aa8^gpb@WU} z&vf)mM>ThJUq>~+ke6cU?S-L?#houW}%ie$aNpjMZwzOvv zD_PAczU5+wba7@EXLfOBm)3ORMa;I#5|Z$I7teR`d{@tPm1$R5boFf4SbDOKSJ;91 zb-l~I5b0*t-ORdM1zx5%eMn&o+wgoh&v)~D_sZ0!E?x0#_kO6~-{VBOufn_Cx8ttv z^6M_Y?r(=ktPEoxB@MESeVoi>BL{vL#O9>{h0#N-`eI9AKVsDxTM;$HRwEj<#MYxB zO=wO_+9221j&w$EvEAr_o?_J&tFG96m|^T2yu~37^8v^BgwHvFoMY`$?0MuJ`yD@W znQPqSXMVvx#s0xx{2L-Y9wHTwk&cW!K_2p<=N@|Yw?>g3YV2XZdf2ZXvhA@JIrdO* zkG;Igb?j@8KXFG7cl0bzE$SeXo-*kc(A)5om)X5cAg(^ocq&8crYx*?msvgvD1eOL1evhnvx zk-p~C_X@uvo4&H?Yfk;jPy^ZYlTAN!>Nkq%$floc`k7O|!+e2k`pKrBIrUFZPGr+x zHvP@1e_OgDoBp!tZ%+MJu?^YumyN$^iuAwCJ=D@)F8-z|G9d5}`WjG-l9b{(%xpjd z8qt_$#4wcwEM_em*o^xI=zW0R2YiD32FP!~dA{K;vKZk00cJDc0sn-^KzlM!76Z*? zpt%feL2G0@P{srGG*C|i`!aw*$ZOzOCNPPmEN2BPNnsuCA9x9K7{w6Cjs3=vbff@(dpFwgNB$q*Ud60PxN@OlcB(n-x43fnlJ2}Ws z4tkB(d5`xw%12z_dwxWngVZ@lorCjZ4ueZ0pTX6zzk_QdpTVtYO9x({GjbX%r@?X> z+@HxzV+QIRtj@ve9DD>jKG;qTKFvjb;3s~;w=>wT4z{a<{|%8L5%M65AtiW*XQ@Md z8q$cSsBOp;=CcTM8DcI&%w&k~W5{M?GekB+?8y*W3^|G{hJ4ItsBP$@n8(oU*!Q6Y zDME27PziGxYA!>~WT;w(x__wqhstJX8)PxGFR~aqfWgGG74sPS25)hQ!>DDb`-lE_ zzij*sTx6(O486tA+~FSgLnK}X@s%-`cyo!DL3|UMV;=D@(uMByL@n`CnS*TNWfQ*y zS;X%^7V*2;huY$AU{aAH>@&XLI43zBBE!>T2E%ic53?9vgkqG&eh#mQnGE+k z!r%BshP!`wYufQVbMS2p_iYScgBc9pj=qPR!EiGeZU)0Y;23Hd?*8Hb-G7d+xx+nv z<34}#cZiIT!3Z<(_kxiT^)QPOW-&r7Bji3}Fy=mD1f!VC0v55DB-A!S-y^=k_b}oI z%)s9qMn?E1Mg|_nUXDzIOh#tpNuDAPvKd*PDC~y6QH+eNPEFiDauQRS!7OAlavsZA z!D?hP(kw>4&OzSf9o|FFqaMKyj7m!eo**;1$V&kVVHTsR;{H*-kx{j%%Sfg%lSK4C zO8=wuKWa1E*nzzmwGXxUTgk{M_m6s?4>5~T7x<3vxx|$a@i&x_(IqKGY3#-5il}9@ z`$xNfbORdU`xxDYZumw<_aqJ(jDCfk>|s9#c!RHS?`U_9cIW8J{Kdb)e>nvYk&4IA z_n5}mfiW@I#WC&ZfP2TdbBsI3*pD&en8;+NFr5V6;S)aR1n2pd@3@719Ah8Hn2W#t zjQHEn$XNG}b^q9On9taP6rmW!d75X@_t=39VHo3?#8m9&SaTU`E@RDQ>?%^&f^5dh zW~}*)^{tFO#>c30tUAZ4b6je&VmHUx&2i>3E1LXpQ?PwBva?F&}f7um%}S*o1jZ*v0`4@;2{s1hbhSj|t{6;S_3_aD&_2 z;V!@Odx%UdMHTGqM87L0)}cOTGqEM+F|j>rnb@B}3}Gn48O2WC#9b55aGr0u$PfI) zRn#!?7HXJykNY9w?|dVZvXGse$ZC?TCdq1&tR~57lD(PqEM+K<%qFRGQau{rTbtz0 zNmsardnW01vY$^j&&hh2EYHb$nC#9ekMJmuVNa$cvW#TRdWu<3eTK?ZMK)7q<8OQ; zQ@`g&^fXmZ(<)G#y2x!>BfjRppIzrBKZnTlNz7$F3t18(GqR!28Bv(Q4EM}%&kViI zaMlcG&1gys^f99?ar9#VW--GoW(;ElW-((7zULVenT%d$yn{K+OhpNtH`9AF7qA<< zJM%Q>_=XF}a^@X=;aB7~^A8?`NP^rFOjiePTD)H5rA9XM~6_Y$9^BCYAfOLV0>@=qMbNYtOG{zUUl z)I*{k5@)cOB=C$a;1bvXg^i zl*gXTwkNY?J-Zcc>A(xTNEg&SyC>?Mt=`!au^+RiqTbp1pPk4Y=Ccqz%-(~XXRBw9 zOy*R@d2_tyZ=oY|4s(&K+`tUx+~Lm97$WI}PQk;6Ie{Or8 zNA7doHMbi*FsHf0k^5XZ&$TCWXEP7A&RvSVnY)5*9N=?KaEddW$M2@O-|-`txyDU= zr}NZ0FD>$(XTRt9{WMSJ^RglHd1{}Rn|u^N{qyYnyqB2F296*8pFs@89ShyDa5OVmjI$T6U^RAX;U>0Vh6~@|L%!w$-*bs8T;~?{ZQ*}4 z-RI8`S@bxW$%;A`ncJdV*ttddkk6vR*tRqDVB_(*8XEEO;(KJQIOVq!lCvo&+AZlJR40$h6`x3P;S;SJ7k<3ceyJRiv z*@*0y$bN|)mVCt35Lv38rO(kC=PmW#(la4 zt|Zx&B)gI%?v?rjh$J(8ksLw|8n&&m-li#EZ4*G-Mr1a9KrrC zH;3h)U>3{m%JK)eD_QNysgQeeTKwKh)Hj2ojj2#OeX<#C(lE@{^md8Z~i06udoC4ChI?WKd)*t3iYgz$%^hc zZ-w_(e9DawS!rKZW+oeEu<|MF%F1Vu^-5WQ9k%imX!-nTwiJ7L$b9Q+BZzHK(XKMa?O8Bt`BihjgG42K%z% z9pt=0&l}Eio^QB_x;OlY-Pv#zwQsl?A{)(MqdGULXQMsZxDe-U^xnq5LS$1eDp8BN z*pp3-XvGV>$jfvimY(Qi(=bLd27PRr#1!8={=4h>rHCjBf9`&&1SzPHFkDOQEJd0xoqjqOq{o6Ia|>47IWI7 z*DddJl#emDE#|i69M0XM|1ID1AVjuirwq>98i(E3s_w0$nZ#7ozjYSs-|DWda^AY0 zO>D(}Z{5dhyn%h$D&K8ch^8TpQTsNvZ|j2lw)Mn5Zgc0hAq-;#X1dLtJD1`<|JFui zr}K9@f2Z?zn(59%_?~w9o_3n)&aXJbdA>!DJN3Bp#}L_-26Nlh0X^-~%dSPNMDDwG za)5(4dzTD%`961jj_-4q{C1tj-tTheF1`7;JR-ZUa+hEDm48BHx1M*~o83?H6lS+O z9|b8wah^s!yGv6Y8SVBB?5>Nw-aQTd@3u3$Wxo48)UsPGyY;&JtMI@7_sB#4_rLRG P{lEYH|Nm!XPuu?o5o}I% diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift index 8c68cec75..5e685c697 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift @@ -11,7 +11,7 @@ import SwiftUI struct chatdemoiosApp: App { var body: some Scene { WindowGroup { - ContentView() + App(root.viewModel) } } } diff --git a/demos/chat-demo-mpp/web/build.gradle.kts b/demos/chat-demo-mpp/web/build.gradle.kts index 124c1e716..d7bf780ab 100644 --- a/demos/chat-demo-mpp/web/build.gradle.kts +++ b/demos/chat-demo-mpp/web/build.gradle.kts @@ -11,7 +11,6 @@ version = "1.0-SNAPSHOT" kotlin { - applyDefaultHierarchyTemplate() js(IR) { browser() binaries.executable() From 2c66de3fd3462e8a2bd99a61b691c6a1f05d3b56 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Tue, 26 Dec 2023 23:30:26 +0700 Subject: [PATCH 05/11] Display app in ios --- .../io/github/jan/supabase/common/App.kt | 17 +++++++++++++ .../jan/supabase/common/di/viewModel.kt | 1 + .../jan/supabase/common/di/viewModel.kt | 1 + .../io/github/jan/supabase/common/App.kt | 16 ++++++++++++ .../jan/supabase/common/di/viewModel.kt | 1 + .../ios/chatdemoios.xcodeproj/project.pbxproj | 4 +-- .../UserInterfaceState.xcuserstate | Bin 101733 -> 113393 bytes .../ios/chatdemoios/ChatViewModel.swift | 24 ++++++++++++++++++ .../ios/chatdemoios/ContentView.swift | 12 +++++++++ .../ios/chatdemoios/chatdemoiosApp.swift | 9 ++++++- 10 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt create mode 100644 demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt create mode 100644 demos/chat-demo-mpp/ios/chatdemoios/ChatViewModel.swift diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt new file mode 100644 index 000000000..83a01ecf4 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt @@ -0,0 +1,17 @@ +package io.github.jan.supabase.common + +import androidx.compose.ui.window.ComposeUIViewController +import org.koin.core.component.KoinComponent +import org.koin.core.component.get +import org.koin.core.component.inject +import platform.UIKit.UIViewController + + +object RootIosHelper : KoinComponent { + fun getViewModel() = getKoin().get() + +} + +fun AppIos(viewModel: ChatViewModel): UIViewController = ComposeUIViewController { + App(viewModel = viewModel) +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt index a9ebecffe..d49caff38 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -3,4 +3,5 @@ package io.github.jan.supabase.common.di import org.koin.core.module.Module actual fun Module.viewModel() { + single { createViewModule() } } \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt index a9ebecffe..d49caff38 100644 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -3,4 +3,5 @@ package io.github.jan.supabase.common.di import org.koin.core.module.Module actual fun Module.viewModel() { + single { createViewModule() } } \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt new file mode 100644 index 000000000..9e773b9f3 --- /dev/null +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt @@ -0,0 +1,16 @@ +package io.github.jan.supabase.common + +import androidx.compose.ui.window.ComposeUIViewController +import io.github.jan.supabase.common.di.initKoin +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject +import platform.UIKit.UIViewController + +object RootIosHelper : KoinComponent { + fun getViewModel() = getKoin().get() + +} + +fun AppIos(viewModel: ChatViewModel): UIViewController = ComposeUIViewController { + App(viewModel = viewModel) +} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt index a9ebecffe..d49caff38 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/viewModel.kt @@ -3,4 +3,5 @@ package io.github.jan.supabase.common.di import org.koin.core.module.Module actual fun Module.viewModel() { + single { createViewModule() } } \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj index d71dd22f6..3c0e73038 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj @@ -297,7 +297,7 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; @@ -338,7 +338,7 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate index c0b0a13958b86ebb32e92f0204c3fa874249a92b..0e5aed36e95b02f472cfc2e007b8ee3e21d76192 100644 GIT binary patch literal 113393 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�ygJC-XynTNma9E+F&vU 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 literal 101733 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

srpJ8;{Y7?-Hca2R;E)O~@rvmD6B3_U! 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 T>%adjS^D39{{P>@_N)F4ld( SampleObservableObject { + return SampleObservableObject(wrapper: self) + } +} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift index d7761cca1..bc4b83772 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift @@ -6,8 +6,10 @@ // import SwiftUI +import common struct ContentView: View { + var body: some View { VStack { Image(systemName: "globe") @@ -19,6 +21,16 @@ struct ContentView: View { } } +struct MyScreenToSwiftUI: UIViewControllerRepresentable { + + func makeUIViewController(context: Context) -> UIViewController { + return AppKt.AppIos(viewModel: RootComponent().viewModel) + } + + func updateUIViewController(_ uiViewController: UIViewController, context: Context) { + } +} + #Preview { ContentView() } diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift index 5e685c697..a3c45ff22 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift @@ -6,12 +6,19 @@ // import SwiftUI +import common + @main struct chatdemoiosApp: App { + + init() { + KoinKt.doInitKoin(additionalConfiguration: {_ in}) + } + var body: some Scene { WindowGroup { - App(root.viewModel) + MyScreenToSwiftUI() } } } From c8ed381a84364883683477cf0d30aba3e290b717 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 11:19:03 +0700 Subject: [PATCH 06/11] Remove unused module, update code to get view model in swfitui --- .../io/github/jan/supabase/common/App.kt | 7 +++--- .../github/jan/supabase/common/MPViewModel.kt | 5 ++-- .../github/jan/supabase/common/MPViewModel.kt | 9 ------- .../common/di/platformGoTrueConfig.kt | 6 ----- .../jan/supabase/common/di/viewModel.kt | 7 ------ .../common/ui/components/AlertDialog.kt | 7 ------ .../io/github/jan/supabase/common/App.kt | 7 +++--- .../github/jan/supabase/common/MPViewModel.kt | 5 ++-- .../ios/chatdemoios/ChatViewModel.swift | 24 ------------------- .../ios/chatdemoios/ContentView.swift | 22 +++-------------- 10 files changed, 14 insertions(+), 85 deletions(-) delete mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt delete mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt delete mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt delete mode 100644 demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt delete mode 100644 demos/chat-demo-mpp/ios/chatdemoios/ChatViewModel.swift diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt index 83a01ecf4..ad58b9a4a 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/App.kt @@ -2,14 +2,13 @@ package io.github.jan.supabase.common import androidx.compose.ui.window.ComposeUIViewController import org.koin.core.component.KoinComponent -import org.koin.core.component.get import org.koin.core.component.inject import platform.UIKit.UIViewController -object RootIosHelper : KoinComponent { - fun getViewModel() = getKoin().get() - +class RootComponent : KoinComponent { + private val viewModel: ChatViewModel by inject() + fun getViewModel(): ChatViewModel = viewModel } fun AppIos(viewModel: ChatViewModel): UIViewController = ComposeUIViewController { diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt index 1425c517f..41143d507 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -1,9 +1,10 @@ package io.github.jan.supabase.common import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers actual open class MPViewModel actual constructor() { - actual val coroutineScope: CoroutineScope - get() = TODO("Not yet implemented") + + actual val coroutineScope = CoroutineScope(Dispatchers.Default) } \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt deleted file mode 100644 index 5ce39fa3a..000000000 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ /dev/null @@ -1,9 +0,0 @@ -package io.github.jan.supabase.common - -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers - -actual open class MPViewModel actual constructor() { - actual val coroutineScope = CoroutineScope(Dispatchers.Default) - -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt deleted file mode 100644 index e7a28075d..000000000 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ /dev/null @@ -1,6 +0,0 @@ -package io.github.jan.supabase.common.di - -import io.github.jan.supabase.gotrue.GoTrueConfig - -actual fun GoTrueConfig.platformGoTrueConfig() { -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt deleted file mode 100644 index d49caff38..000000000 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/di/viewModel.kt +++ /dev/null @@ -1,7 +0,0 @@ -package io.github.jan.supabase.common.di - -import org.koin.core.module.Module - -actual fun Module.viewModel() { - single { createViewModule() } -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt b/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt deleted file mode 100644 index b137eefac..000000000 --- a/demos/chat-demo-mpp/common/src/iosMain/kotlin/io/github/jan/supabase/common/ui/components/AlertDialog.kt +++ /dev/null @@ -1,7 +0,0 @@ -package io.github.jan.supabase.common.ui.components - -import androidx.compose.runtime.Composable - -@Composable -actual fun AlertDialog(text: String, close: () -> Unit) { -} \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt index 9e773b9f3..6c10c21e5 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/App.kt @@ -1,14 +1,13 @@ package io.github.jan.supabase.common import androidx.compose.ui.window.ComposeUIViewController -import io.github.jan.supabase.common.di.initKoin import org.koin.core.component.KoinComponent import org.koin.core.component.inject import platform.UIKit.UIViewController -object RootIosHelper : KoinComponent { - fun getViewModel() = getKoin().get() - +class RootComponent : KoinComponent { + private val viewModel: ChatViewModel by inject() + fun getViewModel(): ChatViewModel = viewModel } fun AppIos(viewModel: ChatViewModel): UIViewController = ComposeUIViewController { diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt index 1425c517f..d4a8f35d6 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/MPViewModel.kt @@ -1,9 +1,8 @@ package io.github.jan.supabase.common import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers actual open class MPViewModel actual constructor() { - actual val coroutineScope: CoroutineScope - get() = TODO("Not yet implemented") - + actual val coroutineScope = CoroutineScope(Dispatchers.Default) } \ No newline at end of file diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ChatViewModel.swift b/demos/chat-demo-mpp/ios/chatdemoios/ChatViewModel.swift deleted file mode 100644 index 3df7e1457..000000000 --- a/demos/chat-demo-mpp/ios/chatdemoios/ChatViewModel.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ChatViewModel.swift -// chatdemoios -// -// Created by Hieu Vu on 26/12/2023. -// - -import Foundation -import common - - -public class SampleObservableObject: ObservableObject { - var viewModel: ChatViewModel - - init(wrapper: ChatViewModel) { - viewModel = wrapper - } -} - -public extension ChatViewModel { - func asObservableObject() -> SampleObservableObject { - return SampleObservableObject(wrapper: self) - } -} diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift index bc4b83772..56071419e 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift @@ -8,29 +8,13 @@ import SwiftUI import common -struct ContentView: View { - - var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundStyle(.tint) - Text("Hello, world!") - } - .padding() - } -} -struct MyScreenToSwiftUI: UIViewControllerRepresentable { - +struct ContentView: UIViewControllerRepresentable { + let viewModel = RootComponent().getViewModel() func makeUIViewController(context: Context) -> UIViewController { - return AppKt.AppIos(viewModel: RootComponent().viewModel) + return AppKt.AppIos(viewModel: viewModel) } func updateUIViewController(_ uiViewController: UIViewController, context: Context) { } } - -#Preview { - ContentView() -} From ac059842c6b3753505651c9612a8d839b0cd06fd Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 11:19:25 +0700 Subject: [PATCH 07/11] Fix failed build --- demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift index a3c45ff22..51dcd559e 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift @@ -18,7 +18,7 @@ struct chatdemoiosApp: App { var body: some Scene { WindowGroup { - MyScreenToSwiftUI() + ContentView() } } } From bda83c422b757682b93b22d9dcbfe769052e4279 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 11:33:15 +0700 Subject: [PATCH 08/11] Update code for view model --- demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift index 56071419e..76997e52d 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift @@ -10,7 +10,9 @@ import common struct ContentView: UIViewControllerRepresentable { - let viewModel = RootComponent().getViewModel() + + let viewModel: ChatViewModel = RootComponent().getViewModel() + func makeUIViewController(context: Context) -> UIViewController { return AppKt.AppIos(viewModel: viewModel) } From 6a7332ce250066d08a742261aaaf510185e5633a Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 15:06:03 +0700 Subject: [PATCH 09/11] Add ktor ios and upgrade koin --- demos/chat-demo-mpp/common/build.gradle.kts | 6 ++++++ .../github/jan/supabase/common/di/platformGoTrueConfig.kt | 2 ++ .../github/jan/supabase/common/di/platformGoTrueConfig.kt | 2 ++ demos/chat-demo-mpp/gradle/libs.versions.toml | 3 ++- demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift | 4 +++- demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift | 1 - 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/demos/chat-demo-mpp/common/build.gradle.kts b/demos/chat-demo-mpp/common/build.gradle.kts index cc08e2973..a52cbd537 100644 --- a/demos/chat-demo-mpp/common/build.gradle.kts +++ b/demos/chat-demo-mpp/common/build.gradle.kts @@ -67,9 +67,15 @@ kotlin { } val iosArm64Main by getting { dependsOn(commonMain) + dependencies { + api(libs.ktor.ios) + } } val iosSimulatorArm64Main by getting { dependsOn(commonMain) + dependencies { + api(libs.ktor.ios) + } } } } diff --git a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt index e7a28075d..e7f95a376 100644 --- a/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ b/demos/chat-demo-mpp/common/src/iosArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -3,4 +3,6 @@ package io.github.jan.supabase.common.di import io.github.jan.supabase.gotrue.GoTrueConfig actual fun GoTrueConfig.platformGoTrueConfig() { + scheme = "io.jan.supabase" + host = "login" } \ No newline at end of file diff --git a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt index e7a28075d..e7f95a376 100644 --- a/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt +++ b/demos/chat-demo-mpp/common/src/iosSimulatorArm64Main/kotlin/io/github/jan/supabase/common/di/platformGoTrueConfig.kt @@ -3,4 +3,6 @@ package io.github.jan.supabase.common.di import io.github.jan.supabase.gotrue.GoTrueConfig actual fun GoTrueConfig.platformGoTrueConfig() { + scheme = "io.jan.supabase" + host = "login" } \ No newline at end of file diff --git a/demos/chat-demo-mpp/gradle/libs.versions.toml b/demos/chat-demo-mpp/gradle/libs.versions.toml index f68e45822..356895276 100644 --- a/demos/chat-demo-mpp/gradle/libs.versions.toml +++ b/demos/chat-demo-mpp/gradle/libs.versions.toml @@ -3,7 +3,7 @@ kotlin = "1.9.10" agp = "8.0.2" compose = "1.5.3" supabase = "1.1.0" -koin = "3.4.1" +koin = "3.4.3" ktor = "2.3.7" androidx-core = "1.10.1" @@ -39,6 +39,7 @@ androidx-activity-compose = { module = "androidx.activity:activity-compose", ver ktor-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } ktor-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" } +ktor-ios = { module = "io.ktor:ktor-client-ios", version.ref = "ktor" } [bundles] supabase = [ "supabase-gotrue", "supabase-realtime", "supabase-postgrest" ] diff --git a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift index 56071419e..76997e52d 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/ContentView.swift @@ -10,7 +10,9 @@ import common struct ContentView: UIViewControllerRepresentable { - let viewModel = RootComponent().getViewModel() + + let viewModel: ChatViewModel = RootComponent().getViewModel() + func makeUIViewController(context: Context) -> UIViewController { return AppKt.AppIos(viewModel: viewModel) } diff --git a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift index 51dcd559e..533902841 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift +++ b/demos/chat-demo-mpp/ios/chatdemoios/chatdemoiosApp.swift @@ -8,7 +8,6 @@ import SwiftUI import common - @main struct chatdemoiosApp: App { From 042ecbf86975222fa01944a43c9c0efc7270d100 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 15:23:56 +0700 Subject: [PATCH 10/11] Simplify include project code --- demos/chat-demo-mpp/settings.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/demos/chat-demo-mpp/settings.gradle.kts b/demos/chat-demo-mpp/settings.gradle.kts index bd87977f4..f75cc3104 100644 --- a/demos/chat-demo-mpp/settings.gradle.kts +++ b/demos/chat-demo-mpp/settings.gradle.kts @@ -10,5 +10,4 @@ pluginManagement { rootProject.name = "chat-demo" -include(":android", ":desktop", ":web", ":common") -include(":ios") +include(":android", ":desktop", ":web", ":common", ":ios") \ No newline at end of file From d4174f3b8275dbd6a5f38d8b1608c3f1c051a9f6 Mon Sep 17 00:00:00 2001 From: Hieu Vu Date: Wed, 27 Dec 2023 22:03:24 +0700 Subject: [PATCH 11/11] Upgrade lib versions --- demos/chat-demo-mpp/gradle/libs.versions.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/demos/chat-demo-mpp/gradle/libs.versions.toml b/demos/chat-demo-mpp/gradle/libs.versions.toml index 356895276..5e52c91eb 100644 --- a/demos/chat-demo-mpp/gradle/libs.versions.toml +++ b/demos/chat-demo-mpp/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -kotlin = "1.9.10" +kotlin = "1.9.21" agp = "8.0.2" -compose = "1.5.3" +compose = "1.5.11" supabase = "1.1.0" koin = "3.4.3" ktor = "2.3.7" @@ -10,7 +10,6 @@ androidx-core = "1.10.1" androidx-compat = "1.6.1" androidx-lifecycle = "2.6.1" androidx-activity = "1.7.2" -org-jetbrains-kotlin-jvm = "1.9.10" [plugins] kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } @@ -21,7 +20,7 @@ android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } compose = { id = "org.jetbrains.compose", version.ref = "compose" } -org-jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "org-jetbrains-kotlin-jvm" } +org-jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } [libraries] supabase-gotrue = { module = "io.github.jan-tennert.supabase:gotrue-kt", version.ref = "supabase" }

$huXE=*Gha8G zxh%$=8}zopeH+}f!TB4Uzrpz%{JF5fY&Klv3io-$pFHI`dfcGLje#uGpf7sbsF#hO zVV5?_dZV4)c!JY7d!r0D-r^2-k>AG0{Dm_&>1|U?%wT r-KGjurW*ERliW8or8zBW6aK&di527j{`H*(|M#!||No9`I{5zppDgwo delta 18065 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 Q{MC+zx%f#+Btw4se=V~4#Q*>R diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme index 35707b76c..52ba21fc7 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/xcshareddata/xcschemes/chatdemoios.xcscheme @@ -12,13 +12,6 @@ buildForProfiling = "YES" buildForArchiving = "YES" buildForAnalyzing = "YES"> - - - - diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata index fbc71311c..dc777fe79 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/contents.xcworkspacedata @@ -4,7 +4,4 @@ - - diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate index 3ad1d9defb5dd47eb257d8b6b95795f5d3877cd0..26cd877753a5f7be879d697062e8e711a29c2fe6 100644 GIT binary patch literal 140997 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 P{lEYH|Nm!XPuu?o5o}I% literal 92333 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 Date: Mon, 25 Dec 2023 14:35:15 +0700 Subject: [PATCH 04/11] Update generated files and remove broken code --- .../ios/chatdemoios.xcodeproj/project.pbxproj | 26 ++++++++++++++++-- .../UserInterfaceState.xcuserstate | Bin 140997 -> 101733 bytes .../ios/chatdemoios/chatdemoiosApp.swift | 2 +- demos/chat-demo-mpp/web/build.gradle.kts | 1 - 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj index 0f8435bad..d71dd22f6 100644 --- a/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj +++ b/demos/chat-demo-mpp/ios/chatdemoios.xcodeproj/project.pbxproj @@ -76,6 +76,7 @@ isa = PBXNativeTarget; buildConfigurationList = 6581F15D2B36C0D000BA34A9 /* Build configuration list for PBXNativeTarget "chatdemoios" */; buildPhases = ( + 656500D42B3962F0005F97B4 /* ShellScript */, 6581F14A2B36C0CF00BA34A9 /* Sources */, 6581F14B2B36C0CF00BA34A9 /* Frameworks */, 6581F14C2B36C0CF00BA34A9 /* Resources */, @@ -134,6 +135,26 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 656500D42B3962F0005F97B4 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cd \"$SRCROOT/..\"\n./gradlew :common:embedAndSignAppleFrameworkForXcode\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 6581F14A2B36C0CF00BA34A9 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -276,8 +297,7 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/build/bin/iosArm64/debugFramework/common.framework"; - "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; @@ -318,7 +338,7 @@ DEVELOPMENT_ASSET_PATHS = "\"chatdemoios/Preview Content\""; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - FRAMEWORK_SEARCH_PATHS = "/Users/hieuvu/Projects/supabase-kt/demos/chat-demo-mpp/common/build/bin/iosArm64/debugFramework/common.framework"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../common/build/$(CONFIGURATION)/$(SDK_NAME)"; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ""; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; diff --git a/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate b/demos/chat-demo-mpp/ios/chatdemoios.xcworkspace/xcuserdata/hieuvu.xcuserdatad/UserInterfaceState.xcuserstate index 26cd877753a5f7be879d697062e8e711a29c2fe6..c0b0a13958b86ebb32e92f0204c3fa874249a92b 100644 GIT binary patch literal 101733 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