diff --git a/.idea/navEditor.xml b/.idea/navEditor.xml index 5855067d6c..11226bbe99 100644 --- a/.idea/navEditor.xml +++ b/.idea/navEditor.xml @@ -830,6 +830,30 @@ + + + + + + + + + + + + + + @@ -1350,6 +1374,40 @@ + + + + + + + @@ -2039,6 +2097,279 @@ + + + + + + + diff --git a/Core b/Core index 7f44ff6bfd..db4e2a0bcb 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 7f44ff6bfd2fdc967c64e1e0cfed637ca8868e17 +Subproject commit db4e2a0bcbc07befef8d5093d858949abba8b8ed diff --git a/app/build.gradle b/app/build.gradle index 19ac45689a..ff7589631a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -129,11 +129,11 @@ sentry { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(':Core') implementation project(':Core:Legacy') implementation project(':Core:Legacy:AppLock') implementation project(':Core:Legacy:Stores') + implementation project(':Core:MyKSuite') implementation project(':Core:Thumbnails') def work_version = '2.9.1' // Keep the same version as the one in Core @@ -192,4 +192,7 @@ dependencies { androidTestRuntimeOnly "de.mannodermaus.junit5:android-test-runner:$junit_version" implementation 'io.coil-kt:coil-gif:2.7.0' + + // Compose + implementation 'androidx.compose.ui:ui-android:1.7.8' } diff --git a/app/src/main/java/com/infomaniak/drive/data/api/ApiRoutes.kt b/app/src/main/java/com/infomaniak/drive/data/api/ApiRoutes.kt index 6b3ced1244..5cae1b3448 100644 --- a/app/src/main/java/com/infomaniak/drive/data/api/ApiRoutes.kt +++ b/app/src/main/java/com/infomaniak/drive/data/api/ApiRoutes.kt @@ -75,7 +75,8 @@ object ApiRoutes { private const val driveInitWith = "with=drives,users,teams,teams.users,teams.users_count,drives.capabilities,drives.preferences," + "drives.pack,drives.pack.capabilities,drives.pack.limits,drive.limits,drives.settings,drives.k_suite,drives.tags," + - "drives.rights,drives.categories,drives.categories_permissions,drives.users,drives.teams,drives.rewind,drives.account" + "drives.rights,drives.categories,drives.categories_permissions,drives.users,drives.teams,drives.rewind,drives.account," + + "drives.quota" private const val noDefaultAvatar = "no_avatar_default=1" diff --git a/app/src/main/java/com/infomaniak/drive/data/models/ShareLink.kt b/app/src/main/java/com/infomaniak/drive/data/models/ShareLink.kt index 4f851d2de2..9c20fb3845 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/ShareLink.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/ShareLink.kt @@ -194,7 +194,7 @@ open class ShareLink( JsonParser.parseString(toJson(this@ShareLinkSettings)).asJsonObject.apply { if (password == null) remove(ShareLinkSettings::password.name) if (right == null) remove(ShareLinkSettings::right.name) - if (AccountUtils.getCurrentDrive()?.isFreePack == true) remove("valid_until") + if (AccountUtils.getCurrentDrive()?.isFreeTier == true) remove("valid_until") } } } diff --git a/app/src/main/java/com/infomaniak/drive/data/models/Shareable.kt b/app/src/main/java/com/infomaniak/drive/data/models/Shareable.kt index cbc189dce6..7e055ee483 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/Shareable.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/Shareable.kt @@ -78,7 +78,7 @@ interface Shareable : Parcelable { @SerializedName("delete") DELETE( - R.drawable.ic_delete, + R.drawable.ic_bin, R.string.buttonDelete, R.string.userPermissionRemove, "delete" diff --git a/app/src/main/java/com/infomaniak/drive/data/models/drive/Drive.kt b/app/src/main/java/com/infomaniak/drive/data/models/drive/Drive.kt index 6ac4fe4460..955ce2a62e 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/drive/Drive.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/drive/Drive.kt @@ -43,6 +43,8 @@ open class Drive( private var _role: String = "", @SerializedName("capabilities") private var _capabilities: DriveCapabilities? = DriveCapabilities(), + @SerializedName("quota") + private var _quotas: DriveQuotas? = DriveQuotas(), var sharedWithMe: Boolean = false, var userId: Int = 0, @SerializedName("categories_permissions") @@ -97,15 +99,25 @@ open class Drive( val rights: DriveRights get() = _rights ?: DriveRights() + val quotas: DriveQuotas + get() = _quotas ?: DriveQuotas() + val role: DriveUser.Role? get() = enumValueOfOrNull(_role) + // Old offer pack, now replaced by My kSuite inline val isFreePack get() = pack?.type == DrivePack.DrivePackType.FREE - + // Old offer pack, now replaced by My kSuite Plus inline val isSoloPack get() = pack?.type == DrivePack.DrivePackType.SOLO + inline val isMyKSuitePack get() = pack?.type == DrivePack.DrivePackType.MY_KSUITE + inline val isMyKSuitePlusPack get() = pack?.type == DrivePack.DrivePackType.MY_KSUITE_PLUS + inline val isFreeTier get() = isFreePack || isMyKSuitePack inline val isTechnicalMaintenance get() = maintenanceReason == MaintenanceReason.TECHNICAL.value + inline val canCreateDropbox get() = pack?.capabilities?.useDropbox == true && (!isFreeTier || quotas.canCreateDropbox) + inline val canCreateShareLink get() = !isFreeTier || quotas.canCreateShareLink + fun isUserAdmin(): Boolean = role == DriveUser.Role.ADMIN fun isDriveUser(): Boolean = role != DriveUser.Role.NONE && role != DriveUser.Role.EXTERNAL diff --git a/app/src/main/java/com/infomaniak/drive/data/models/drive/DrivePack.kt b/app/src/main/java/com/infomaniak/drive/data/models/drive/DrivePack.kt index 8b696007bb..8d245b0098 100644 --- a/app/src/main/java/com/infomaniak/drive/data/models/drive/DrivePack.kt +++ b/app/src/main/java/com/infomaniak/drive/data/models/drive/DrivePack.kt @@ -18,6 +18,7 @@ package com.infomaniak.drive.data.models.drive import com.google.gson.annotations.SerializedName +import com.infomaniak.lib.core.utils.Utils.enumValueOfOrNull import io.realm.RealmObject import io.realm.annotations.RealmClass @@ -32,26 +33,17 @@ open class DrivePack( val capabilities: DrivePackCapabilities get() = _capabilities ?: DrivePackCapabilities() - val type: DrivePackType? get() = drivePackTypeOf(id) + val type: DrivePackType? get() = enumValueOfOrNull(name.uppercase()) - private fun drivePackTypeOf(id: Int) = when (id) { - DrivePackType.SOLO.id -> DrivePackType.SOLO - DrivePackType.TEAM.id -> DrivePackType.TEAM - DrivePackType.PRO.id -> DrivePackType.PRO - DrivePackType.FREE.id -> DrivePackType.FREE - DrivePackType.KSUITE_STANDARD.id -> DrivePackType.KSUITE_STANDARD - DrivePackType.KSUITE_PRO.id -> DrivePackType.KSUITE_PRO - DrivePackType.KSUITE_ENTREPRISE.id -> DrivePackType.KSUITE_ENTREPRISE - else -> null - } - - enum class DrivePackType(val id: Int) { - SOLO(1), - TEAM(2), - PRO(3), - FREE(6), - KSUITE_STANDARD(8), - KSUITE_PRO(11), - KSUITE_ENTREPRISE(14), + enum class DrivePackType { + SOLO, + TEAM, + PRO, + FREE, + KSUITE_STANDARD, + KSUITE_PRO, + KSUITE_ENTREPRISE, + MY_KSUITE, + MY_KSUITE_PLUS, } } diff --git a/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuota.kt b/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuota.kt new file mode 100644 index 0000000000..c9dd300930 --- /dev/null +++ b/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuota.kt @@ -0,0 +1,27 @@ +/* + * Infomaniak kDrive - Android + * Copyright (C) 2025 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.drive.data.models.drive + +import io.realm.RealmObject +import io.realm.annotations.RealmClass + +@RealmClass(embedded = true) +open class DriveQuota( + var current: Int = -1, + var max: Int = -1, +) : RealmObject() diff --git a/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuotas.kt b/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuotas.kt new file mode 100644 index 0000000000..084e68a9d9 --- /dev/null +++ b/app/src/main/java/com/infomaniak/drive/data/models/drive/DriveQuotas.kt @@ -0,0 +1,33 @@ +/* + * Infomaniak kDrive - Android + * Copyright (C) 2025 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.drive.data.models.drive + +import com.google.gson.annotations.SerializedName +import io.realm.RealmObject +import io.realm.annotations.RealmClass + +@RealmClass(embedded = true) +open class DriveQuotas( + var dropbox: DriveQuota? = null, + @SerializedName("shared_link") + var sharedLink: DriveQuota? = null, +) : RealmObject() { + + inline val canCreateDropbox get() = dropbox?.let { it.current < it.max } ?: true + inline val canCreateShareLink get() = sharedLink?.let { it.current < it.max } ?: true +} diff --git a/app/src/main/java/com/infomaniak/drive/ui/addFiles/NewFolderFragment.kt b/app/src/main/java/com/infomaniak/drive/ui/addFiles/NewFolderFragment.kt index 089bcf5665..52b51ea56b 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/addFiles/NewFolderFragment.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/addFiles/NewFolderFragment.kt @@ -27,6 +27,8 @@ import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import androidx.navigation.navGraphViewModels +import com.infomaniak.core.myksuite.ui.screens.KSuiteApp +import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils.openMyKSuiteUpgradeBottomSheet import com.infomaniak.drive.R import com.infomaniak.drive.data.models.drive.Drive import com.infomaniak.drive.databinding.FragmentNewFolderBinding @@ -83,13 +85,16 @@ class NewFolderFragment : Fragment() { } private fun initDropBoxFolder(drive: Drive?) { + val canCreateDropbox = drive?.canCreateDropbox == true + binding.myKSuitePlusChip.isVisible = !canCreateDropbox binding.dropBox.apply { isVisible = drive?.sharedWithMe != true setOnClickListener { - safeNavigate( - if (drive?.pack?.capabilities?.useDropbox == true) R.id.createDropBoxFolderFragment - else R.id.dropBoxBottomSheetDialog - ) + if (canCreateDropbox) { + safeNavigate(R.id.createDropBoxFolderFragment) + } else { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) + } } } } diff --git a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/ColorFolderUpgradeBottomSheetDialog.kt b/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/ColorFolderUpgradeBottomSheetDialog.kt deleted file mode 100644 index 936dc81f2e..0000000000 --- a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/ColorFolderUpgradeBottomSheetDialog.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Infomaniak kDrive - Android - * Copyright (C) 2022-2024 Infomaniak Network SA - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.infomaniak.drive.ui.bottomSheetDialogs - -import android.os.Bundle -import android.view.View -import androidx.core.view.isVisible -import com.infomaniak.drive.R -import com.infomaniak.drive.data.api.ApiRoutes -import com.infomaniak.drive.utils.AccountUtils -import com.infomaniak.lib.core.utils.UtilsUi.openUrl - -class ColorFolderUpgradeBottomSheetDialog : InformationBottomSheetDialog() { - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { - super.onViewCreated(view, savedInstanceState) - - title.setText(R.string.folderColorTitle) - description.setText(R.string.folderColorDescription) - illu.setAnimation(R.raw.illu_upgrade) - - actionButton.apply { - setText(R.string.buttonUpgradeOffer) - setOnClickListener { - requireContext().openUrl(ApiRoutes.upgradeDrive(AccountUtils.currentDriveId)) - dismiss() - } - } - - packAvailability.isVisible = true - } -} diff --git a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/DropBoxBottomSheetDialog.kt b/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/DropBoxBottomSheetDialog.kt deleted file mode 100644 index af42ec8ec3..0000000000 --- a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/DropBoxBottomSheetDialog.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Infomaniak kDrive - Android - * Copyright (C) 2022-2024 Infomaniak Network SA - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.infomaniak.drive.ui.bottomSheetDialogs - -import android.os.Bundle -import android.view.View -import androidx.core.view.isVisible -import com.infomaniak.drive.R -import com.infomaniak.drive.data.api.ApiRoutes -import com.infomaniak.drive.utils.AccountUtils -import com.infomaniak.lib.core.utils.UtilsUi.openUrl - -class DropBoxBottomSheetDialog : InformationBottomSheetDialog() { - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { - super.onViewCreated(view, savedInstanceState) - - title.setText(R.string.dropBoxTitle) - description.setText(R.string.dropBoxDescription) - illu.setAnimation(R.raw.illu_drop_box) - - actionButton.apply { - setText(R.string.buttonUpgradeOffer) - setOnClickListener { - requireContext().openUrl(ApiRoutes.upgradeDrive(AccountUtils.currentDriveId)) - dismiss() - } - } - - packAvailability.isVisible = true - } -} diff --git a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/FileInfoActionsBottomSheetDialog.kt b/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/FileInfoActionsBottomSheetDialog.kt index 065912de35..8e9cdd896f 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/FileInfoActionsBottomSheetDialog.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/FileInfoActionsBottomSheetDialog.kt @@ -30,6 +30,8 @@ import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import com.google.android.material.bottomsheet.BottomSheetDialogFragment +import com.infomaniak.core.myksuite.ui.screens.KSuiteApp +import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils.openMyKSuiteUpgradeBottomSheet import com.infomaniak.drive.R import com.infomaniak.drive.data.api.UploadTask.Companion.LIMIT_EXCEEDED_ERROR_CODE import com.infomaniak.drive.data.cache.FileController @@ -169,8 +171,8 @@ class FileInfoActionsBottomSheetDialog : BottomSheetDialogFragment(), FileInfoAc FileController.getParentFile(currentFile.id)?.let { folder -> navigateToParentFolder(folder.id, mainViewModel) } } - override fun dropBoxClicked(isDropBox: Boolean) { - super.dropBoxClicked(isDropBox) + override fun dropBoxClicked(isDropBox: Boolean, canCreateDropbox: Boolean) { + super.dropBoxClicked(isDropBox, canCreateDropbox) if (isDropBox) { safeNavigate( FileInfoActionsBottomSheetDialogDirections.actionFileInfoActionsBottomSheetDialogToManageDropboxFragment( @@ -179,14 +181,16 @@ class FileInfoActionsBottomSheetDialog : BottomSheetDialogFragment(), FileInfoAc ) ) } else { - if (AccountUtils.getCurrentDrive()?.pack?.capabilities?.useDropbox == true) { + if (canCreateDropbox) { safeNavigate( FileInfoActionsBottomSheetDialogDirections.actionFileInfoActionsBottomSheetDialogToConvertToDropBoxFragment( fileId = currentFile.id, fileName = currentFile.name, ) ) - } else safeNavigate(R.id.dropBoxBottomSheetDialog) + } else { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) + } } } @@ -400,12 +404,12 @@ class FileInfoActionsBottomSheetDialog : BottomSheetDialogFragment(), FileInfoAc } fun Fragment.openColorFolderBottomSheetDialog(color: String?) { - if (AccountUtils.getCurrentDrive()?.isFreePack == true) { - safeNavigate(R.id.colorFolderUpgradeBottomSheetDialog) + if (AccountUtils.getCurrentDrive()?.isFreeTier == true) { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) } else { safeNavigate( R.id.colorFolderBottomSheetDialog, - ColorFolderBottomSheetDialogArgs(color = color).toBundle() + ColorFolderBottomSheetDialogArgs(color = color).toBundle(), ) } } diff --git a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/SecureLinkShareBottomSheetDialog.kt b/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/SecureLinkShareBottomSheetDialog.kt deleted file mode 100644 index 291215b8c6..0000000000 --- a/app/src/main/java/com/infomaniak/drive/ui/bottomSheetDialogs/SecureLinkShareBottomSheetDialog.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Infomaniak kDrive - Android - * Copyright (C) 2022-2024 Infomaniak Network SA - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.infomaniak.drive.ui.bottomSheetDialogs - -import android.os.Bundle -import android.view.View -import androidx.core.view.isVisible -import com.infomaniak.drive.R -import com.infomaniak.drive.data.api.ApiRoutes -import com.infomaniak.drive.utils.AccountUtils -import com.infomaniak.lib.core.utils.UtilsUi.openUrl - -class SecureLinkShareBottomSheetDialog : InformationBottomSheetDialog() { - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { - super.onViewCreated(view, savedInstanceState) - - title.setText(R.string.secureLinkShareTitle) - description.setText(R.string.secureLinkShareDescription) - illu.setAnimation(R.raw.illu_upgrade) - - actionButton.apply { - setText(R.string.buttonUpgradeOffer) - setOnClickListener { - requireContext().openUrl(ApiRoutes.upgradeDrive(AccountUtils.currentDriveId)) - dismiss() - } - } - - packAvailability.isVisible = true - } -} diff --git a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareDetailsFragment.kt b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareDetailsFragment.kt index fe39c63bf5..da4697ba7b 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareDetailsFragment.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareDetailsFragment.kt @@ -29,6 +29,8 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import androidx.navigation.navGraphViewModels +import com.infomaniak.core.myksuite.ui.screens.KSuiteApp +import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils.openMyKSuiteUpgradeBottomSheet import com.infomaniak.drive.R import com.infomaniak.drive.data.cache.DriveInfosController import com.infomaniak.drive.data.models.* @@ -73,6 +75,7 @@ class FileShareDetailsFragment : Fragment() { fileShareViewModel.fetchCurrentFile(navigationArgs.fileId).observe(viewLifecycleOwner) { currentFile -> file = currentFile?.also { + fileShareViewModel.initCurrentDriveLiveData(it.driveId) fileShareViewModel.currentFile.value = it } ?: run { findNavController().popBackStack() @@ -186,6 +189,8 @@ class FileShareDetailsFragment : Fragment() { refreshUi() } } + + observeFileDrive() } private fun setBackPressedHandlers() = with(binding) { @@ -305,4 +310,15 @@ class FileShareDetailsFragment : Fragment() { ) ) } + + private fun observeFileDrive() { + fileShareViewModel.currentDriveResult.observe(viewLifecycleOwner) { drive -> + val hasShareLink = fileShareViewModel.currentFile.value?.shareLink != null + val canCreateShareLink = drive.canCreateShareLink || hasShareLink + + binding.shareLinkContainer.setupMyKSuitePlusChip(canCreateShareLink) { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) + } + } + } } diff --git a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareLinkSettingsFragment.kt b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareLinkSettingsFragment.kt index 74f6cff0c7..2bf64c9114 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareLinkSettingsFragment.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareLinkSettingsFragment.kt @@ -27,6 +27,8 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs +import com.infomaniak.core.myksuite.ui.screens.KSuiteApp +import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils.openMyKSuiteUpgradeBottomSheet import com.infomaniak.core.utils.* import com.infomaniak.drive.MatomoDrive.toFloat import com.infomaniak.drive.MatomoDrive.trackShareRightsEvent @@ -92,7 +94,6 @@ class FileShareLinkSettingsFragment : Fragment() { setupExpirationDate() setupNewPassword() setupAllowDownload() - setupUpgradeOffer() setupSaveButton() setupFileShareLinkRights() } @@ -126,10 +127,12 @@ class FileShareLinkSettingsFragment : Fragment() { } } - private fun setupUpgradeOffer() = with(binding) { - val upgradeOfferOnClickListener = View.OnClickListener { safeNavigate(R.id.secureLinkShareBottomSheetDialog) } - upgradeOfferPassword.setOnClickListener(upgradeOfferOnClickListener) - upgradeOfferExpirationDate.setOnClickListener(upgradeOfferOnClickListener) + private fun setupUpgradeOfferListener() { + val upgradeOfferOnClickListener = View.OnClickListener { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) + } + binding.addPasswordLayout.setOnClickListener(upgradeOfferOnClickListener) + binding.addExpirationDateLayout.setOnClickListener(upgradeOfferOnClickListener) } private fun setupSaveButton() = with(binding) { @@ -196,19 +199,18 @@ class FileShareLinkSettingsFragment : Fragment() { } private fun setupFreeAccountUi() = with(binding) { - if (AccountUtils.getCurrentDrive()?.isFreePack == true) { - - addPasswordLayout.apply { - addPasswordSwitch.isEnabled = false - addPasswordSwitch.isClickable = false - upgradeOfferPassword.isVisible = true - } - - addExpirationDateLayout.apply { - addExpirationDateSwitch.isEnabled = false - addExpirationDateSwitch.isClickable = false - upgradeOfferExpirationDate.isVisible = true - } + if (AccountUtils.getCurrentDrive()?.isFreeTier == true) { + setupUpgradeOfferListener() + + addPasswordSwitch.isEnabled = false + addPasswordSwitch.isClickable = false + upgradeOfferPassword.isVisible = true + offerPasswordMyKSuitePlusChip.isVisible = true + + addExpirationDateSwitch.isEnabled = false + addExpirationDateSwitch.isClickable = false + upgradeOfferExpirationDate.isVisible = true + offerExpirationMyKSuitePlusChip.isVisible = true } } diff --git a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareViewModel.kt b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareViewModel.kt index fc6838bf31..6c25847dc8 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareViewModel.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/fileList/fileShare/FileShareViewModel.kt @@ -20,19 +20,26 @@ package com.infomaniak.drive.ui.fileList.fileShare import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.liveData +import androidx.lifecycle.viewModelScope import com.infomaniak.drive.data.api.ApiRepository +import com.infomaniak.drive.data.cache.DriveInfosController import com.infomaniak.drive.data.cache.FileController import com.infomaniak.drive.data.models.File import com.infomaniak.drive.data.models.ShareLink import com.infomaniak.drive.data.models.Shareable +import com.infomaniak.drive.data.models.drive.Drive import com.infomaniak.drive.utils.AccountUtils import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch class FileShareViewModel : ViewModel() { + val currentDriveResult = MutableLiveData() val currentFile = MutableLiveData() val availableShareableItems = MutableLiveData>() + private val driveRealm = DriveInfosController.getRealmInstance() + fun fetchCurrentFile(fileId: Int) = liveData(Dispatchers.IO) { emit( FileController.getFileById(fileId) @@ -40,6 +47,16 @@ class FileShareViewModel : ViewModel() { ) } + fun initCurrentDriveLiveData(driveId: Int) = viewModelScope.launch { + val drive = DriveInfosController.getDrive( + userId = AccountUtils.currentUserId, + driveId = driveId, + maintenance = false, + customRealm = driveRealm, + ) + currentDriveResult.postValue(drive?.freeze()) + } + fun postFileShareCheck(file: File, body: Map) = liveData(Dispatchers.IO) { emit(ApiRepository.postFileShareCheck(file, body)) } @@ -54,4 +71,9 @@ class FileShareViewModel : ViewModel() { emit(this) } } + + override fun onCleared() { + driveRealm.close() + super.onCleared() + } } diff --git a/app/src/main/java/com/infomaniak/drive/ui/menu/TrashFragment.kt b/app/src/main/java/com/infomaniak/drive/ui/menu/TrashFragment.kt index a6e6efb9ef..7f8d8e999e 100644 --- a/app/src/main/java/com/infomaniak/drive/ui/menu/TrashFragment.kt +++ b/app/src/main/java/com/infomaniak/drive/ui/menu/TrashFragment.kt @@ -20,9 +20,12 @@ package com.infomaniak.drive.ui.menu import android.os.Bundle import android.view.View import androidx.core.view.isVisible +import androidx.navigation.fragment.findNavController import androidx.navigation.navGraphViewModels import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.google.android.material.button.MaterialButton +import com.infomaniak.core.myksuite.ui.screens.KSuiteApp +import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils.openMyKSuiteUpgradeBottomSheet import com.infomaniak.drive.MatomoDrive.trackTrashEvent import com.infomaniak.drive.R import com.infomaniak.drive.data.models.File @@ -46,7 +49,7 @@ class TrashFragment : FileSubTypeListFragment() { override var enabledMultiSelectMode: Boolean = true override val sortTypeUsage = SortTypeUsage.TRASH - override val noItemsRootIcon = R.drawable.ic_delete + override val noItemsRootIcon = R.drawable.ic_bin override val noItemsRootTitle = R.string.trashNoFile override fun initSwipeRefreshLayout(): SwipeRefreshLayout = binding.swipeRefreshLayout @@ -67,6 +70,8 @@ class TrashFragment : FileSubTypeListFragment() { setupBasicMultiSelectLayout() observeDriveTrash() observeTrashedFolderFiles() + + setupAutoClearUpgradeLayout() } private fun initParams() = with(binding) { @@ -173,6 +178,13 @@ class TrashFragment : FileSubTypeListFragment() { } } + private fun setupAutoClearUpgradeLayout() { + binding.trashAutoClearLayout.isVisible = AccountUtils.getCurrentDrive()?.isFreeTier == true + binding.trashAutoClearUpgradeButton.setOnClickListener { + findNavController().openMyKSuiteUpgradeBottomSheet(KSuiteApp.Drive) + } + } + companion object { const val MATOMO_CATEGORY = "trashFileAction" } diff --git a/app/src/main/java/com/infomaniak/drive/utils/AccountUtils.kt b/app/src/main/java/com/infomaniak/drive/utils/AccountUtils.kt index 5ebcc94ae0..d5103c2004 100644 --- a/app/src/main/java/com/infomaniak/drive/utils/AccountUtils.kt +++ b/app/src/main/java/com/infomaniak/drive/utils/AccountUtils.kt @@ -230,13 +230,15 @@ object AccountUtils : CredentialManager() { fun getAllUsersSync(): List = userDatabase.userDao().getAllSync() - fun getCurrentDrive(): Drive? { - if (currentDriveId != currentDrive?.id) { - currentDrive = DriveInfosController.getDrive(currentUserId, currentDriveId, maintenance = false) ?: getFirstDrive() - } + fun getCurrentDrive(forceRefresh: Boolean = false): Drive? { + if (currentDriveId != currentDrive?.id || forceRefresh) refreshCurrentDrive() return currentDrive } + private fun refreshCurrentDrive() { + currentDrive = DriveInfosController.getDrive(currentUserId, currentDriveId, maintenance = false) ?: getFirstDrive() + } + private fun getFirstDrive(): Drive? { val currentDrive = DriveInfosController.getDrive(currentUserId, sharedWithMe = false, maintenance = false) currentDrive?.let { currentDriveId = it.id } @@ -273,7 +275,9 @@ object AccountUtils : CredentialManager() { fun isEnableAppSync(): Boolean = UploadFile.getAppSyncSettings() != null fun getPersonalFolderTitle(context: Context): String { - return if (getCurrentDrive()?.isFreePack == true || getCurrentDrive()?.isSoloPack == true) { + val isSingleUserDrive = getCurrentDrive()?.let { it.isFreeTier || it.isMyKSuitePlusPack || it.isSoloPack } ?: false + + return if (isSingleUserDrive) { context.getString(R.string.localizedFilenamePrivateSpace) } else { context.getString(R.string.localizedFilenamePrivateTeamSpace) diff --git a/app/src/main/java/com/infomaniak/drive/utils/NotificationUtils.kt b/app/src/main/java/com/infomaniak/drive/utils/NotificationUtils.kt index cb08347550..21b528edf8 100644 --- a/app/src/main/java/com/infomaniak/drive/utils/NotificationUtils.kt +++ b/app/src/main/java/com/infomaniak/drive/utils/NotificationUtils.kt @@ -46,7 +46,7 @@ object NotificationUtils : NotificationUtilsCore() { } fun Context.trashOperationProgressNotification(): NotificationCompat.Builder { - return progressNotification(getString(R.string.fileListDeletionStartedSnackbar), R.drawable.ic_delete) + return progressNotification(getString(R.string.fileListDeletionStartedSnackbar), R.drawable.ic_bin) } fun Context.downloadProgressNotification(): NotificationCompat.Builder { diff --git a/app/src/main/java/com/infomaniak/drive/utils/RealmModules.kt b/app/src/main/java/com/infomaniak/drive/utils/RealmModules.kt index 5a7d8b8f68..a707d65c6f 100644 --- a/app/src/main/java/com/infomaniak/drive/utils/RealmModules.kt +++ b/app/src/main/java/com/infomaniak/drive/utils/RealmModules.kt @@ -50,6 +50,7 @@ object RealmModules { Drive::class, DrivePreferences::class, DriveUsersCategories::class, DriveUser::class, Team::class, TeamDetails::class, DriveTeamsCategories::class, Category::class, CategoryRights::class, DriveCapabilities::class, DrivePack::class, DrivePackCapabilities::class, DriveRights::class, DriveAccount::class, + DriveQuotas::class, DriveQuota::class, ] ) class DriveFilesModule diff --git a/app/src/main/java/com/infomaniak/drive/views/BottomSheetItemView.kt b/app/src/main/java/com/infomaniak/drive/views/BottomSheetItemView.kt index bd51bd23ae..d2f380eb70 100644 --- a/app/src/main/java/com/infomaniak/drive/views/BottomSheetItemView.kt +++ b/app/src/main/java/com/infomaniak/drive/views/BottomSheetItemView.kt @@ -24,6 +24,7 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.widget.FrameLayout import androidx.core.view.isGone +import androidx.core.view.isVisible import com.infomaniak.drive.R import com.infomaniak.drive.databinding.ViewBottomSheetItemBinding import com.infomaniak.lib.core.utils.getAttributes @@ -57,6 +58,12 @@ class BottomSheetItemView @JvmOverloads constructor( binding.icon.imageTintList = value } + var shouldShowMyKSuiteChip: Boolean + get() = binding.myKSuitePlusChip.isVisible + set(value) { + binding.myKSuitePlusChip.isVisible = value + } + override fun setEnabled(enabled: Boolean) { binding.disabledOverlay.isGone = enabled @@ -69,6 +76,7 @@ class BottomSheetItemView @JvmOverloads constructor( icon = getDrawable(R.styleable.BottomSheetItemView_icon) getString(R.styleable.BottomSheetItemView_text)?.let { text = it } getColorStateList(R.styleable.BottomSheetItemView_iconTint)?.let { iconTintList = it } + shouldShowMyKSuiteChip = getBoolean(R.styleable.BottomSheetItemView_showMyKSuiteChip, false) } } diff --git a/app/src/main/java/com/infomaniak/drive/views/FileInfoActionsView.kt b/app/src/main/java/com/infomaniak/drive/views/FileInfoActionsView.kt index dc695f1470..a91ae92c07 100644 --- a/app/src/main/java/com/infomaniak/drive/views/FileInfoActionsView.kt +++ b/app/src/main/java/com/infomaniak/drive/views/FileInfoActionsView.kt @@ -79,6 +79,8 @@ class FileInfoActionsView @JvmOverloads constructor( private lateinit var selectFolderResultLauncher: ActivityResultLauncher private var isSharedWithMe = false + private val canCreateDropbox by lazy { AccountUtils.getCurrentDrive(forceRefresh = true)?.canCreateDropbox == true } + val openWith get() = binding.openWith fun init( @@ -160,22 +162,14 @@ class FileInfoActionsView @JvmOverloads constructor( computeFileRights(file, rights) } - if (currentFile.isDropBox() || currentFile.rights?.canBecomeDropbox == true) { - dropBox.text = context.getString( - if (currentFile.isDropBox()) R.string.buttonManageDropBox else R.string.buttonConvertToDropBox - ) - dropBox.setOnClickListener { onItemClickListener.dropBoxClicked(isDropBox = currentFile.isDropBox()) } - dropBox.isVisible = true - } else { - dropBox.isGone = true - } + setupDropboxItem() if (currentFile.isFolder()) { sendCopyIcon.setImageResource(R.drawable.ic_add) sendCopyText.setText(R.string.buttonAdd) availableOffline.isGone = true openWith.isGone = true - coloredFolder.isVisible = currentFile.isAllowedToBeColored() + setupColoredFolderVisibility() } } @@ -198,6 +192,29 @@ class FileInfoActionsView @JvmOverloads constructor( ownerFragment.safeNavigate(R.id.addFileBottomSheetDialog) } + private fun setupDropboxItem() = with(binding.dropBox) { + if (currentFile.isDropBox() || currentFile.rights?.canBecomeDropbox == true) { + text = context.getString( + if (currentFile.isDropBox()) R.string.buttonManageDropBox else R.string.buttonConvertToDropBox + ) + setOnClickListener { + onItemClickListener.dropBoxClicked(isDropBox = currentFile.isDropBox(), canCreateDropbox = canCreateDropbox) + } + isVisible = true + shouldShowMyKSuiteChip = !canCreateDropbox && !currentFile.isDropBox() + } else { + isGone = true + } + } + + private fun setupColoredFolderVisibility() = with(binding.coloredFolder) { + // Displays the item to change folder color for all folder if the user is in free tier to display My kSuite Ad. + // But only displays it for the folder that can really be colored if it's a paid drive. + val isDriveFree = AccountUtils.getCurrentDrive()?.isFreeTier == true + isVisible = isDriveFree || currentFile.isAllowedToBeColored() + shouldShowMyKSuiteChip = isDriveFree + } + private fun initOnClickListeners() = with(binding) { editDocument.setOnClickListener { onItemClickListener.editDocumentClicked(mainViewModel) } displayInfo.setOnClickListener { onItemClickListener.displayInfoClicked() } @@ -477,7 +494,7 @@ class FileInfoActionsView @JvmOverloads constructor( fun downloadFileClicked() = trackFileActionEvent(ACTION_DOWNLOAD_NAME) @CallSuper - fun dropBoxClicked(isDropBox: Boolean) = trackFileActionEvent("convertToDropbox", isDropBox) + fun dropBoxClicked(isDropBox: Boolean, canCreateDropbox: Boolean) = trackFileActionEvent("convertToDropbox", isDropBox) fun fileRightsClicked() fun goToFolder() fun manageCategoriesClicked(fileId: Int) diff --git a/app/src/main/java/com/infomaniak/drive/views/ShareLinkContainerView.kt b/app/src/main/java/com/infomaniak/drive/views/ShareLinkContainerView.kt index 79ce3532ee..09a95932bb 100644 --- a/app/src/main/java/com/infomaniak/drive/views/ShareLinkContainerView.kt +++ b/app/src/main/java/com/infomaniak/drive/views/ShareLinkContainerView.kt @@ -70,6 +70,22 @@ class ShareLinkContainerView @JvmOverloads constructor( selectUi() } + fun setupMyKSuitePlusChip(canCreateShareLink: Boolean, showMyKSuitePlusAd: () -> Unit) = with(binding) { + if (this@ShareLinkContainerView.shareLink != null || currentFile.isDropBox()) return@with + + shareLinkMyKSuiteChip.isGone = canCreateShareLink + titleContainer.isEnabled = canCreateShareLink + titleContainer.isClickable = canCreateShareLink + shareLinkSettings.isEnabled = canCreateShareLink + shareLinkButton.isEnabled = canCreateShareLink + + root.apply { + if (!canCreateShareLink) setOnClickListener { showMyKSuitePlusAd() } else setOnClickListener(null) + isClickable = !canCreateShareLink + isEnabled = !canCreateShareLink + } + } + private fun selectUi(isDropbox: Boolean = false) { when { isDropbox -> { diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_bin.xml similarity index 100% rename from app/src/main/res/drawable/ic_delete.xml rename to app/src/main/res/drawable/ic_bin.xml diff --git a/app/src/main/res/layout/fragment_bottom_sheet_category_info_actions.xml b/app/src/main/res/layout/fragment_bottom_sheet_category_info_actions.xml index 737a3cca70..1106fcfc50 100644 --- a/app/src/main/res/layout/fragment_bottom_sheet_category_info_actions.xml +++ b/app/src/main/res/layout/fragment_bottom_sheet_category_info_actions.xml @@ -144,7 +144,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/marginStandardVerySmall" - android:src="@drawable/ic_delete" + android:src="@drawable/ic_bin" app:layout_constraintBottom_toTopOf="@id/deleteCategoryText" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/fragment_bottom_sheet_multi_select_actions.xml b/app/src/main/res/layout/fragment_bottom_sheet_multi_select_actions.xml index 21edd432b3..24926d9d71 100644 --- a/app/src/main/res/layout/fragment_bottom_sheet_multi_select_actions.xml +++ b/app/src/main/res/layout/fragment_bottom_sheet_multi_select_actions.xml @@ -150,7 +150,7 @@ android:id="@+id/deletePermanently" android:layout_width="match_parent" android:layout_height="wrap_content" - app:icon="@drawable/ic_delete" + app:icon="@drawable/ic_bin" app:text="@string/trashActionDelete" /> diff --git a/app/src/main/res/layout/fragment_bottom_sheet_trashed_file_actions.xml b/app/src/main/res/layout/fragment_bottom_sheet_trashed_file_actions.xml index 89eb033e75..546ee2fa80 100644 --- a/app/src/main/res/layout/fragment_bottom_sheet_trashed_file_actions.xml +++ b/app/src/main/res/layout/fragment_bottom_sheet_trashed_file_actions.xml @@ -63,7 +63,7 @@ android:id="@+id/delete" android:layout_width="match_parent" android:layout_height="wrap_content" - app:icon="@drawable/ic_delete" + app:icon="@drawable/ic_bin" app:text="@string/trashActionDelete" /> diff --git a/app/src/main/res/layout/fragment_file_list.xml b/app/src/main/res/layout/fragment_file_list.xml index 482578fef9..489c6f06e6 100644 --- a/app/src/main/res/layout/fragment_file_list.xml +++ b/app/src/main/res/layout/fragment_file_list.xml @@ -87,6 +87,56 @@ android:visibility="gone" tools:visibility="visible" /> + + + + + + + + + + + + @@ -67,6 +67,7 @@ style="@style/BorderedCardViewInfomaniak" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginHorizontal="@dimen/marginStandard" android:layout_marginTop="@dimen/marginStandardSmall"> + android:layout_marginTop="@dimen/marginStandardMedium" + android:background="?selectableItemBackground" + android:paddingHorizontal="@dimen/marginStandard" + android:paddingBottom="@dimen/marginStandardMedium"> - + + + android:layout_marginVertical="@dimen/marginStandardMedium" + android:paddingHorizontal="@dimen/marginStandard"> + android:layout_marginTop="@dimen/marginStandardMedium" + android:background="?selectableItemBackground" + android:paddingHorizontal="@dimen/marginStandard" + android:paddingBottom="@dimen/marginStandardMedium"> - + app:layout_constraintTop_toBottomOf="@id/addExpirationDateDescription" + tools:visibility="visible" /> + + + + diff --git a/app/src/main/res/layout/item_file_comment.xml b/app/src/main/res/layout/item_file_comment.xml index e0f4e074e6..6df76f9956 100644 --- a/app/src/main/res/layout/item_file_comment.xml +++ b/app/src/main/res/layout/item_file_comment.xml @@ -142,7 +142,7 @@ android:layout_gravity="center_vertical" android:background="?selectableItemBackground" android:paddingVertical="@dimen/marginStandardMedium" - android:src="@drawable/ic_delete" /> + android:src="@drawable/ic_bin" /> diff --git a/app/src/main/res/layout/multi_select_layout.xml b/app/src/main/res/layout/multi_select_layout.xml index c9812610af..a47f59dba2 100644 --- a/app/src/main/res/layout/multi_select_layout.xml +++ b/app/src/main/res/layout/multi_select_layout.xml @@ -83,7 +83,7 @@ android:layout_height="34dp" android:layout_marginEnd="@dimen/marginStandardVerySmall" android:contentDescription="@string/buttonDelete" - app:icon="@drawable/ic_delete" + app:icon="@drawable/ic_bin" app:iconSize="20dp" app:iconTint="@color/icon_toolbar_button" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/view_bottom_sheet_item.xml b/app/src/main/res/layout/view_bottom_sheet_item.xml index c419188de3..48ffe1a936 100644 --- a/app/src/main/res/layout/view_bottom_sheet_item.xml +++ b/app/src/main/res/layout/view_bottom_sheet_item.xml @@ -19,7 +19,8 @@ + android:layout_height="@dimen/buttonHeight" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + @@ -327,6 +328,7 @@ android:layout_height="wrap_content" app:icon="@drawable/ic_folder_dropbox" app:iconTint="@color/iconColor" + app:showMyKSuiteChip="true" app:text="@string/buttonConvertToDropBox" /> + + + + - - - - - - - - - - diff --git a/app/src/main/res/raw/illu_drop_box.json b/app/src/main/res/raw/illu_drop_box.json deleted file mode 100644 index 30e212b4ef..0000000000 --- a/app/src/main/res/raw/illu_drop_box.json +++ /dev/null @@ -1,6975 +0,0 @@ -{ - "v": "5.5.7", - "meta": { - "g": "LottieFiles AE 0.1.21", - "a": "", - "k": "", - "d": "", - "tc": "" - }, - "fr": 30, - "ip": 0, - "op": 93, - "w": 206, - "h": 130, - "nm": "mobile-illu-drop-box", - "ddd": 0, - "assets": [], - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 4, - "nm": "Calque 1 Silhouettes", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [ - 103, - 65, - 0 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 103, - 65, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100, - 100 - ], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - -2.4, - -9.4 - ] - ], - "o": [ - [ - 9.9, - 3.4 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - -9.2, - -9.6 - ], - [ - 9.2, - 9.6 - ] - ], - "c": false - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [ - 0.902000038297, - 0.913999968884, - 0.957000014361, - 1 - ], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 1.4, - "ix": 5 - }, - "lc": 2, - "lj": 2, - "bm": 0, - "d": [ - { - "n": "d", - "nm": "tiret", - "v": { - "a": 0, - "k": 0.7, - "ix": 1 - } - }, - { - "n": "g", - "nm": "intervalle", - "v": { - "a": 0, - "k": 3.5, - "ix": 2 - } - }, - { - "n": "o", - "nm": "décalage", - "v": { - "a": 0, - "k": 0, - "ix": 7 - } - } - ], - "nm": "Contour 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "tm", - "s": { - "a": 0, - "k": 0, - "ix": 1 - }, - "e": { - "a": 1, - "k": [ - { - "i": { - "x": [ - 0 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.333 - ], - "y": [ - 0 - ] - }, - "t": 19, - "s": [ - 0 - ] - }, - { - "t": 39, - "s": [ - 100 - ] - } - ], - "ix": 2 - }, - "o": { - "a": 0, - "k": 0, - "ix": 3 - }, - "m": 1, - "ix": 3, - "nm": "Réduire les tracés 1", - "mn": "ADBE Vector Filter - Trim", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 94.7, - 48.4 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "xls line", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.071 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.187 - ], - [ - 0, - 0 - ], - [ - -0.186, - 0.071 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.187 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.187, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ], - [ - 0.186, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 4.254, - -0.08 - ], - [ - -3.214, - 2.787 - ], - [ - -3.731, - 2.557 - ], - [ - -4.484, - 0.596 - ], - [ - -4.254, - 0.08 - ], - [ - 3.215, - -2.787 - ], - [ - 3.732, - -2.557 - ], - [ - 4.484, - -0.597 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 81.844, - 28.314 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 2", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.187 - ], - [ - 0, - 0 - ], - [ - -0.186, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.187 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.187, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ], - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 2.014, - 0.78 - ], - [ - -0.973, - 1.927 - ], - [ - -1.491, - 1.697 - ], - [ - -2.243, - -0.264 - ], - [ - -2.014, - -0.781 - ], - [ - 0.974, - -1.927 - ], - [ - 1.492, - -1.697 - ], - [ - 2.243, - 0.263 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 73.909, - 31.36 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 3", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.186 - ], - [ - 0, - 0 - ], - [ - -0.186, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.186, - 0.071 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.187 - ], - [ - 0, - 0 - ], - [ - 0.186, - -0.071 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 4.254, - -0.079 - ], - [ - -3.215, - 2.788 - ], - [ - -3.731, - 2.557 - ], - [ - -4.484, - 0.596 - ], - [ - -4.254, - 0.079 - ], - [ - 3.215, - -2.787 - ], - [ - 3.732, - -2.557 - ], - [ - 4.484, - -0.596 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 79.909, - 23.272 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 4", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.186 - ], - [ - 0, - 0 - ], - [ - -0.186, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.186, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.187 - ], - [ - 0, - 0 - ], - [ - 0.187, - -0.071 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 2.014, - 0.781 - ], - [ - -0.975, - 1.926 - ], - [ - -1.491, - 1.698 - ], - [ - -2.243, - -0.264 - ], - [ - -2.014, - -0.781 - ], - [ - 0.974, - -1.927 - ], - [ - 1.492, - -1.697 - ], - [ - 2.243, - 0.264 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 71.974, - 26.319 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 5", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.187 - ], - [ - 0, - 0 - ], - [ - -0.187, - 0.071 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.187 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.186, - 0.071 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ], - [ - 0.187, - -0.071 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 4.254, - -0.079 - ], - [ - -3.215, - 2.788 - ], - [ - -3.731, - 2.557 - ], - [ - -4.484, - 0.596 - ], - [ - -4.254, - 0.081 - ], - [ - 3.214, - -2.787 - ], - [ - 3.732, - -2.557 - ], - [ - 4.484, - -0.596 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 77.974, - 18.231 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 6", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 5, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.187, - -0.072 - ], - [ - 0, - 0 - ], - [ - 0.071, - 0.187 - ], - [ - 0, - 0 - ], - [ - -0.187, - 0.072 - ], - [ - 0, - 0 - ], - [ - -0.072, - -0.186 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.187, - 0.071 - ], - [ - 0, - 0 - ], - [ - -0.071, - -0.186 - ], - [ - 0, - 0 - ], - [ - 0.186, - -0.071 - ], - [ - 0, - 0 - ], - [ - 0.072, - 0.187 - ] - ], - "v": [ - [ - 2.013, - 0.781 - ], - [ - -0.974, - 1.928 - ], - [ - -1.491, - 1.698 - ], - [ - -2.244, - -0.264 - ], - [ - -2.013, - -0.781 - ], - [ - 0.974, - -1.927 - ], - [ - 1.491, - -1.697 - ], - [ - 2.243, - 0.264 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 70.039, - 21.277 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 7", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 6, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.358, - 0.934 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -1.027, - 0.394 - ] - ], - "v": [ - [ - -2.917, - 2.075 - ], - [ - -4.974, - -3.562 - ], - [ - 4.974, - 0.867 - ], - [ - -0.462, - 3.168 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.211999990426, - 0.569000004787, - 0.211999990426, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 80.392, - 7.936 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 8", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 7, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.43, - 1.121 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.466, - -1.213 - ], - [ - 0, - 0 - ], - [ - -1.213, - 0.465 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -1.214, - 0.466 - ], - [ - 0, - 0 - ], - [ - 0.466, - 1.214 - ], - [ - 0, - 0 - ], - [ - 1.178, - -0.559 - ] - ], - "v": [ - [ - 17.445, - 6.945 - ], - [ - 10.814, - -10.326 - ], - [ - 9.453, - -13.874 - ], - [ - -0.495, - -18.303 - ], - [ - -3.95, - -16.977 - ], - [ - -16.085, - -12.318 - ], - [ - -17.408, - -9.347 - ], - [ - -7.482, - 16.514 - ], - [ - -4.51, - 17.838 - ], - [ - 16.122, - 9.917 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.289999988032, - 0.685999971278, - 0.310000011968, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 75.932, - 22.669 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 9", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 8, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 14, - "s": [ - 64.116, - -24.227 - ], - "to": [ - 2.048, - 7.793 - ], - "ti": [ - -2.048, - -7.793 - ] - }, - { - "t": 24, - "s": [ - 76.403, - 22.531 - ] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 75.94, - 22.517 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": -8, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "xls", - "np": 8, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 6, - -10.3 - ] - ], - "o": [ - [ - -8.2, - 3.5 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 10.6, - -10.35 - ], - [ - -10.6, - 10.35 - ] - ], - "c": false - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [ - 0.902000038297, - 0.913999968884, - 0.957000014361, - 1 - ], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 1.4, - "ix": 5 - }, - "lc": 2, - "lj": 2, - "bm": 0, - "d": [ - { - "n": "d", - "nm": "tiret", - "v": { - "a": 0, - "k": 0.7, - "ix": 1 - } - }, - { - "n": "g", - "nm": "intervalle", - "v": { - "a": 0, - "k": 3.5, - "ix": 2 - } - }, - { - "n": "o", - "nm": "décalage", - "v": { - "a": 0, - "k": 0, - "ix": 7 - } - } - ], - "nm": "Contour 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "tm", - "s": { - "a": 0, - "k": 0, - "ix": 1 - }, - "e": { - "a": 1, - "k": [ - { - "i": { - "x": [ - 0 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.333 - ], - "y": [ - 0 - ] - }, - "t": 29, - "s": [ - 0 - ] - }, - { - "t": 49, - "s": [ - 100 - ] - } - ], - "ix": 2 - }, - "o": { - "a": 0, - "k": 0, - "ix": 3 - }, - "m": 1, - "ix": 3, - "nm": "Réduire les tracés 1", - "mn": "ADBE Vector Filter - Trim", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 126.6, - 52.75 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "presentation line", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.117, - 0.276 - ], - [ - 0, - 0 - ], - [ - 0.092, - 0.039 - ], - [ - 1.29, - -3.038 - ], - [ - -0.093, - -0.039 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0.039, - -0.093 - ], - [ - -2.945, - -1.25 - ], - [ - -0.04, - 0.092 - ], - [ - 0, - 0 - ], - [ - 0.315, - 0.025 - ] - ], - "v": [ - [ - 1.851, - 3.024 - ], - [ - 3.922, - -1.854 - ], - [ - 3.816, - -2.117 - ], - [ - -3.921, - 1.009 - ], - [ - -3.814, - 1.271 - ], - [ - 1.064, - 3.342 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 142.98, - 23.036 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 11", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 2.762, - 1.172 - ], - [ - 0.039, - -0.092 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0.039, - -0.092 - ], - [ - -2.761, - -1.173 - ], - [ - -1.172, - 2.762 - ] - ], - "o": [ - [ - -0.092, - -0.039 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.092, - -0.039 - ], - [ - -1.172, - 2.761 - ], - [ - 2.762, - 1.172 - ], - [ - 1.041, - -2.709 - ] - ], - "v": [ - [ - 2.044, - -5.511 - ], - [ - 1.782, - -5.405 - ], - [ - -0.133, - -0.894 - ], - [ - -4.643, - -2.809 - ], - [ - -4.905, - -2.703 - ], - [ - -2.045, - 4.378 - ], - [ - 5.036, - 1.517 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 145.707, - 29.552 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 12", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.312, - 0.736 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.828, - -0.352 - ] - ], - "v": [ - [ - -2.516, - 0.341 - ], - [ - -0.509, - -4.131 - ], - [ - 2.829, - 4.131 - ], - [ - -1.629, - 2.347 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.8, - 0.322000002394, - 0, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 155.26, - 20.108 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 13", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.392, - 0.92 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0.429, - -1.012 - ], - [ - 0, - 0 - ], - [ - -1.012, - -0.43 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.974, - -0.522 - ], - [ - 0, - 0 - ], - [ - -0.391, - 0.92 - ], - [ - 0, - 0 - ], - [ - 0.959, - 0.299 - ] - ], - "v": [ - [ - 6.694, - 14.707 - ], - [ - 12.592, - 0.807 - ], - [ - 13.765, - -1.955 - ], - [ - 10.428, - -10.215 - ], - [ - 7.667, - -11.387 - ], - [ - -2.09, - -15.529 - ], - [ - -4.544, - -14.615 - ], - [ - -13.373, - 6.189 - ], - [ - -12.367, - 8.68 - ], - [ - 4.295, - 15.752 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.905999995213, - 0.380000005984, - 0.093999997307, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 144.291, - 26.288 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 14", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 21, - "s": [ - 178.508, - -19.358 - ], - "to": [ - -5.43, - 7.949 - ], - "ti": [ - 5.43, - -7.949 - ] - }, - { - "t": 33, - "s": [ - 145.928, - 28.335 - ] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 144.428, - 26.335 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 8, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "presentation", - "np": 4, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 12.5, - -11.5 - ] - ], - "o": [ - [ - -16.6, - -9.6 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 21.8, - 3.35 - ], - [ - -21.8, - 6.25 - ] - ], - "c": false - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [ - 0.902000038297, - 0.913999968884, - 0.957000014361, - 1 - ], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 1.4, - "ix": 5 - }, - "lc": 2, - "lj": 2, - "bm": 0, - "d": [ - { - "n": "d", - "nm": "tiret", - "v": { - "a": 0, - "k": 0.7, - "ix": 1 - } - }, - { - "n": "g", - "nm": "intervalle", - "v": { - "a": 0, - "k": 3.5, - "ix": 2 - } - }, - { - "n": "o", - "nm": "décalage", - "v": { - "a": 0, - "k": 0, - "ix": 7 - } - } - ], - "nm": "Contour 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "tm", - "s": { - "a": 0, - "k": 0, - "ix": 1 - }, - "e": { - "a": 1, - "k": [ - { - "i": { - "x": [ - 0 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.333 - ], - "y": [ - 0 - ] - }, - "t": 31, - "s": [ - 0 - ] - }, - { - "t": 51, - "s": [ - 100 - ] - } - ], - "ix": 2 - }, - "o": { - "a": 0, - "k": 0, - "ix": 3 - }, - "m": 1, - "ix": 3, - "nm": "Réduire les tracés 1", - "mn": "ADBE Vector Filter - Trim", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 151.8, - 60.55 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "docs line", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 5, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.503, - 0.326 - ], - [ - 0, - 0 - ], - [ - -0.327, - 0.504 - ], - [ - -0.503, - -0.327 - ], - [ - 0, - 0 - ], - [ - 0.328, - -0.504 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.503, - -0.326 - ], - [ - 0.328, - -0.503 - ], - [ - 0, - 0 - ], - [ - 0.503, - 0.327 - ], - [ - -0.326, - 0.503 - ] - ], - "v": [ - [ - 1.54, - 2.312 - ], - [ - -2.738, - -0.466 - ], - [ - -3.062, - -1.988 - ], - [ - -1.54, - -2.311 - ], - [ - 2.738, - 0.466 - ], - [ - 3.061, - 1.989 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 182.253, - 76.321 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 16", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.503, - 0.327 - ], - [ - 0, - 0 - ], - [ - -0.327, - 0.503 - ], - [ - -0.503, - -0.326 - ], - [ - 0, - 0 - ], - [ - 0.327, - -0.503 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.504, - -0.327 - ], - [ - 0.326, - -0.503 - ], - [ - 0, - 0 - ], - [ - 0.502, - 0.327 - ], - [ - -0.357, - 0.365 - ] - ], - "v": [ - [ - 3.663, - 3.63 - ], - [ - -4.808, - -1.87 - ], - [ - -5.131, - -3.392 - ], - [ - -3.664, - -3.632 - ], - [ - 4.807, - 1.87 - ], - [ - 5.13, - 3.391 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 186.857, - 74.005 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 17", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0.504, - 0.327 - ], - [ - 0, - 0 - ], - [ - -0.326, - 0.502 - ], - [ - -0.503, - -0.327 - ], - [ - 0, - 0 - ], - [ - 0.328, - -0.504 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - -0.503, - -0.327 - ], - [ - 0.327, - -0.503 - ], - [ - 0, - 0 - ], - [ - 0.504, - 0.326 - ], - [ - -0.41, - 0.448 - ] - ], - "v": [ - [ - 3.635, - 3.673 - ], - [ - -4.836, - -1.828 - ], - [ - -5.159, - -3.349 - ], - [ - -3.637, - -3.673 - ], - [ - 4.833, - 1.828 - ], - [ - 5.156, - 3.35 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 189.335, - 70.189 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 18", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.436, - 0.671 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.809, - -0.406 - ] - ], - "v": [ - [ - -2.126, - -0.288 - ], - [ - 0.682, - -4.426 - ], - [ - 2.562, - 4.426 - ], - [ - -1.602, - 1.842 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.086000001197, - 0.490000017952, - 0.736999990426, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 198.628, - 67.795 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 19", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.544, - 0.839 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0.545, - -0.839 - ], - [ - 0, - 0 - ], - [ - -0.838, - -0.545 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -0.784, - -0.628 - ], - [ - 0, - 0 - ], - [ - -0.545, - 0.839 - ], - [ - 0, - 0 - ], - [ - 0.894, - 0.461 - ] - ], - "v": [ - [ - 4.544, - 15.747 - ], - [ - 12.932, - 2.832 - ], - [ - 14.62, - 0.23 - ], - [ - 12.738, - -8.622 - ], - [ - 10.139, - -10.311 - ], - [ - 1.081, - -16.193 - ], - [ - -1.493, - -15.717 - ], - [ - -14.074, - 3.656 - ], - [ - -13.516, - 6.284 - ], - [ - 2, - 16.36 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.152999997606, - 0.596000043084, - 0.834999952129, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 186.516, - 72.075 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 20", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 5, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 31, - "s": [ - 241.894, - 87.912 - ], - "to": [ - -9.203, - -2.635 - ], - "ti": [ - 9.203, - 2.635 - ] - }, - { - "t": 43, - "s": [ - 186.673, - 72.101 - ] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 186.673, - 72.101 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "docs", - "np": 5, - "cix": 2, - "bm": 0, - "ix": 6, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - -10.8, - -12.4 - ] - ], - "o": [ - [ - 18.9, - -5.9 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - -22.25, - -1.9 - ], - [ - 22.25, - 7.8 - ] - ], - "c": false - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "tm", - "s": { - "a": 0, - "k": 0, - "ix": 1 - }, - "e": { - "a": 1, - "k": [ - { - "i": { - "x": [ - 0 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.333 - ], - "y": [ - 0 - ] - }, - "t": 7, - "s": [ - 0 - ] - }, - { - "t": 27, - "s": [ - 100 - ] - } - ], - "ix": 2 - }, - "o": { - "a": 0, - "k": 0, - "ix": 3 - }, - "m": 1, - "ix": 2, - "nm": "Réduire les tracés 1", - "mn": "ADBE Vector Filter - Trim", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [ - 0.902000038297, - 0.913999968884, - 0.957000014361, - 1 - ], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 1.4, - "ix": 5 - }, - "lc": 2, - "lj": 2, - "bm": 0, - "d": [ - { - "n": "d", - "nm": "tiret", - "v": { - "a": 0, - "k": 0.7, - "ix": 1 - } - }, - { - "n": "g", - "nm": "intervalle", - "v": { - "a": 0, - "k": 3.5, - "ix": 2 - } - }, - { - "n": "o", - "nm": "décalage", - "v": { - "a": 0, - "k": 0, - "ix": 7 - } - } - ], - "nm": "Contour 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 69.25, - 56.5 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "picture line", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 7, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 22.84, - -1.012 - ], - [ - -8.163, - 21.363 - ], - [ - -22.84, - 1.108 - ], - [ - 8.132, - -21.363 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ind": 1, - "ty": "sh", - "ix": 2, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - -7.568, - 18.016 - ], - [ - 19.492, - -1.607 - ], - [ - 7.663, - -17.951 - ], - [ - -19.523, - 1.608 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 2", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "mm", - "mm": 1, - "nm": "Fusionner les tracés 1", - "mn": "ADBE Vector Filter - Merge", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.957000014361, - 0.964999988032, - 0.991999966491, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 26.916, - 65.654 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 22", - "np": 4, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -12.568, - 5.976 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 7.345, - -5.226 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 16.91, - -9.133 - ], - [ - -12.122, - 11.867 - ], - [ - -16.91, - 5.221 - ], - [ - 14.97, - -11.867 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.933000033509, - 0.470999983245, - 0.305999995213, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 31.204, - 73.572 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 23", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -12.055, - 4.969 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 9.528, - -5.304 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 17.269, - -9.18 - ], - [ - -11.763, - 11.82 - ], - [ - -17.269, - 3.936 - ], - [ - 15.36, - -11.82 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.933000033509, - 0.470999983245, - 0.305999995213, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 30.845, - 73.619 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 24", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -10.426, - 7.067 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 6.449, - -7.983 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 15.174, - -7.966 - ], - [ - -13.859, - 13.033 - ], - [ - -15.174, - 11.252 - ], - [ - 10.057, - -13.033 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.952999997606, - 0.616000007181, - 0.451000019148, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 32.94, - 72.406 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 25", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 0.883, - 1.007 - ], - [ - -3.113, - 2.621 - ], - [ - -2.189, - -2.621 - ], - [ - 3.113, - -1.19 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 29.112, - 57.506 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 26", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 5, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 0.833, - 0.623 - ], - [ - -2.305, - 1.644 - ], - [ - -1.143, - -1.574 - ], - [ - 2.305, - -1.644 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 1, - 1, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 16.021, - 68.574 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 27", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 6, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 14.997, - -9.652 - ], - [ - 11.778, - -10.499 - ], - [ - -2.454, - -14.497 - ], - [ - -4.568, - -2.559 - ], - [ - -14.5, - -2.381 - ], - [ - -17.598, - 5.881 - ], - [ - -11.434, - 14.497 - ], - [ - 17.598, - -6.502 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.976000019148, - 0.779999976065, - 0.630999995213, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 29.378, - 69.381 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 28", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 7, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v": [ - [ - 22.633, - 3.318 - ], - [ - -12.086, - 19.436 - ], - [ - -22.633, - -3.319 - ], - [ - 12.085, - -19.436 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.902000038297, - 0.913999968884, - 0.957000014361, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 26.397, - 63.941 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 29", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 8, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 0, - "s": [ - -25.373, - 90.642 - ], - "to": [ - 8.689, - -4.165 - ], - "ti": [ - -8.689, - 4.165 - ] - }, - { - "t": 12, - "s": [ - 26.76, - 65.654 - ] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 26.76, - 65.654 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [ - 0 - ], - "y": [ - 1 - ] - }, - "o": { - "x": [ - 0.333 - ], - "y": [ - 0 - ] - }, - "t": 0, - "s": [ - 0 - ] - }, - { - "t": 12, - "s": [ - 100 - ] - } - ], - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "img", - "np": 8, - "cix": 2, - "bm": 0, - "ix": 8, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.7, - -0.1 - ], - [ - 0, - 0 - ], - [ - -0.3, - -1.101 - ], - [ - 0, - 0 - ], - [ - 0.8, - -0.3 - ], - [ - 0.4, - 0.1 - ], - [ - 0, - 0 - ], - [ - 0.4, - 1 - ], - [ - 0, - 0 - ], - [ - -1.7, - 0.599 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 1.1, - 0.301 - ], - [ - 0, - 0 - ], - [ - 0.3, - 0.899 - ], - [ - -0.299, - 0.1 - ], - [ - 0, - 0 - ], - [ - -1, - -0.3 - ], - [ - 0, - 0 - ], - [ - -0.6, - -1.7 - ], - [ - 0.7, - -0.201 - ] - ], - "v": [ - [ - -21.05, - -19.6 - ], - [ - 16.15, - -9.3 - ], - [ - 18.45, - -6.999 - ], - [ - 25.45, - 17.501 - ], - [ - 24.35, - 19.6 - ], - [ - 23.35, - 19.6 - ], - [ - -15.55, - 7.6 - ], - [ - -17.75, - 5.501 - ], - [ - -25.15, - -15.2 - ], - [ - -23.15, - -19.499 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.322000002394, - 0.528999956916, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 97.138, - 107.688 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 30", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.4, - -0.2 - ], - [ - 0, - 0 - ], - [ - -0.3, - -0.9 - ], - [ - 0, - 0 - ], - [ - -1.1, - -0.3 - ], - [ - 0, - 0 - ], - [ - 0, - -1.5 - ], - [ - 0, - 0 - ], - [ - 1.799, - 0 - ], - [ - 0.299, - 0.1 - ], - [ - 0, - 0 - ], - [ - 0, - 1.4 - ], - [ - 0, - 0 - ], - [ - -1.8, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0.9, - 0.4 - ], - [ - 0, - 0 - ], - [ - 0.4, - 1.1 - ], - [ - 0, - 0 - ], - [ - 1.5, - 0.4 - ], - [ - 0, - 0 - ], - [ - 0, - 1.8 - ], - [ - -0.301, - 0 - ], - [ - 0, - 0 - ], - [ - -1.4, - -0.5 - ], - [ - 0, - 0 - ], - [ - 0, - -1.8 - ], - [ - 0.5, - 0 - ] - ], - "v": [ - [ - -17.1, - -26.75 - ], - [ - -11.3, - -24.35 - ], - [ - -9.4, - -22.35 - ], - [ - -7.1, - -15.65 - ], - [ - -4.7, - -13.45 - ], - [ - 19.3, - -7.55 - ], - [ - 21.8, - -4.35 - ], - [ - 21.8, - 23.65 - ], - [ - 18.501, - 26.95 - ], - [ - 17.501, - 26.85 - ], - [ - -19.4, - 15.55 - ], - [ - -21.8, - 12.35 - ], - [ - -21.8, - -23.65 - ], - [ - -18.5, - -26.95 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.102000000898, - 0.277999997606, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 101.688, - 100.038 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 31", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 2, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.4, - -0.1 - ], - [ - 0, - 0 - ], - [ - -0.3, - -0.9 - ], - [ - 0, - 0 - ], - [ - -1.1, - -0.3 - ], - [ - 0, - 0 - ], - [ - 0, - -1.5 - ], - [ - 0, - 0 - ], - [ - 1.8, - 0 - ], - [ - 0.3, - 0.099 - ], - [ - 0, - 0 - ], - [ - 0, - 1.5 - ], - [ - 0, - 0 - ], - [ - -1.8, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0.9, - 0.4 - ], - [ - 0, - 0 - ], - [ - 0.4, - 1.099 - ], - [ - 0, - 0 - ], - [ - 1.5, - 0.401 - ], - [ - 0, - 0 - ], - [ - 0, - 1.8 - ], - [ - -0.3, - 0 - ], - [ - 0, - 0 - ], - [ - -1.4, - -0.4 - ], - [ - 0, - 0 - ], - [ - 0, - -1.801 - ], - [ - 0.5, - 0 - ] - ], - "v": [ - [ - -17.15, - -26.75 - ], - [ - -11.35, - -24.35 - ], - [ - -9.45, - -22.35 - ], - [ - -7.15, - -15.649 - ], - [ - -4.75, - -13.45 - ], - [ - 19.25, - -7.55 - ], - [ - 21.75, - -4.35 - ], - [ - 21.75, - 23.65 - ], - [ - 18.45, - 26.95 - ], - [ - 17.45, - 26.851 - ], - [ - -19.35, - 15.55 - ], - [ - -21.75, - 12.351 - ], - [ - -21.75, - -23.649 - ], - [ - -18.45, - -26.95 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.626999978458, - 0.741000007181, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 110.038, - 94.338 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 80, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 32", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 3, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [ - -0.4, - -0.1 - ], - [ - 0, - 0 - ], - [ - -0.3, - -0.9 - ], - [ - 0, - 0 - ], - [ - -1.1, - -0.3 - ], - [ - 0, - 0 - ], - [ - 0, - -1.5 - ], - [ - 0, - 0 - ], - [ - 1.8, - 0 - ], - [ - 0.3, - 0.1 - ], - [ - 0, - 0 - ], - [ - 0, - 1.5 - ], - [ - 0, - 0 - ], - [ - -1.8, - 0 - ] - ], - "o": [ - [ - 0, - 0 - ], - [ - 0.9, - 0.4 - ], - [ - 0, - 0 - ], - [ - 0.4, - 1.1 - ], - [ - 0, - 0 - ], - [ - 1.5, - 0.4 - ], - [ - 0, - 0 - ], - [ - 0, - 1.8 - ], - [ - -0.3, - 0 - ], - [ - 0, - 0 - ], - [ - -1.4, - -0.4 - ], - [ - 0, - 0 - ], - [ - 0, - -1.8 - ], - [ - 0.5, - 0 - ] - ], - "v": [ - [ - -17.1, - -26.75 - ], - [ - -11.3, - -24.35 - ], - [ - -9.4, - -22.35 - ], - [ - -7.1, - -15.65 - ], - [ - -4.7, - -13.45 - ], - [ - 19.3, - -7.55 - ], - [ - 21.8, - -4.35 - ], - [ - 21.8, - 23.65 - ], - [ - 18.5, - 26.95 - ], - [ - 17.5, - 26.85 - ], - [ - -19.4, - 15.55 - ], - [ - -21.8, - 12.35 - ], - [ - -21.8, - -23.65 - ], - [ - -18.5, - -26.95 - ] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Tracé 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.635000011968, - 0.74900004069, - 1, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fond 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 118.388, - 87.638 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 0, - 0 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 50, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "Groupe 33", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 4, - "mn": "ADBE Vector Group", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [ - 105.995, - 94.026 - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [ - 105.995, - 94.026 - ], - "ix": 1 - }, - "s": { - "a": 0, - "k": [ - 100, - 100 - ], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transformer " - } - ], - "nm": "kdrive", - "np": 4, - "cix": 2, - "bm": 0, - "ix": 9, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 450, - "st": 0, - "bm": 0 - } - ], - "markers": [] -} \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 56e35b38a7..221ccd1467 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -168,6 +168,7 @@ Drive wechseln Foto oder Video aufnehmen Zum Raster- oder Listenmodus wechseln + Upgrade Mein Angebot erweitern Vom Telefon importieren Validieren @@ -592,6 +593,7 @@ Zu speichernde Dateien Uploads und Aktualisierungen von Offline-Dateien können nur über eine Wi-Fi-Verbindung durchgeführt werden. Übertragung nur im WLAN + Allgemein Einstellungen Laden Sie einen Benutzer oder eine E-Mail-Adresse ein… Benutzer können das Dokument nur einsehen. @@ -694,6 +696,7 @@ Endgültig löschen Wiederherstellen in Am ursprünglichen Ort wiederherstellen + Der Papierkorb wird alle 30 Tage automatisch gereinigt. Keine Datei gelöscht Papierkorb diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 2a3a706486..456bacd147 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -168,6 +168,7 @@ Cambiar de drive Hacer una foto o un vídeo Pasar al modo cuadrícula o lista + Actualizar Mejorar mi oferta Importar desde el teléfono Validar @@ -592,6 +593,7 @@ Archivos a guardar Las cargas y actualizaciones de archivos sin conexión sólo se harán con una conexión Wi-Fi. Transferencia sólo con WiFi + General Parámetros Invita a un usuario o una dirección de correo electrónico… Los usuarios únicamente pueden consultar el documento. @@ -694,6 +696,7 @@ Eliminar definitivamente Restaurar en Restaurar en el emplazamiento original + La basura se limpia automáticamente cada 30 días. No se ha eliminado ningún archivo Papelera diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c159bcc46d..10f7b2d7be 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -168,6 +168,7 @@ Changer de drive Prendre une photo ou une vidéo Passer en mode grille ou mode liste + Mettre à niveau Mettre à niveau mon offre Importer depuis le téléphone Valider @@ -592,6 +593,7 @@ Dossiers à sauvegarder Les importations et la mise à jour des fichiers hors ligne seront uniquement effectuées avec une connexion Wi-Fi. Transfert uniquement en Wi-Fi + Général Paramètres Invitez un utilisateur ou une adresse mail… Les utilisateurs peuvent uniquement consulter le document. @@ -694,6 +696,7 @@ Supprimer définitivement Restaurer dans Restaurer à l’emplacement d’origine + La corbeille est nettoyée automatiquement tous les 30 jours. Aucun fichier supprimé Corbeille diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 8f40cec150..2613ea491c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -168,6 +168,7 @@ Cambia drive Scatta una foto o gira un video Passa in modalità a griglia o a elenco + Aggiornamento Fai evolvere la tua offerta Importa dal telefono Convalida @@ -592,6 +593,7 @@ File da salvare I caricamenti e gli aggiornamenti dei file offline saranno effettuati solo con una connessione Wi-Fi. Trasferimento solo tramite Wi-Fi + Generale Impostazioni Invita un utente o un indirizzo e-mail… Gli utenti possono soltanto consultare il documento. @@ -694,6 +696,7 @@ Elimina definitivamente Ripristina in Ripristina nell’ubicazione di origine + La pulizia dei rifiuti avviene automaticamente ogni 30 giorni. Nessun file eliminato Cestino diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index e70c240c47..05698df6b7 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -18,4 +18,6 @@ #88969F @android:color/white + #333333 + #1A1A1A diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index e99e1e9c8f..3abb770820 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -75,5 +75,6 @@ + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 5701d056d4..d50b82761e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -21,4 +21,6 @@ #80111C28 @android:color/black #F5F5F5 + #FFFFFF + #F1F1F1 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 21daa25623..e5c965a14d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -179,6 +179,7 @@ Change drive Take a photo or video Switch to grid or list mode + Upgrade Upgrade my plan Upload from phone Validate @@ -603,6 +604,7 @@ Folders to save Uploads and updates of offline files will only be done with a Wi-Fi connection. WiFi-only transfer + General Settings Invite a user or an email address… Users can only view the document. @@ -705,6 +707,7 @@ Delete permanently Recover in Recover to the original location + Trash is cleaned automatically every 30 days. No deleted files Trash diff --git a/settings.gradle b/settings.gradle index f0413ec4c9..88349d67b1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,4 +21,4 @@ dependencyResolutionManagement { } rootProject.name = "kDrive" -include ':app', ':Core:Legacy', ':Core:Legacy:AppLock', ':Core:Legacy:Stores', ':Core:Thumbnails' +include ':app', ':Core:Legacy', ':Core:Legacy:AppLock', ':Core:Legacy:Stores', ':Core:MyKSuite', ':Core:Thumbnails'