Update kotlin to 1.7.20

main
Cody Henthorne 2022-12-07 15:23:48 -05:00 zatwierdzone przez Alex Hart
rodzic 66ece479f6
commit 56f6888d49
12 zmienionych plików z 215 dodań i 36 usunięć

Wyświetl plik

@ -381,7 +381,6 @@ class MultiselectForwardFragment :
}
if (view != null && contactSet.any { it is ContactSearchKey.RecipientSearchKey && it.isStory }) {
@Suppress("NON_EXHAUSTIVE_WHEN_STATEMENT")
when (storySendRequirements) {
Stories.MediaTransform.SendRequirements.REQUIRES_CLIP -> {
displayTooltip(view, R.string.MultiselectForwardFragment__videos_will_be_trimmed)
@ -389,6 +388,7 @@ class MultiselectForwardFragment :
Stories.MediaTransform.SendRequirements.CAN_NOT_SEND -> {
displayTooltip(view, R.string.MultiselectForwardFragment__videos_sent_to_stories_cant)
}
Stories.MediaTransform.SendRequirements.VALID_DURATION -> Unit
}
}

Wyświetl plik

@ -8,7 +8,7 @@ import java.util.function.Consumer
class EmojiKeyboardPageCategoriesAdapter(private val onPageSelected: Consumer<String>) : MappingAdapter() {
init {
registerFactory(EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
}
}

Wyświetl plik

@ -2,42 +2,42 @@ package org.thoughtcrime.securesms.keyboard.emoji
import android.content.Context
import android.graphics.drawable.Drawable
import androidx.annotation.AttrRes
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.emoji.EmojiCategory
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
import org.thoughtcrime.securesms.util.ThemeUtil
sealed class EmojiKeyboardPageCategoryMappingModel(
override val key: String,
@AttrRes val iconId: Int,
override val selected: Boolean
) : KeyboardPageCategoryIconMappingModel<EmojiKeyboardPageCategoryMappingModel> {
class RecentsMappingModel(override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<RecentsMappingModel> {
override val key: String = RecentEmojiPageModel.KEY
override fun getIcon(context: Context): Drawable {
return requireNotNull(ThemeUtil.getThemedDrawable(context, iconId))
return requireNotNull(ThemeUtil.getThemedDrawable(context, R.attr.emoji_category_recent))
}
override fun areItemsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
override fun areItemsTheSame(newItem: RecentsMappingModel): Boolean {
return newItem.key == key
}
class RecentsMappingModel(selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(RecentEmojiPageModel.KEY, R.attr.emoji_category_recent, selected) {
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
return newItem is RecentsMappingModel && super.areContentsTheSame(newItem)
}
}
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(emojiCategory.key, emojiCategory.icon, selected) {
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
return newItem is EmojiCategoryMappingModel &&
super.areContentsTheSame(newItem) &&
newItem.emojiCategory == emojiCategory
}
}
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
override fun areContentsTheSame(newItem: RecentsMappingModel): Boolean {
return areItemsTheSame(newItem) && selected == newItem.selected
}
}
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<EmojiCategoryMappingModel> {
override val key: String = emojiCategory.key
override fun getIcon(context: Context): Drawable {
return requireNotNull(ThemeUtil.getThemedDrawable(context, emojiCategory.icon))
}
override fun areItemsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
return newItem.key == key
}
override fun areContentsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
return areItemsTheSame(newItem) &&
selected == newItem.selected &&
newItem.emojiCategory == emojiCategory
}
}

Wyświetl plik

@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.components.emoji.EmojiEventListener
import org.thoughtcrime.securesms.components.emoji.EmojiPageView
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.EmojiHeader
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
import org.thoughtcrime.securesms.keyboard.KeyboardPageSelected
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.ThemedFragment.themedInflate
@ -107,7 +108,7 @@ class EmojiKeyboardPageFragment : Fragment(), EmojiEventListener, EmojiPageViewG
private fun updateCategoryTab(key: String) {
emojiCategoriesRecycler.post {
val index: Int = categoriesAdapter.indexOfFirst(EmojiKeyboardPageCategoryMappingModel::class.java) { it.key == key }
val index: Int = categoriesAdapter.indexOfFirst(KeyboardPageCategoryIconMappingModel::class.java) { it.key == key }
if (index != -1) {
emojiCategoriesRecycler.smoothScrollToPosition(index)

Wyświetl plik

@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.Emoj
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.emoji.EmojiCategory
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel
import org.thoughtcrime.securesms.util.DefaultValueLiveData
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList
@ -49,7 +48,7 @@ class EmojiKeyboardPageViewModel(private val repository: EmojiKeyboardPageReposi
val list = MappingModelList()
list += models.map { m ->
if (RecentEmojiPageModel.KEY == m.key) {
EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel(m.key == selectedKey)
RecentsMappingModel(m.key == selectedKey)
} else {
val category = EmojiCategory.forKey(m.key)
EmojiCategoryMappingModel(category, category.key == selectedKey)

Wyświetl plik

@ -31,8 +31,8 @@ import org.thoughtcrime.securesms.components.emoji.EmojiEventListener;
import org.thoughtcrime.securesms.components.emoji.EmojiPageView;
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel;
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoriesAdapter;
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel;
import org.thoughtcrime.securesms.keyboard.emoji.KeyboardPageSearchView;
import org.thoughtcrime.securesms.reactions.edit.EditReactionsActivity;
import org.thoughtcrime.securesms.util.LifecycleDisposable;
@ -198,7 +198,7 @@ public final class ReactWithAnyEmojiBottomSheetDialogFragment extends FixedRound
disposables.add(viewModel.getEmojiList().subscribe(pages -> emojiPageView.setList(pages, null)));
disposables.add(viewModel.getCategories().subscribe(categoriesAdapter::submitList));
disposables.add(viewModel.getSelectedKey().subscribe(key -> categoriesRecycler.post(() -> {
int index = categoriesAdapter.indexOfFirst(EmojiKeyboardPageCategoryMappingModel.class, m -> m.getKey().equals(key));
int index = categoriesAdapter.indexOfFirst(KeyboardPageCategoryIconMappingModel.class, m -> m.getKey().equals(key));
if (index != -1) {
categoriesRecycler.smoothScrollToPosition(index);

Wyświetl plik

@ -13,7 +13,8 @@ import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel;
import org.thoughtcrime.securesms.database.model.MessageId;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.emoji.EmojiCategory;
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel;
import org.thoughtcrime.securesms.keyboard.emoji.EmojiCategoryMappingModel;
import org.thoughtcrime.securesms.keyboard.emoji.RecentsMappingModel;
import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchRepository;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.reactions.ReactionsRepository;
@ -72,12 +73,12 @@ public final class ReactWithAnyEmojiViewModel extends ViewModel {
this.categories = Observable.combineLatest(emojiPages, this.selectedKey.distinctUntilChanged(), (pages, selectedKey) -> {
MappingModelList list = new MappingModelList();
list.add(new EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel(RecentEmojiPageModel.KEY.equals(selectedKey)));
list.add(new RecentsMappingModel(RecentEmojiPageModel.KEY.equals(selectedKey)));
list.addAll(pages.stream()
.filter(p -> !RecentEmojiPageModel.KEY.equals(p.getKey()))
.map(p -> {
EmojiCategory category = EmojiCategory.forKey(p.getKey());
return new EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel(category, category.getKey().equals(selectedKey));
return new EmojiCategoryMappingModel(category, category.getKey().equals(selectedKey));
})
.collect(Collectors.toList()));
return list;

Wyświetl plik

@ -102,6 +102,7 @@ class StoryViewerFragment :
when (state.crossfadeSource) {
is StoryViewerState.CrossfadeSource.TextModel -> storyCrossfader.setSourceView(state.crossfadeSource.storyTextPostModel)
is StoryViewerState.CrossfadeSource.ImageUri -> storyCrossfader.setSourceView(state.crossfadeSource.imageUri, state.crossfadeSource.imageBlur)
StoryViewerState.CrossfadeSource.None -> Unit
}
if (state.crossfadeTarget is StoryViewerState.CrossfadeTarget.Record) {

Wyświetl plik

@ -469,6 +469,8 @@ class StoryViewerPageFragment :
is StoryViewerDialog.GroupDirectReply -> {
onStartDirectReply(sheet.storyId, sheet.recipientId)
}
StoryViewerDialog.Delete,
StoryViewerDialog.Forward -> Unit
}
}
}

Wyświetl plik

@ -112,7 +112,7 @@ public class MappingAdapter extends ListAdapter<MappingModel<?>, MappingViewHold
holder.bind(getItem(position));
}
public <T extends MappingModel<T>> int indexOfFirst(@NonNull Class<T> clazz, @NonNull Function1<T, Boolean> predicate) {
public <T> int indexOfFirst(@NonNull Class<T> clazz, @NonNull Function1<T, Boolean> predicate) {
return CollectionsKt.indexOfFirst(getCurrentList(), m -> {
//noinspection unchecked
return clazz.isAssignableFrom(m.getClass()) && predicate.invoke((T) m);

Wyświetl plik

@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.6.21'
ext.kotlin_version = '1.7.20'
repositories {
google()
mavenCentral()

Wyświetl plik

@ -3389,21 +3389,41 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="418db930efe17afb36ec09e8a06235eb5e4f600b2b5ca14878422c9f99446cfb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-android-extensions" version="1.7.20">
<artifact name="kotlin-android-extensions-1.7.20.jar">
<sha256 value="3551f0a8387356dcd1869db71afebd87077982d62f22735fe2d3b80c70a5d15c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-android-extensions-runtime" version="1.6.21">
<artifact name="kotlin-android-extensions-runtime-1.6.21.jar">
<sha256 value="c09a4ea036c2269fb41934c809ee3db39de2f9bcca081297ab8ba2be79c9d27f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-android-extensions-runtime" version="1.7.20">
<artifact name="kotlin-android-extensions-runtime-1.7.20.jar">
<sha256 value="dc236f881dbe6c91e720f8b54df54427a0daf9a95ae6cf9a5c649a644afb234f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-annotation-processing-gradle" version="1.6.21">
<artifact name="kotlin-annotation-processing-gradle-1.6.21.jar">
<sha256 value="b40f3a8121559e50239c55ef87667a2180511bb19341fcc861987e4f84ce6288" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-annotation-processing-gradle" version="1.7.20">
<artifact name="kotlin-annotation-processing-gradle-1.7.20.jar">
<sha256 value="9579df2eb4d5a3f045a8b65eadf7198c08af3243a3c92a4736bc3cd0b92e7b6b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-build-common" version="1.6.21">
<artifact name="kotlin-build-common-1.6.21.jar">
<sha256 value="63eea405d35e34e82025c2f4156e3d4757cb8f259499623356ca666bd210019d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-build-common" version="1.7.20">
<artifact name="kotlin-build-common-1.7.20.jar">
<sha256 value="95d2fbfd7e987ed607fdc9e6d09d4d87a9782a71dceb91c3200ef4f113f2fb04" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.5.31">
<artifact name="kotlin-compiler-embeddable-1.5.31.jar">
<sha256 value="e39811a9e4c102e779c659eefe90b041c66ce87578c1bfdac07cf504d1551745" origin="Generated by Gradle"/>
@ -3414,16 +3434,31 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="5f96503cd822aa6c20eda6c716a553c414d800ed0c6e7d655fa1b1fbfd4fec2b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.7.20">
<artifact name="kotlin-compiler-embeddable-1.7.20.jar">
<sha256 value="5ec2be1872dc47b9dcb466f1781eded6c59d9eee18657d4b0f1148e619caea36" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.6.21">
<artifact name="kotlin-compiler-runner-1.6.21.jar">
<sha256 value="2061b0e3b7b7530bf6720d8b0410be1326fb16cd4dadc37e77c02acfefe5a0b3" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.7.20">
<artifact name="kotlin-compiler-runner-1.7.20.jar">
<sha256 value="e1331fab199208d115f157cb06d14a568c30dcaedfb3f7bdeeda16d1861b0f67" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.6.21">
<artifact name="kotlin-daemon-client-1.6.21.jar">
<sha256 value="6476b007364f545ce677a39b9331bc21b56abd7b566f039f51f21508a3902fa7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.7.20">
<artifact name="kotlin-daemon-client-1.7.20.jar">
<sha256 value="c9ba3a944b00ae636634ec346239371c9a049727d9a02a8e2125cd231430b878" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.5.31">
<artifact name="kotlin-daemon-embeddable-1.5.31.jar">
<sha256 value="f61eaf89e5e3848631650b25cdfb66fe8cae0281a054d9d986716000a15ba8d6" origin="Generated by Gradle"/>
@ -3434,51 +3469,126 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="51c3ec1c32c36d6570d83142eafe2a242934f165f0b78c3861376905f90f2e12" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.7.20">
<artifact name="kotlin-daemon-embeddable-1.7.20.jar">
<sha256 value="e669ab8d2677d00f799fc86018551fbd9bd6b3c1d09fdb3f0eec8c4f44f62e63" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin" version="1.6.21">
<artifact name="kotlin-gradle-plugin-1.6.21.jar">
<sha256 value="6753a2e1126d3f993a951af2adc06b1ec4ca27176e96c8f632777990104d15ad" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin" version="1.7.20">
<artifact name="kotlin-gradle-plugin-1.7.20-gradle71.jar">
<sha256 value="cc4a90e893b4a3ccff108411c26d8e1b60b9993c811b376e922d4ba9a7e2a13e" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlin-gradle-plugin-1.7.20.module">
<sha256 value="43942e46e63dfe87a31728411d20639d2888454632a33970b3c0e70005310b50" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-api" version="1.6.21">
<artifact name="kotlin-gradle-plugin-api-1.6.21.jar">
<sha256 value="c74c1f17916cac6d72806264988d15e3219af246090791374eae9cb9af2e7cb3" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-api" version="1.7.20">
<artifact name="kotlin-gradle-plugin-api-1.7.20-gradle71.jar">
<sha256 value="489c48c8fad1ff6e20b4cb01d4fd7d48408e1a4930479ed7f95217e59dac0571" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlin-gradle-plugin-api-1.7.20.jar">
<sha256 value="489c48c8fad1ff6e20b4cb01d4fd7d48408e1a4930479ed7f95217e59dac0571" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlin-gradle-plugin-api-1.7.20.module">
<sha256 value="1de4b4b0be21bde6a20df99626a462448306604b5110f8c6e0ddce902827fbd1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea" version="1.7.20">
<artifact name="kotlin-gradle-plugin-idea-1.7.20.jar">
<sha256 value="d11bb085408a0b9c6ec1265ebc069fb771c494f0904fb641fcf02354bcd56b1d" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlin-gradle-plugin-idea-1.7.20.module">
<sha256 value="78303498eaee46e115a0916a2fdc92862849f51987c93f33b94d87091a701a3c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-idea-proto" version="1.7.20">
<artifact name="kotlin-gradle-plugin-idea-proto-1.7.20.jar">
<sha256 value="00081214394ac3a6de47dfb8dde0b299be233c16a2d1e67601959bb037fa8af0" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-model" version="1.6.21">
<artifact name="kotlin-gradle-plugin-model-1.6.21.jar">
<sha256 value="6059b1c61308fb859a01e758b2b8fd0adaff741b3df80235fade95ad6ab89687" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-gradle-plugin-model" version="1.7.20">
<artifact name="kotlin-gradle-plugin-model-1.7.20.jar">
<sha256 value="d982f3e631631875dd340e0413e814ff31066d75172c91c4d4c9afabaeaaaf43" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlin-gradle-plugin-model-1.7.20.module">
<sha256 value="2201f4fe9f4a2a655c40c7f72994718006e465fd3736131da822728764433d42" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-api" version="1.6.21">
<artifact name="kotlin-klib-commonizer-api-1.6.21.jar">
<sha256 value="d2cf6952eef3894aacf8a9d8cf1e8c67bf215b4ef90268a8c9031834530a3874" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-api" version="1.7.20">
<artifact name="kotlin-klib-commonizer-api-1.7.20.jar">
<sha256 value="ed3e06676c608a828d516f19658b8a03bc31cf1dbbdd3c6095d29eb3da64cca8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-embeddable" version="1.6.21">
<artifact name="kotlin-klib-commonizer-embeddable-1.6.21.jar">
<sha256 value="d6381a7eaebb7e48fca76bf5bb9e5f43fa56dde6fd5105cae8de135e63280f70" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-klib-commonizer-embeddable" version="1.7.20">
<artifact name="kotlin-klib-commonizer-embeddable-1.7.20.jar">
<sha256 value="72ea64f27c95082a0838bb71b6d5f5d5b42319320c15e09568a4675f8a831141" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-native-utils" version="1.6.21">
<artifact name="kotlin-native-utils-1.6.21.jar">
<sha256 value="6bd87224e56ae15ffe2104d3c7633d72af6c7b358245ad3c4a76c6d5fd0d36bf" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-native-utils" version="1.7.20">
<artifact name="kotlin-native-utils-1.7.20.jar">
<sha256 value="8da7e56a0bf0eadd2b08846c2a276f4fae19b4f379d64d8eee4b4447bb54234d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-parcelize-compiler" version="1.6.21">
<artifact name="kotlin-parcelize-compiler-1.6.21.jar">
<sha256 value="6046f8e2d7a296adf2bee9039dadf9bbaca5d05b2faf2a8d5435b1dbd07dac40" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-parcelize-compiler" version="1.7.20">
<artifact name="kotlin-parcelize-compiler-1.7.20.jar">
<sha256 value="d13f98e935257b8608b93db874b4b2c7c5a0e7fe5d785f2061c1830ad17b3f0d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-parcelize-runtime" version="1.6.21">
<artifact name="kotlin-parcelize-runtime-1.6.21.jar">
<sha256 value="8f2ec2043089aa63bfa36346b24849e1f7fa58069cd4b73778bcde2fd12d1919" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-parcelize-runtime" version="1.7.20">
<artifact name="kotlin-parcelize-runtime-1.7.20.jar">
<sha256 value="da8d81fc588612d4b7282c35a209dbb3b974a3bc0fa5330a5db57b9583570ebd" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-project-model" version="1.6.21">
<artifact name="kotlin-project-model-1.6.21.jar">
<sha256 value="14b684f8a73e2296780124bf381dde013f582ea23367ace0184580a3849ae8d8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-project-model" version="1.7.20">
<artifact name="kotlin-project-model-1.7.20.jar">
<sha256 value="67a2665d697e9e9416a29a4b6083e355a287920f337694995fbe880a664c2bff" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.3.71">
<artifact name="kotlin-reflect-1.3.71.jar">
<sha256 value="59c57ab609494d2a30d6ea3737428a56918ff0b8031081ea73b8472fdec06e44" origin="Generated by Gradle"/>
@ -3504,6 +3614,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="187c5e5a588a6ed18c3a41b54df138a5944121bdb396be1c3fa4abee67397955" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-reflect" version="1.7.20">
<artifact name="kotlin-reflect-1.7.20.jar">
<sha256 value="afe70b6faf6c23f6fedcb0cf88b07cb1778139f4b744ae13b23eb8bbc4ee09f8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.5.31">
<artifact name="kotlin-script-runtime-1.5.31.jar">
<sha256 value="24e450fee7645ed3590981dddccf397c0d9ebb725815c94c4f555cc3db2f9f96" origin="Generated by Gradle"/>
@ -3514,26 +3629,51 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="606c34a7e6e8e439e9208765e7d75b1dbcf80f38353f3e29bb27456d7b371171" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.7.20">
<artifact name="kotlin-script-runtime-1.7.20.jar">
<sha256 value="696f56daac19b75a20fdffa899f0a40750ba7cdf910dd198af7f05692d31e015" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-common" version="1.6.21">
<artifact name="kotlin-scripting-common-1.6.21.jar">
<sha256 value="bfbf5f036237cd33c25fba33d48948d995db8186ce3f09c31af9c29c80ce9cae" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-common" version="1.7.20">
<artifact name="kotlin-scripting-common-1.7.20.jar">
<sha256 value="33850570129d7f6cb5a2f2bc20d3d02263e3d963486a37891383d8ae7486debc" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-embeddable" version="1.6.21">
<artifact name="kotlin-scripting-compiler-embeddable-1.6.21.jar">
<sha256 value="5c9373af3ae40b73d6d7624b24e8ce117214495d862de6d2cfb618a7119106b1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-embeddable" version="1.7.20">
<artifact name="kotlin-scripting-compiler-embeddable-1.7.20.jar">
<sha256 value="1a7533623d1cc10a3a209d7f01c58b4cf65b510ddf88e64f85c2180e7dac4293" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-impl-embeddable" version="1.6.21">
<artifact name="kotlin-scripting-compiler-impl-embeddable-1.6.21.jar">
<sha256 value="e4044b8de01e84633923706f43cda80d37d8bbef8ce9a866f9d95962ddd20480" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-compiler-impl-embeddable" version="1.7.20">
<artifact name="kotlin-scripting-compiler-impl-embeddable-1.7.20.jar">
<sha256 value="3e117702b33e61f3c2351243c750a9739164d85e8976e36a255e01afc9787184" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-jvm" version="1.6.21">
<artifact name="kotlin-scripting-jvm-1.6.21.jar">
<sha256 value="92c03feabf4bdd92d5a22c51a748bd34027467c3d8f4c65fb5b574b86b07d104" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-scripting-jvm" version="1.7.20">
<artifact name="kotlin-scripting-jvm-1.7.20.jar">
<sha256 value="f941e4c94f73146a3e5a8996bc3841daa873890561de003545fec1616b031f97" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.2.60">
<artifact name="kotlin-stdlib-1.2.60.jar">
<sha256 value="6a130298f5171ac52a1e2496f7eae785b6f56416ea3ccb99e4344d04d83ff071" origin="Generated by Gradle"/>
@ -3574,6 +3714,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="e771fe74250a943e8f6346713201ff1d8cb95c3a5d1a91a22b65a9e04f6a8901" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.7.20">
<artifact name="kotlin-stdlib-1.7.20.jar">
<sha256 value="7779ec96b9acbf92ca023858ac04543f9d2c3bdf1722425fff42f25ff3acfc9b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.2.60">
<artifact name="kotlin-stdlib-common-1.2.60.jar">
<sha256 value="09b4375a065cf127abc998c5dcf22b1664c45af42b489499d7a8f4f8ab793fb1" origin="Generated by Gradle"/>
@ -3619,6 +3764,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="19f102efe9629f8eabc63853ad15c533e47c47f91fca09285c5bde86e59f91d4" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.7.20">
<artifact name="kotlin-stdlib-common-1.7.20.jar">
<sha256 value="e0e91962bc0007338bf5b1739f62927ac32d14ba3d827fa608ab4e5351729d5d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.3.71">
<artifact name="kotlin-stdlib-jdk7-1.3.71.jar">
<sha256 value="b046a5ef54c7006db852e48e547aaff525a9e7a0a5909ffe5fe2c966c1a3a72e" origin="Generated by Gradle"/>
@ -3654,6 +3804,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="54f61351b1936ad88f4e53059fe781e723eae51d78ed9e7422d8b403574ec682" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.7.20">
<artifact name="kotlin-stdlib-jdk7-1.7.20.jar">
<sha256 value="524da3c1a2ad56fd52c4ae2272ef3de421de8d2047ab1c51fc306d351243f2f5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.3.71">
<artifact name="kotlin-stdlib-jdk8-1.3.71.jar">
<sha256 value="a22192ac779ba8eff09d07084ae503e8be9e7c8ca1cb2b511ff8af4c68d83d66" origin="Generated by Gradle"/>
@ -3689,6 +3844,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="8aafdd60c94f454c92e5066d266a5ed53ecc63c78f623b3fd9db56fea4032873" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.7.20">
<artifact name="kotlin-stdlib-jdk8-1.7.20.jar">
<sha256 value="1da0d306c995945e1f807240ef64b5cd2dd5ac58612afb1a8596143d10b7ded5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-test" version="1.3.71">
<artifact name="kotlin-test-1.3.71.jar">
<sha256 value="d9236ecd3c5b22c23e2892537276f3c1fab63f439b5bdceb115a8768aacb3998" origin="Generated by Gradle"/>
@ -3699,6 +3859,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="b41224633b97ad9a55bb6fe881fe14a1f5476c886c77df996b4c3b6883ca6941" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-tooling-core" version="1.7.20">
<artifact name="kotlin-tooling-core-1.7.20.jar">
<sha256 value="3797f1835342fbc12ec9c1d4f98332ba028291a33251a907c9227d8fd94aee48" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-tooling-metadata" version="1.6.21">
<artifact name="kotlin-tooling-metadata-1.6.21.jar">
<sha256 value="4ec93d0516066b0b648ba987c6d3d65f6fb067dc0bbba95c1ece61e0428488e5" origin="Generated by Gradle"/>
@ -3709,11 +3874,21 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="c02c5470563218b703be1e716e2d0cea5787d35cbeb6bc946df00c00cd42acd2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-util-io" version="1.7.20">
<artifact name="kotlin-util-io-1.7.20.jar">
<sha256 value="aede08b11a141706f6a75d64dad2d704637d8f4435eac11b212c7b546c600c62" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-util-klib" version="1.6.21">
<artifact name="kotlin-util-klib-1.6.21.jar">
<sha256 value="ee218a9e8180c1b348c1ac1cf8ad718f6aac78ba7e26b5081323484f643c61b2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlin" name="kotlin-util-klib" version="1.7.20">
<artifact name="kotlin-util-klib-1.7.20.jar">
<sha256 value="8534ac8eb04876be0ef0ba1c2e31f76916869a4253ddbdfcff48cec979886030" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlinx" name="atomicfu" version="0.14.4">
<artifact name="atomicfu-0.14.4.module">
<sha256 value="b2233a82fb0764b0b616ae48b96eb3dc2f0b4968a85d5f826708a686b6aefd37" origin="Generated by Gradle"/>