From 0acba3024535f8e11ed4769da7171dbde553fd52 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 3 Oct 2025 06:57:20 +0000 Subject: [PATCH 01/20] chore: Release v5.42.0-dev.11 [skip ci] # [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) ### Bug Fixes * **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](https://github.com/ReVanced/revanced-patches/commit/6b2634691423f5ce25a28b3f2fbc420977b81748)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed6e0304a6..697e5e87c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) + + +### Bug Fixes + +* **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](https://github.com/ReVanced/revanced-patches/commit/6b2634691423f5ce25a28b3f2fbc420977b81748)) + # [5.42.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.9...v5.42.0-dev.10) (2025-10-02) diff --git a/gradle.properties b/gradle.properties index 836249d0a2..657e57e010 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.10 +version = 5.42.0-dev.11 From 963a4ef43fd513de7a2d7d019992f06b62fdcc10 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Fri, 3 Oct 2025 09:19:01 +0200 Subject: [PATCH 02/20] feat(Instagram): Add `Sanitize sharing links` patch (#5986) Co-authored-by: oSumAtrIX Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../privacy/SanitizeSharingLinksPatch.java | 15 +++++ .../patches/SanitizeSharingLinksPatch.java | 12 ++-- .../shared/privacy/LinkSanitizer.java | 60 +++++++++++++++++++ .../privacy/SanitizeSharingLinksPatch.java | 33 ++-------- patches/api/patches.api | 4 ++ .../instagram/misc/privacy/Fingerprints.kt | 23 +++++++ .../misc/privacy/SanitizeSharingLinksPatch.kt | 48 +++++++++++++++ .../tracking/url/SanitizeUrlQueryPatch.kt | 2 +- .../misc/privacy/SanitizeSharingLinksPatch.kt | 4 +- 9 files changed, 164 insertions(+), 37 deletions(-) create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java new file mode 100644 index 0000000000..b7a017e77f --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java @@ -0,0 +1,15 @@ +package app.revanced.extension.instagram.misc.privacy; + +import app.revanced.extension.shared.privacy.LinkSanitizer; + +@SuppressWarnings("unused") +public final class SanitizeSharingLinksPatch { + private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh"); + + /** + * Injection point. + */ + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java index 6952bdcd1c..d028997276 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java @@ -1,5 +1,6 @@ package app.revanced.extension.shared.patches; +import app.revanced.extension.shared.privacy.LinkSanitizer; import app.revanced.extension.shared.settings.BaseSettings; /** @@ -7,17 +8,18 @@ import app.revanced.extension.shared.settings.BaseSettings; */ @SuppressWarnings("unused") public final class SanitizeSharingLinksPatch { - private static final String NEW_TRACKING_PARAMETER_REGEX = ".si=.+"; - private static final String OLD_TRACKING_PARAMETER_REGEX = ".feature=.+"; + + private static final LinkSanitizer sanitizer = new LinkSanitizer( + "si", + "feature" // Old tracking parameter name, and may be obsolete. + ); /** * Injection point. */ public static String sanitize(String url) { if (BaseSettings.SANITIZE_SHARED_LINKS.get()) { - url = url - .replaceAll(NEW_TRACKING_PARAMETER_REGEX, "") - .replaceAll(OLD_TRACKING_PARAMETER_REGEX, ""); + url = sanitizer.sanitizeUrlString(url); } if (BaseSettings.REPLACE_MUSIC_LINKS_WITH_YOUTUBE.get()) { diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java new file mode 100644 index 0000000000..9cfa05c1b9 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java @@ -0,0 +1,60 @@ +package app.revanced.extension.shared.privacy; + +import android.net.Uri; + +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import app.revanced.extension.shared.Logger; + +/** + * Strips away specific parameters from URLs. + */ +public class LinkSanitizer { + + private final Collection parametersToRemove; + + public LinkSanitizer(String ... parametersToRemove) { + final int parameterCount = parametersToRemove.length; + if (parameterCount == 0) { + throw new IllegalArgumentException("No parameters specified"); + } + + // List is faster if only checking a few parameters. + this.parametersToRemove = parameterCount > 4 + ? Set.of(parametersToRemove) + : List.of(parametersToRemove); + } + + public String sanitizeUrlString(String url) { + try { + return sanitizeUri(Uri.parse(url)).toString(); + } catch (Exception ex) { + Logger.printException(() -> "sanitizeUrlString failure: " + url, ex); + return url; + } + } + + public Uri sanitizeUri(Uri uri) { + try { + Uri.Builder builder = uri.buildUpon().clearQuery(); + + for (String paramName : uri.getQueryParameterNames()) { + if (!parametersToRemove.contains(paramName)) { + for (String value : uri.getQueryParameters(paramName)) { + builder.appendQueryParameter(paramName, value); + } + } + } + + Uri sanitizedUrl = builder.build(); + Logger.printInfo(() -> "Sanitized url: " + uri + " to: " + sanitizedUrl); + + return sanitizedUrl; + } catch (Exception ex) { + Logger.printException(() -> "sanitizeUri failure: " + uri, ex); + return uri; + } + } +} diff --git a/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java b/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java index 55b78933dc..61cb977a2f 100644 --- a/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java +++ b/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java @@ -1,18 +1,11 @@ package app.revanced.extension.spotify.misc.privacy; -import android.net.Uri; - -import java.util.List; - -import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.privacy.LinkSanitizer; @SuppressWarnings("unused") public final class SanitizeSharingLinksPatch { - /** - * Parameters that are considered undesirable and should be stripped away. - */ - private static final List SHARE_PARAMETERS_TO_REMOVE = List.of( + private static final LinkSanitizer sanitizer = new LinkSanitizer( "si", // Share tracking parameter. "utm_source" // Share source, such as "copy-link". ); @@ -20,25 +13,7 @@ public final class SanitizeSharingLinksPatch { /** * Injection point. */ - public static String sanitizeUrl(String url) { - try { - Uri uri = Uri.parse(url); - Uri.Builder builder = uri.buildUpon().clearQuery(); - - for (String paramName : uri.getQueryParameterNames()) { - if (!SHARE_PARAMETERS_TO_REMOVE.contains(paramName)) { - for (String value : uri.getQueryParameters(paramName)) { - builder.appendQueryParameter(paramName, value); - } - } - } - - String sanitizedUrl = builder.build().toString(); - Logger.printInfo(() -> "Sanitized url " + url + " to " + sanitizedUrl); - return sanitizedUrl; - } catch (Exception ex) { - Logger.printException(() -> "sanitizeUrl failure with " + url, ex); - return url; - } + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); } } diff --git a/patches/api/patches.api b/patches/api/patches.api index 01e889e442..806d7a46e6 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -288,6 +288,10 @@ public final class app/revanced/patches/instagram/misc/links/OpenLinksExternally public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatchKt { + public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt new file mode 100644 index 0000000000..78ac35f85c --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt @@ -0,0 +1,23 @@ +package app.revanced.patches.instagram.misc.privacy + +import app.revanced.patcher.fingerprint + +internal val permalinkResponseJsonParserFingerprint = fingerprint { + strings("permalink", "PermalinkResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val storyUrlResponseJsonParserFingerprint = fingerprint { + strings("story_item_to_share_url", "StoryItemUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val profileUrlResponseJsonParserFingerprint = fingerprint { + strings("profile_to_share_url", "ProfileUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val liveUrlResponseJsonParserFingerprint = fingerprint { + strings("live_to_share_url", "LiveItemLinkUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt new file mode 100644 index 0000000000..c7b4d0f409 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -0,0 +1,48 @@ +package app.revanced.patches.instagram.misc.privacy + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch;" + +@Suppress("unused") +val sanitizeSharingLinksPatch = bytecodePatch( + name = "Sanitize sharing links", + description = "Removes the tracking query parameters from shared links.", +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + arrayOf( + permalinkResponseJsonParserFingerprint, + storyUrlResponseJsonParserFingerprint, + profileUrlResponseJsonParserFingerprint, + liveUrlResponseJsonParserFingerprint + ).forEach { fingerprint -> + fingerprint.method.apply { + val putSharingUrlIndex = indexOfFirstInstructionOrThrow( + fingerprint.stringMatches!!.first().index, + Opcode.IPUT_OBJECT + ) + + val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA + + addInstructions( + putSharingUrlIndex, + """ + invoke-static { v$sharingUrlRegister }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$sharingUrlRegister + """ + ) + } + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt index 26ed42660b..cfdb320e19 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt @@ -6,7 +6,7 @@ import app.revanced.patcher.patch.bytecodePatch @Suppress("unused") val sanitizeUrlQueryPatch = bytecodePatch( name = "Sanitize sharing links", - description = "Removes (tracking) query parameters from the URLs when sharing links.", + description = "Removes the tracking query parameters from shared links.", ) { compatibleWith("com.reddit.frontpage") diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt index ff74565c64..0954d4ed55 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt @@ -16,7 +16,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( name = "Sanitize sharing links", - description = "Removes the tracking query parameters from links before they are shared.", + description = "Removes the tracking query parameters from shared links.", ) { compatibleWith("com.spotify.music") @@ -24,7 +24,7 @@ val sanitizeSharingLinksPatch = bytecodePatch( execute { val extensionMethodDescriptor = "$EXTENSION_CLASS_DESCRIPTOR->" + - "sanitizeUrl(Ljava/lang/String;)Ljava/lang/String;" + "sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String;" val copyFingerprint = if (shareCopyUrlFingerprint.originalMethodOrNull != null) { shareCopyUrlFingerprint From 9441e7acb4817e12d1443d438ef6c448518bd614 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Fri, 3 Oct 2025 10:19:27 +0300 Subject: [PATCH 03/20] fix(Custom branding): Update ReVanced logo (#6049) --- .../revanced_header_logo_minimal_dark.png | Bin 3338 -> 3490 bytes .../revanced_header_logo_minimal_light.png | Bin 3123 -> 3101 bytes .../revanced_header_logo_minimal_dark.png | Bin 2111 -> 2240 bytes .../revanced_header_logo_minimal_light.png | Bin 1985 -> 1997 bytes .../revanced_header_logo_minimal_dark.png | Bin 4499 -> 4676 bytes .../revanced_header_logo_minimal_light.png | Bin 4270 -> 4216 bytes .../revanced_header_logo_minimal_dark.png | Bin 7477 -> 7648 bytes .../revanced_header_logo_minimal_light.png | Bin 7082 -> 6882 bytes .../revanced_header_logo_minimal_dark.png | Bin 8583 -> 7966 bytes .../revanced_header_logo_minimal_light.png | Bin 8180 -> 6895 bytes .../ic_app_icons_themed_youtube_music.xml | 4 ++-- ...ube_music_2024_q4_foreground_color_108.png | Bin 1467 -> 1447 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2821 -> 2876 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 942 -> 943 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1797 -> 1802 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 2013 -> 2000 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 3948 -> 4077 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3217 -> 3163 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 6175 -> 6256 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4447 -> 4429 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8589 -> 8744 bytes ...daptive_monochrome_ic_youtube_launcher.xml | 4 ++-- ...daptive_monochrome_ic_youtube_launcher.xml | 4 ++-- ...veproduct_youtube_foreground_color_108.png | Bin 1467 -> 1447 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2821 -> 2876 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2821 -> 2876 bytes ...veproduct_youtube_foreground_color_108.png | Bin 942 -> 943 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1797 -> 1802 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1797 -> 1802 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2013 -> 2000 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 3948 -> 4077 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 3948 -> 4077 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3217 -> 3163 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 6175 -> 6256 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6175 -> 6256 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4447 -> 4429 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8589 -> 8744 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8589 -> 8744 bytes 38 files changed, 6 insertions(+), 6 deletions(-) diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index 1e53efb50c315aeb5ce417228edfb7098e902bfc..c2995578d9904564df539bb0c396aecc217b3d07 100644 GIT binary patch delta 3459 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 diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 0a1208b4361b07b73b2fd3d5c9bbc04c6da5fed8..9bd381fc75fd7e54e72e939c9487bd8b3de5e1fd 100644 GIT binary patch delta 3068 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 diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_dark.png index f0100a34ddcd7d9b7575077172136b7b7e4194d4..834b0690b4a95d21620ea14877a238c6e00638a4 100644 GIT binary patch delta 2228 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 diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png index fa4221c54ca83a93e9a7419dec4f1841f1d3dca7..e147d3f6bf33b0b41f9e806af3e6be67d73453fa 100644 GIT binary patch delta 1983 zcmV;w2SE7256usdB!84iL_t(|0qntn00000fS~=U7pVdO0001h*|iJUHny~l<0^-l zxnG@rx1rrKW8g9~Gc%Q$nOp5;W@ct)<}!0q4nO->bVfQF*-kccB_;Ax{gm;{@r>;E z?eWamMx6#a*A7nJHL>H%vn~+j+c+=Um?kUV1Q0@v#*2C0F77vKxZsmxHrH%l_XV zPZ7U0#cUSy-0xFUQxk&kXv<4Gn&1Pg0h*23MC|KB_SqgSD8X4^BE^$kOx7tWDM@MR z{7p;ohHYjHV}IR^z-%zt&mm)w;1Z9HXij30fN=Oq0+JAdmYQhmbp|fU$;mksuF^gS zps32p$x&|CT%{(bs36;;ysR#^hIMIdV@$(XyAjO3DrtuQ^KsaBP>#LWhy7-G6;>hv z|4SyL0-vHS+&Kp2*p6(p)Vzvv%tYWqvF5u!24Z7lRexGqs_naW>X_jrdS~bqtvdNG z{dVGVp<(∓L9t(2|BRWo2dJIo{3>7Wg>qcaR@nA_Ps%2*@aaJNH2N25rz%^BII? zfxHP6LZQ~VuLM$3Qp60QjT<-Wp(h{Fg`N}j_xW$>+q0e(8kR5eoTLXHe@L4*Zx-Vl z*!wX1Tz}6oycP3H2>(Hm(G$~A58*VplYxH7cNH@P8z9^PJDso&!dTe(e+)o3FEdDc zL|N;zF&KsLm!r@ho#88C=#Jiqhp)6pkr@|-cOWc6U_#+~*@d%(g@x&c8*Y$D;lGMB zr);TSzVLm#r+G&&S3zN+>iKumO*bhtG}Py%BY%4PX@aqE=V!<@<)z?p9EOY^aV(tN z2jK(Q83-BwHtTxh3&`>_PJokBunkXR1!^GUV`RZjF}{L~D!dL4?A(HNkg*Fhy)@y; z_!Tm?VrRgcfY0%ZeO(dIAmZdsyLa!_f~E76o7z(=F8f9+FaK6u(|T#%;@K)MFBkg| zvww!qOGdU|;-?A5!JQu<%rcLotj3Vpz8*p?`j~O2LO6tUIGF|E543>?b&#{_KOiHpO+cYW`@1X*2?^2E zsZ&)|RjKr>B%OZrQk`+ka;0S^>G0u0ntwihx){^geSQHNUVr1fiSe|cz&Uf6XcW`YU+njkSTQ67&+)z#ISFmaqBB7YMV z5tXR%RY4>wm7hv}@NcB_zZuK0Zb}cka|Z_uM14HRTTC&3>Ao z9yPA%`3t1EPwEFl%57E#ZhJrx%h*Ju;qM1Ma`umsuY zg0~@j2Pf_DCxmw}6vyLOvpfL((a|bU6@h85hCh8Y!5+lINj45! z$4G;WGhinaP9{M(WX2tf<1qq*(I1KE>Sup*1KtEQKst?Z*c8q0xxq8fJfqdCS8LU( zReJ8Z=d5!9-^{)ma=0x~%*?;7wpo4&QC;BOxXx zMuP?ol9M4rhKO}$yWjJH_kA4pD+p6y=RF92qJvqNheHr{;YHV_*nd5+GZwP!M-rSo z2H`hcg4<9I86({v2VR<>60$B)uYrtT@FI3VMxGh>3S_)*9#=s)Xnm~RB4|;D2_E!eDepF+2!txJu~3 z`9Td#A)C+aqlTMJT-Ua=1iwzcwCTSn^8X7Xnu-&j7MtL23n^rMbADXnG!XmX21iRz zun|fq<{wR+6&NEk_D^Pjvfw+|O2Vz+2#Puqf0-hC#Wvw@nqdq#l{j$=rqv}cFRvp7 z9>(l2j=zuMZ8+mmia(LRBlvEi(|_Bc0~r7S0DwXM*5~+E2$=!^0001hg#a-^x*x`V Ru}A;_002ovPDHLkV1fkAsdNAU delta 1971 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 diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index ce0f1f9c788cfe567700a03fedf44717290b33ac..f9f9db247b2baa1c50048c8c56f9623d5c5a0df5 100644 GIT binary patch delta 4185 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 diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png index 26b48fad13a632bc4ab35a129d54a9adaedbd637..4bd24b995f300600b3e38d7f9a6c8764a1aad1c9 100644 GIT binary patch literal 7648 zcmb7}^-~ny*T{DZPcf0|1bM{;lIM(f{Q`EsO*JfCixi zk$LZp^rtiMpN5N?eV#70F5M>jZ}UF~NLQly2Ed_5sDR{cXXG^&AQa1EzZ5kE@}QcD zfiHTt;MpxHILzv5z9d+e`L}J0mwB9Iu|w5o7ij?n5d+Gjx}!({nbFiq)Ri^mm-O9zxb_jYtR$A6kP}bUGH^#GlT$Kwz@|4 ziYS;VSMrb^AQYxLQG#|h;$Ns23xgysa-no+d(oUUEqnZ&W(4PSb#-~RoobNBQ~h+d zQoIL$hb6|cEPL2GA*F0N1u02_!9&Bt_Rghn{Pi~26PEuK-OD?+(GP%eflGe4sv99N zzSgtk^pQNl1dttp)FCiRk{}F$Z2OqfLgCGgw15 z3VqTx@k|xcM+F8)MD_v5Y$b!)0^O;Z{m?6VKvM(%DyM%U&x73fP+@o)6{YIzwE7jWokyU`=D=Wisgs_jqBB%@Z7GZrL_25I9qAJ)WTk_%piwTN>sO z9AxM@`k(5wKam|>T5DfjhFMIC48=QXqXdJCu{y+o_sPdr^xy!b5djF~{SVmHOv~^t zxKJ1K6oC8YpMosSItnM0kBgp?zZD-p>e2%M;~&OXbvo)Q`8RmOESlHzMn*>1W~@H> zj*L7lGQ|!*$-VpZ>C^5FPZEzYuHTE$*!$x(LQ6G@-gtkzk}i_yuyg`1ts6h^;UY1TcDK6ifyJrrXB= zFO;}s9}hwxrPZqkg6Ut=29g?929`kR)1(vsLl$Fw9pW2*@X_=oY9mm2VQwhNkT^=0 zZ<8|K4B!P@iJ4(mR@-OI;PJosJ#^rXv{G+I=n^C*0P)U!87 z?vwcboER`9K6sPLc8PpW3)~H(v5!)36N)3{J9M!*+dJI9o2K$1Ghhnhs7w1od3=D; zm9cclL1@x2++Xa_@lE_-9LiO&lz)EFVd_m!0S;|kD%APkuX7`xNS2*TpGBxbk_(_rYW1%FJ zPgrH%ZK$Wq5Ss9Y;nExO=?IF(9RIn~I z$CODwPJ6;j>&P*O7;!nfdQ<1Pg#MdZROT9(C5-(BgP z!}5U?-P~i}L$KK2-K|^G&l5$;#3VSJfyt)6SSK}K|M~_82fsBPX=r9sKkSQz2QHck zCESnZe~CJ1FXBrxaIln#vHEL>pk>*u8~_hffF72H?D+lkMlmY~3jIb>c;2e01Sy9R z&?!I`-p>E=gw%Rdl4Ef8jr0GJ^1<@iHGg4-*`DJ%;ESaL)v3k3319uj{J7lU`W>TM zR$edP>1mmw&?;akR#XpXGbWU;L0NZFv9UM2ni774#PcRrp3GpZW5RX|G3tVPXztYL zw&Sut!BFV_^6U?b=hAO^bEsPwe!arF*&jIUTD*pwena?OH)CP@XVe3!y^Lk}6ma1c zjf5{rOOoM**{<#s;&T_p1lzL$$}`!ylP=&art0kz&6E?P#?Ys~>%kxusRLvA)XX4C zI0qahfDhX+wr>i!(^TezpS+;(aFv`6L?j`kkW4I&Pisf>|?>wYw~n z?Q@Oy(1m|~!d#=|P#PF}-n_JJ?S=mC`N}oNj*?cluae#sOg44;hK+VT{K2 z48^>z;=;K|ZKb>j?(@-_HSBRoI@P`i?{P3^SqqSR7X2OMg3Pwvo!#68aRv0gXFJ8Q z1YX#6KKQ5l@p|;fb2Ghg14rlNdf%o>STG(UgVboY!flloSTC+wx8-23ARmc6$aF37 z<8PECv>~kb?=Qw-KuGkz7tnoG%`k*C;MB9EOd)^jzWKT6L(X?M!9E41ZC`6?3nAzj zJ)HVe-~}NeA#_~wQS}w^tJnG!0R9rpx{xf#>pJ~0;LC33QRUYOJM(CCT?^u=5>N%n zv0aTkOoD_6{ijqw+ap2f`Bp#Un>U(p(v)yqb10oKN^RhHpy2E4cS#A}8N$+egcOuC zo4`vdjS|4b60t=mKa%Q8b!dxaPMVO9|JA;hw&Z6OIa6eV5QndkE(KpgeHIak0w&hG z7jX@8CCs5HnCEA=TnwQmuAcp}H3rd;DM}ER`6rEM8QdT;2&xZHS?VAMVDY5LgwoQzVrF5<@qfI*#KQ?`O{5vG`-){BcG^+JKn1&|oChdf%BIb& zv+Y2|mU26W&3cz(Ln;J2NGe9<+dPWanPF@RLa|fb&_udDgC1` z$csINb>w$q)%am5zBaxDy1F4%uwZXiKZ~DJgrOi5H($hKPsQxPvi6wuf{~LJdo2HT z&q6Zk3;CRv=;OMdD3O@obR*ox){N{zaQMrV3fvZzCT|DV)83g~pl#IsaJt9^A@X@w zdh?;~`$nNwwqV=AQw>H@#T#_S<_OPPTVu=rgrW{ev*5h+7wm6yW7V=jcZd1@&Ux z-xCt7cIyG?YzkX|u z&{k4aE1qeNng8P>6rbL;=lL_nVsnNEm07e_G|jB$(4{6Rcb&fK}4gjNYnFQ)sx~@{1#a-}o~RQ@Bho!9q`z)kRPm zL%%7IR905HAW~95sAy`Y-4^7D!0H$X*ix(>fZwN@m`9d0Hb19;3$I)Z%aKse9D zQijqVHOx%Xf3uYD&4RH1x(t<1##=svQ&Ne&(bF*Cty-JYj@}UGX{U+K?>7qnrfc?* znw*yut25G%v*_U+*iGC7yA^xubT=01WiN@cI7_n{i0rx1Rcu3)W4G#ITvDD$FP zp;lChQYrGE18zRuUuv=o2#`vAxgnu>u{foKGA=Z^%v3uv8(6-C?eNY0bJ`oprGMEt zf41&e?I!!>R0aP2Q`2rn8$9(u-OlY-+hNhc(Mj9hYPTgus|dh+A}@|Gs5z1R)QBr4jQ-I&3hiMi{zb_wU$GH5B)j_IeqL&`-yu8u^84gXX((^^3{7LYIwbCq z;SqV{oRRjmQ^%=BnU%_o!?eKzjlI)k2rNP|*vqX(q|4NOOF#_H?5jzjyZ+b~9Vw@oa7$cN$x0 zRAnN&M*;Oelc{O``LR1R{y1m~#q)apTBt~LEOk+0ICWy@)>!p8euuwQl=gOfY*bF9 zJB~pv=kRVnH?~24uQvX@OIa5S`g?&q*B=+1YLPnl4g$p_UvpZ{o(voIleha%O!XJI zbm#<-SW6>FM`Q3<`aMdPWN~bwvse7--SEt9d6CxGE^DwFLU3504B#EaQR}Fc8PCQ> z`cQ>)LX>R-j3_Xbm_l*HM8+bthkg%N0P zUULsRwTDQtvLehm$yoZMAHCQRE638zJMYgblS>qXZ&@etB2@4_{M(w`&Ihvs2!W&O z!W*cFe_lBjh;o0lIg-kEU>SoWqA!gQ%crM5LDQN1EwQ(oBlId_UDa9|*;_vs z3A~+{^{$e{qaMGZ@PeWo34yRzQRso6Ews3wrgTDsl}LLowr(dnD6}=rJG9AM^1~?i zV`)8>o!E@X{;uXG8sRS&*1kTcuc`WW-}4bQ-4PVl2gpsy3;X-x~)Bgqhx zT!X*RTQWZ}trUm3v^IzhB)Z)3>Svzcez~2a@6}%e9I!7}ZAMQ=INgn~ib$_!{&@XS zk8~}~z9j{TE#lp{b*1OR`?(p!Ue3a*LK*TUqC;(p;;h>lCS(@J>`Xh)LJ;jadhPmDm4v#mll?b0Uf(Wbi1t ztVtxvuT30Wx+R?PqMHO!)%vk5CQQ~KR9`r^j;OTM7e3nAh|Sq9uFJ>WnS0D zj?udXd~kV2YrI{oa~y8bLf+@K8mbthm-`sQ(Zf~p0#Mf@+YDk+G4ewtDXc|b^v%MX zph>YWwC8>=!Y$M&qe*rhWQmq)PM+fMip?du`|)65dZ8aYhtcj#EJWCD{|8@hNrOBN zwCud3cryx#>M1;&208Rtg}dlf1-yK%DyH-u{9ILCy|C+M)uNGOlI9g@(`%hoA)VGZ z6D`n-{!n>wufCjl*kk5mZiU|TlU?9jUre;5&Nn?ZU5#MEJ8=Nv4bgcYl{4fAh16H^ zBXhV6`VgJ*+n}YA8BW2$Bu(!VResn5h9>b5;nT0H{3c#o(Y#J&w?Sz9A|TsHFOy?x!WfG)?aDzuqY0@XkV<8RHc0*oKB+6D0(NN= zW-&@&+v1+q(=?x$N4RcKCMa{p?Rsi=g&3Tp{aCm0Ci37)RSI`}jWBR*A?M2^*fbKF zsSRI@WE5oG&@_I(?De5$d9MhOu{lU@hZtY8M3Fe}A=dJt^Ik{ly@pJl5$qLL5TaCB z1|$4!#ho$}Cb+k#Wga8H4c>>kJqFsF&^?k;Bh2B3vwey&Iiw`QJZF>U5uNA;PAa%P zgK6x?V0%uio~#gJO|Y2u!XO7L>yh@DTG3bD!cch+#W(~Cwm*kn*&m1bxN_e%k0aft zLYN!7>u##`Zd1m574wHqv#q{p_jmoG$P%P3F~WLEg!I-ZB0O=&`5F7Wd#`%d#{l6n zR90O0-TrEPHVyXK6eXOvnJ{|Y#|Dn6BWt97*S8s?0pU#O({>l>NdxJj;MM5?$|P{W*A-L;U#4#%Gn;P0IxX|0B=k1WrgUooDehyz?(X#Ed{+NdON zoC_IbC;Hrv$O#WA8;-H$E8jFf`HH{>N_|4UyRZuo^ z(nPfPg_?n^$l$r_p6|@}eRb=9MLiCuwU*zr>Ll2p<8H^`PwuOh*zB>#a~G;I5jo(0i_Fsy{y8t*&t9o5*Kv(|XLX~j?ibRcH`V=s4>+ zR@Zn<)xQKx7DBIGv`LeakYNP`^Ah+jShIYj#Mq&Fginzxgf(` zF-@YZq2bl`{9x~uMd>A-ZhW*A6@{CG6$G;U9MgsEBo~`CQhqi*GlfL%yN*UMnx~ND zpGw#{c~6~!o}^|WMTfJslGCE3V#DRaSRNr3)n7u%TUL#n3f#Z@rPX3* z*DTnSQ-Ey~UV0TVJZzE=cD@_!OOD5^hJ)YY z@``xouQeZ(hf$&S%KcfQEg1|i`}ZvqE?#2%sUDW*c_&Sb&cLfr%bgR*@B`UA>h_&k z?BtEF9hOh;tU?=U(N3YdHK_y$oo8J=bM>wDD6b;Q$k33Rax&Lw%SRx}xg0SekEZ7~ zc6n=<;{6u0C-iWQ)*H7FtML}=&)(}WR70iSxfW$^4nrL%^WR_;Yj`8)N7i9_IcO8 zs#IeDd)%wmPNYws=(*dPn~_SC|M(#cM1iWVd)pOb85J^NS_lQLl_j#E&s5&gV5@ja zf2?FzOL@bh!0pk?%m>D0h(61yE56C>{TacJ?64VWA2?SRzKO)Ue#F~PN)xiH%^rj!lSQ=z%Kbr2b9I+G`UAVy;X{2oPR~lF z#s@yV$-=Q;rdE~5NLSoMJ<~@JFqy1P!@Ky1 za2d(w{n@#PIyuZ zIuUd43UG&g?U2{(WxkW_1;$R*b)2^3s-lyB>RA6~gtzj5C$U_N$94hc(KkLwxEnDG zARX_p&Zp*q?oGIJh8|fVsViYJ=p*3ReuvZTD1Ln~EuXAIa9KS`#n=Y_6_Vs96X0Ex zBhOhwW~`zywm7?Fgy2i0rHi{@@(uPCsvR-U@T@ZtUjBRlu{T|V-U4&65~nR<;La1o zZz6~s5FwRw3HCpQjMW;q1JF}F5$?6Pe!Wk@zl=rb{z@j45Y*9aiL~1qW+kr6I?8i6 z@Kmsp1p?)&4H_herl4hwR;?QiMp5IlC}FssT#-;OZ^P-*41aiWL3SAh2^UqyJvtV) z020@QMz)2tB9Yb{Sfb z_xA%SdPE^G-XMcQc<>VCFYMO$Nqoi*u2#l>7P5w~OPNqjb5`kUGM1zO37oeS`@H~Rc?X-#XlB;(kuMS+kZ zor!jwb_LEv+o9Hu+E9?l_&D>LEH$6{4f=qVT-Gd^}-Ko$o%H z!C>#;wVvouI`#(Zv+h#DParVZjap}gW+gC9IV|iZ%@_i)EOo?NFOhQp4(9mA*OsaF z6#^lN?0rD-o{7`LY+HkDdx+DX+D9lrAYk6roycOr`Qf)KX)`Q8zXO5s#bd~E2W?b~ z+1U=sjRg)c7-k1=GOmsz+ZR*=8A49J9XSXDP|)C~IrGq_c(&j_&QJPJS!wp7!&nb2 zo}DA@LeTYUCZuIx^$x0?4p_sp*!C{YIVdt|6#*zh*@mWsBq|qT-&F6Psp($ zMPx7Xzg|6*`2ejt9=~A5Ev5MDC^0v79 z>FlCBxN2&L9;$NkNC9(ot;Pz_T3yUHRk^l)%$kAZ^i#}AU7+EPBMP`=KS9oO7iNE JGFh{4{|ARYkOu$& literal 7477 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 diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index bb7f1f34c95122c8a519f3ad965a917a8435268b..f157928cd21ccd17411eb477546b5e8dee5aeb00 100644 GIT binary patch delta 6819 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 Rr5peN002ovPDHLkV1i0R*V6z1 delta 7021 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 LNkvXXu0mjf;{IIV diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index acbabeaf970c198fc30e0e1868716e9e3d516d7f..4e65b42c65614abe0b648d43b02281900677c9ea 100644 GIT binary patch literal 7966 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 literal 8583 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 Bg^2(F diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index 33dc2d29384eb600d141868125a797c63e7c5458..566290423ab4c06218fccc12e9913cd89817909b 100644 GIT binary patch literal 6895 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 literal 8180 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 diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml index 084c876623..72cd56f5a7 100644 --- a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml +++ b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml @@ -9,9 +9,9 @@ android:translateY="89.6"> + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 5c2cb369ce6ef6001f4532ae883ae1171ba752b0..93c925a28dd7233215f51ffdd0169fdad56ba10b 100644 GIT binary patch literal 1447 zcmbtUdo@l{?S2%9V7dxM4z3 zDYEwPh~dg@*jn8@qA0Iro6@qp@BDxNxaZt+zTfZXe7~P_KA-P7-*di~e2GW&b2?qZ97_N^Po$_x#cDbrYmjE+{ORR<_-y9>p}pK#6FLNe zK+x%QYXl;j{-2u8D=<$0(1gKY000=m{=LaPX^mJl{oIgf;80XUGS1xB#EyBxj$y?p zN6b~Y8D}@rO&O~^-lL^Zo4RD;0!lbJ<}*-xPh8iqT|EfQ87gbDa!MyFZTbgg>s;RF zp%H31Qr-d%z+1OiGw@r`5fh+ZM^1W(N6g9eIh%T)x^LVhR6=-Sp$jMi+dcl+oDA(U z$r@<>apY?RmjcDQiSjbY;${AaaU*cL>@0%8@x?|e2 zimhC_#}myg)Jyu~DNN3%Ca4m%-ugku!P14NxK1<(N-hI$FZ-1}ZJ6V4B-$FGoX!}o z;g8xkZ?o@Pxt*Ai;O`h2)#tHa`%%k;V{hN%bfcZFr=8XWv95e>v{E5l?yZ=*ljCDK zDu8Qo_{=GAi?cf`@O5rsdCzg9c4^6;*i;y6%lkPxe?CSeekuP7ktFogibD0g@)n)s zvrQ?|`{6=kjzS$3mq1^4up$%rGD@6xcjh21_v=3S>2?-dS!QH*bu+8aE}f}B2cY?qu(lu}7=YGENG zz;6zRS@r&}3a>DfZGl;RI^1h`#a$wEDttJ`)a^iJkYcyL@$qo4XSTvsP1gCzXC13^ zIwFi0MZmBPWPA2;CHg=2ly;gquT;cU9Za-~OfAJLI0WVtX}I3ZRn7};{P3m27*y71 zzgL(BS-_n|cx)5EFJ>0AgWHdeRujW?MSo2M$#8-j76@93)&sSY@c4RZ;N`M&c;2@< zS_c;Eho*@8pC>-NSY_P=9ngfn5E(FQZoS?>o*AiV-{s?cuiK1@Jy>-xatSS(FqHUV zAsE;3pN2Pfk)Nl&LkWN2p%996KwS}MX$|NJb|{V1#8u2j2lXh-+htd7JCU_y+mx!Pg@eSb;JEIkx}FCtunWM zb*FiQ+h3i7pp_qyaDAG$2~MCyw|a+$%51SfGqm8l4H@~+^&9=$VY=!kV) z*?s!Bk7j{D;?5Y&{Jp~hQKk`6$&6MmZw?tb*$X!YljG^tREgo*F@_;+wvICXJG&-H zo96Azw|wKhX}MAMXTb43^;(!O+9u18(wCdQ%U7>gp0%+h5y!f>V{qTJms zvGOb&8(n!6wYXN_wVBzL*Sy^d+jaked(Zj&@HyvmK98S1EJO#Q=pg2XH{fyh8gz~a z{SIP-_N*3lub#`lyq^RM=BCu0U{DPidB|<3O}R1BjHn&}utQs08vp?G($gd@c8fFu z%~^TTN(NiWqsil~mH(1$Y;-rpBrZqKB$aojUn~xH>W~xc^2YOgNJ$!senlL$alj4~ zlCKzt+B&yx-S_fKkMD$`Xuh6E+iL)n&^tHWxj4* z(z%i-A{@6No}3fTq?C7c%xuXTh@In;`$n$o_k^)S5UdzFS87iBItHFw&a9&m++w6^ zmzLC@E(N6PYf$anV}pkTyAf7vt1Q{X)x*ZH^2b8qojb|;r@ysJ^eAp1 zZaQ1BE=nxn$eaY#*qv=k&T?s+ zfix7MuHK$b%1c!`vvuQIxp((Q##pLbh4bUf@6h&ueY+^X=(s#kOI`TJ`W|w8G)+M6@d*=6PGKFMcUf8z?doIwg>@xD(5o( zyoWvAgb7rB#ju;lK+ef=Jm;t&nZUF%406ewdh~JWK&UdmVtphWU+Jty#EhZwAd&Q3 zlw5Z(KcgnL=Xc4(a@H`NHPED>Nl12H3Hf8_UK+I)K3nEz05)Vy63cQcly;yF(d{p^ z!^;wqGvD~;5VAzwbiT783XD8Gy8Di3sm;0}wU-lFesLafX}RAp1YQkC~y z2LdchRQ+N@Gn#Z`t{}%k-iu*>*uesoj$+Bk7whO5O-kQPvEi8yM;`fQBS}sA)~m@> z2jDTxYM@>fJ=jb?63B9C9659GW|Q?J2!RZap{06GJ8?;gX}TwaKGrktUTPAk`X*W4 z={CA?1-<0@My!tsDV4ES!jpfhs&JEA7!w96R%~WD1P-r!-2tGL(Q5VQ@sWL<$5j2& zg%3u=u)%pfWWWXKYSp_FO1Y3nMVsv*#%_F3f3O>Du?L)yIN55Qo=K)z^W9A!IuBjj ztks>Ngc5xi*0tEdT8a&;Omb`SnHbw%v%f8d&U>Me;IE<141#yz@uljt==y0}NtRSw zSSCOm)g)pbUeC&hnQTUzR*EsztMDhY_XlT z`~$nx{F5eU**D-{gE1eD1I1Q;3#a*-xDK(ad;B|etsXln?N|sW@O`6;J@6b_aN~`s zMz)TPNn8QfH&a-H_3v8_65zz4Q?j(hkOMtXubZ%Z4Rr(U{}b%~+k#!& Wgw;hPcqq2pAl{xo0u3igH~s<0K%#a4 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png index 4ca060e2499d5b06306f07da96c1970b3d4258bd..c922a45568fb2c03b137fe2cfb01c43c5d408416 100644 GIT binary patch delta 2870 zcmV-63(53_7Q7aaBYz76Nkl(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 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 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 046bdd17f01c9661803996da511cc033c6493aa8..30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee 100644 GIT binary patch delta 1825 zcmZ{jc{JN;7srDn)?%zt1T)oXNZZt|2GMBB99v0?8l;qT=GeuWxAU_Uqo}kKVwuS( z+NQLrJ%TExr9w#QAc$10Ev*vNKJU+&e`lV*?(>}Ie$Tz%`?*3Tz7qAAHr?6LfsiP% zJZvBVfha)ltpx5A1}Qo~FRw!H*xv$rrfea-jd2$ttT7AVyNRYJz3XGiO}Z0J;WkV^w=i!Uo5t@g1cHCx@TAim9vuf-}{a;byVhyv}=ckq%jf zmh*e_-bk4;FYd2QHB2=Ss}9E{kv`I46)RYJ`^Z!Ks~-a1Px|5Nu$=5=Ks0zQ%KwG~ zePm$#v^>5ZOD8jZw>IbjT7LU)CjMM=;AHQ~M=Dl_#<`js=#q;UAMe)@*Ug=_xykd3 zHs5ro#i#}!Vabv-#2NLQeQ6g@zJmC>VL4rvdv70V0NvgVQ zz68kgibc|>aA648v3ceX{181_6GNMZVNNc;^`(%cd7g%|9edvM-WaP$)Yy@hSqHC# zaj@?hEY}zxJDfJ(Zee@!n==X2SqFtYD7Yd56x71R^H6nY`^ z)CUQ!L6=6H=71Hna;tUeXJ3qwRF(r>hZ$*R^R-d!Jio?pAuIFL#nHtfkKwNI67gRd zX#U&@+Q!&^J+XuG^5-`^MTNl4sg#crZIjDCd6&gRNrIq^Giri0a(B{b7-87xFE4spFC6p3s$a@yzId2nnvqVk zW7Gv|;87(>+12Q+$&F(RX7jw^6FirP=iSm2fmmoWt_ zgXjJzAJN%G{q&@6`dXioO0^tm>$Fo9r^;qvV2NLtvtKH3;^Y$q?tdGr6?wSUfmYK`d4B1%!Dn$G(wEW+{JHN4ew1+{RWR*ju9Jo=R=rD0yLJGJ6 zhW#u!D#7?AxUw`EPozl^N3RmS5a5fcTiHBVg`27_Qxqg>iPx4S%(wZE`Ael(#=g>! zfkv(!3>7T*EZ*fc5_SP>K8rw&QO3F$5fLc_KGH@AqS}HN+PPR^ByksX9gT*K-K&7Bk{}DpKcV&gcFP;Ay{%7Jp$}(!G VM-!&hGq}S_oX@*Cvd$6H{ttKgSsnlY delta 1742 zcmV;<1~K{258V%tBpakjL_t(|0qoNu0RR9D1flO=`j%o2K?GI-Pmw>0e}Wx*=Kx&S z7KP!dZS&c-ZNJz?ZQHipCaG<=Q`@#}JIQ+MIdkXiwa-m*{ePXWyz8EQ{?1>Xz2gFg zvB_l2ZT9K3ufOOwApg~0hg@dK$-I32+oXIJ_x3bB-!f(UKnf!B2f3D5qf8P3$jGwLZMZsWp_5`W9!xl|DbJ}af2WNgCk;;;jn0nT0 z#K#u*RhYd+YEH8`?2$1F1{;w~eao5SUZcjaGmaeLHs7&E{|fjv$;@?Bz9<;{mSn~m&28`2%`Fd@GGw{`6taiQ{HG39ti3bI#5p=&6b$BJFOiz7Y(C4md47{hEb*UqjU^j< zW0~Ki(gy3!%U&imSJ=GHkTD7dJCICeqqznC)9cL-m_fF6e`a09nyZjZduPcP1%qYT z2c+fzo7Hk|Nc@l-vw~*spA|ThY~-PNKg`Qzu-+`}UQ+XrE$>VjqhN3>$^2k6H#Kn1 zPtyWtlP#PQJo`t*T7M*&G0v7R3I^XInFXrZNx^gHO$?e#nd~BAt&2$JU1!V~1%s{~=46uaTb3Pl8 zOf%K&;IO5Y2Zb)BjJc$eu(syr_pw0~%sJKV3_io=e>9q%zp!Q7SxTq7TYtVx z^*c}w_LTXZ*boJCUi*_wh-$Wb__B|ChObCv$y$3wF8f?QtVe&A2t>hL!Dlpk#kNTE zox@g6=@Pz@taP$wO&c|PzMgZXj8QN+n`Ay#7A$;q#SRgx@33Ujd+owjJRz**Q<9nG zYWbpIfADLPnIg@%j#|^cb>vzyWyHF6nzc+NnXlX}e-sRR#gf@4l?996oVR)8x)aSK z*OSK6t*b7}FRbBlHks7y!k#Y_%vFsgnI6)7!^llxjiNS^M%`(~1YlQ0;e_*eZnu}~6SI!s(gY8JBrZitOcFS8e zW45NSWMOKpsLk(bu3ejC+PZqaC>SiG*(-LG%_hA^)!1!`Rb#eOTC2tENYGq2D|=Y8 z=c}AMWQ>BrB$D|}nvad$RVprS=Z(17o%D~lqNBH#)m+nyWD?yaUla_!NixfH?-3ch zf2(O^+%EdlsJLBCOk8t0$-LuE8KYouCCR)l7A*2u?uht3NB{KCuWPRL2Fa{&w|r4B z=tD9Iy7vf=-&65VO!U2W;s~xK2s-9;rFTW^>1kQ7~ASWLjs! zHQJI)9e2$a1%n0H8=C+4&28iV*e>MGe;K1-un);Z+wjq>-pJqG3kILC;lsB(NKFd+ z6!Q0kg29<2^OX&@$IL+Po>DOQCCSWA$9v8pnJnjz zm5GPY3?P|Eg9#+#FU$sz%qZmR=>>zYkjxrkcAb6;3^GQ+;Bu0A&tT>q zbDKCJ3I=~CnQ;a)6U-e$08ucgJD}zfTOrNs%drp5AEX0OFj$*pI;DAS7m}%kJW()c z-65e@*?eqX_OkVRz90$)dy!0Yf3^k5^g@m(7?eLygADe3pYEs>=ny|Jzo$7gRRIsEs>XXqF}HDdyn+o zXGqWufNYXO`IiX-MeZIh6(>y-)!XNF^AprmY00JQYuhtbN0uz`Z2p9+k2nK?| kgOe`@DUqclkxVxg6ir2^DZ=u66aWAK07*qoM6N<$f~6&9umAu6 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png index 31c9d1c36abcb51aa81678bd9b5a9810f2a817f1..8fb88d36762582d219d994be40074203324784d6 100644 GIT binary patch literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 37e6ddc39caac76358de4210988a78bd1e151013..df2d7f0a47257593b3aa20d972880a3f3495fa1b 100644 GIT binary patch literal 4429 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 TX`(0{00000NkvXXu0mjfpp + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml index 084c876623..72cd56f5a7 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml @@ -9,9 +9,9 @@ android:translateY="89.6"> + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png index 5c2cb369ce6ef6001f4532ae883ae1171ba752b0..93c925a28dd7233215f51ffdd0169fdad56ba10b 100644 GIT binary patch literal 1447 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 Wgw;hPcqq2pAl{xo0u3igH~s<0K%#a4 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png index 4ca060e2499d5b06306f07da96c1970b3d4258bd..c922a45568fb2c03b137fe2cfb01c43c5d408416 100644 GIT binary patch delta 2870 zcmV-63(53_7Q7aaBYz76Nkl(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 zcmVye;L0QTnRzTbW1o%p(z~u#T7Ozv9B>(gzZ2;M;2od} z*aaL0jvE{{c~z#)1hlz>ZP|xq9M#6ga{0TPL1JQJ5`-HL!R7&ae`rcikS;cpz#9=VG0o<5#OztpeP%W)voN zR3~jE#(r4GJjOX$=IT5-xw*Mfn9M>zh?JC+6HMz9mN_iq9GxUd2f})#91~cllT!cE zAmDN%Y8|wx!U>Yp@nP^zRAU>o#x89-hR>Z<20JwegMan6IALk9&^hYoK`M(4S>KL&`TFGe&BteS=o88;b&(zFj4-PFG9UcKh*EvlCE@Ns(5)u*$ zROWLf2!EYSb6$HKH?`S%(s_=ib#d)JhiMZ;u>I%^TmkS3hT%zRDcO5lOHHzL=ouf8fSmy3{(KmJ(C%gd!@PN}T!^o0D_ z`>*E=wqyIs%1Zg z@>Xvy4EyxyBPULrpfGay@L}oPxijDH|q`(c0V zS9g=v15l^e1Gx9 zER$9RZRDlif0N0B7oHLUoeF$lN z=!dny1UnXoc*ZUpH*VBBk9Coj4QMw+{&elKQ=)I%8?^3guf3*ytY5!ga3F6T%NyZ- zn$-{a5X?ZOx9nOyKm72+D%^M9eSaq{Tef7r6e4Wj)ALXA{B^5N!d*RHmx7!U)|2+_ z+sjWs{iJ=29zB}*b`bO)xCnIPMV(PFD*R;E&i#rju8<8IHfYGd_10TWS-M=-vcEhG zLLR;0Uy6sWTPYVe@2TzYy6Y}Ee*8Gw%g;amOmnkkhYu^N0v8dr%A<>-@PF{|M6kHs zE`qEf|MSm3*D{hcqQ@ID`lfdjL%Y7ne60ggwC$WZa~SUJAc&D{M@UGBE*SMsbaZq! z*xPRxLB>opBjX)OiWCrCxVLXCW!dm?|!EXy}f()%GFn2ElOZsrSuy(7erQS zUZ+l-su8ch{<`~` z35&>LrkaPXgx3A^(@#}R@${| z=LA7(_$bgy5D^A~-hX!Dn3W;_Pk;K83SU)Kb<&=SCx)9gZPGd~zWAawwA-~%{DAv* zH(qqB5rQy3$*FVbjvYIy@Wh}&gS3pe<(6BtjON9|HV4k9xfh#BF35>>vlK@wLM}XQR)77u)n{d=@SETK#y#Zg z*$x+mM~)m}K6me`U3P;6;n;N`xge|uX1?&=S*WRP>^G&7kb$;7pI6L!oNj*~rP47Zxm7pnv2LFTeb^@fMi^&9MmG75Yp7Rd1cD~opjD`@r4%3ezvc_M1au&RxN5`Q0>9BU{}seiZ>pI?`dd3oae7 z@x83+g5UWyzj{KMy!j&qKGC?4W+V9{NopkKrhjuJIhgw`l)-#Y!^e&<@Ur7vus;F= z?yq%v4cQ?Zat;{H$pvEV{GzWf9?Qld%|Y6e&JL5PJuYxHuyu~hyzjFHbM0g19A_sv zN)lhyLz)G&;UN>$Sk<|nw6l!+Cg<)Y~op8q%Vxrcw7MIPYWTL5R%_7XDGv{RH z7Fr+VSQnFVKqgRzNHG*<_isizx6=TZl2td&s$n1QKXbt`I2Ol5bQ;b%n7PEA`~J#) zZAvncq7pWLJ)+%oJ}Gb`N;Qk96%?sQuz$?dsfD}t2>a$3=D4ELjGd%f(?EX#CX%Xc zCR@hcGPG(m?(i~1y-hR&3P+rSDG|c9>;ru*WuNTZXiTmdGqN%KmXIEon7f$)6af_w z=pvZG2;B82@dR@gLhyUQj}Uqbv|%^ja3lDcc`Rcc)@2*EWgpZQ(`Tj`Bf=?S>~~mP z1_3cfkaV+yE(Xf6VQc}kq0n%wS7VRVh2UrAp{zCQu&!y7XZlDoeFoVZx}7I0(A@1< zAQ4D5rjc&6A(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 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 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png index 84db2bae4aa97c17248ca1e9c1b694319878af9e..827bd124b1c75ebc815c52162695359ea3f62579 100644 GIT binary patch delta 1786 zcmV@eSy{trM_55TS{3U0kOqD8?9#7-brMXy}h<_;Ps=9(=I-wzzhfo zNXHxPmo_%|`ucvt)6|nUvUWfAkoVS%JPU8m_$)SO^NY4>K$fHk+RbGST96+rHp8h2 z7tk1A6xpO;ynn??$k~8TXO1{^1r*N^`@k}D5ew!jkz6|YaS2RbK;CbH;ACoG>y&_P zrZssLO0<-?8O`$`pH>c7JQE295#)@Ff}>Ht7pYPNRU$%g!1JKsi098-2juGs?Tuxd zpr9aPYZ2N3j6nYYQ-HZxgSC)hG&?D2n|yqH8p~Y2JAZwiWGCLR#`1j4nl9@FMXBU(+37@)33Rdev|r*x(Fs)g_Z);ZPoF*|$f#1Kib?SRD{$RZ zOK|=!ZGWP;GS&Bg|NVE`wQCoFz|5I5DS%yLWcGG+u+*GiVpR6_gt=IQwYzukra%7p z!_-)S8*Rqv%iL2cnI{qzqNx^u{|*>1fIfZtL=PT3pfqXHP_~#%w6xe1+EQlG4}mev zNt-q;J$(3(uy*j^!H{K6Mta3c{4QQ@A}!(cYkx^WL#6OKFv*gQgf-*FjkDyv00pMYB|iR=vjV#;QJ_$vLUi};-MC5UcP)u6)IF9^na!Ks}MD-vV(v$e-|S3!9uTJzb4GhpFcnP zELGrvi;GK0oC026Ug13O)KUdvV`E7^S@Z=5g;SA&qX|G8eH%A!6qbTD)YL}L_|Riy z7m8G)0MMdE3wrnN9pQvCXU_cHc#a%72xFMjtXVVksZxO7$iK%a;Ogoc#GMb+D1Q(Y z6-CHIpFe-5(W6I`T;rgPjDxYOSFch;L6EXU=wlybj>bX=)YVPl&W=(SITW*&|1e5Znqi)2UOZ2z~SC&xbpyR)CYvZ04*7 zZ}B=#&Vk%mDkT821PEaG`kOaz2xW5p`t=dGNS&ycRDHD&r343XD{%g*l;FJjF9*j9 zwN^lVv~}xN!il3?2GCx=em%z2d^-~E^U}%5DZTI>xtw<3Nn5qJN+M0ZeSiCwKpc4W z>J`zD=1iOdh=Guh5G~zD2Yh#>w6(Pj#I;Sn z##spXKLQ!R^;3&ak2w8HHa0dPKfBmNBOA6tM-8liy8%ueKwFd3_wexO29DtRtIsOF ztm)w-_E`m~^C&Kk#y&GbGk4;r|VCawc6TrHFVH-_GnPm3<>N_}89#e9ZD zAa4+^!Cv&~VIFhF1elgFOK2RR>H%>7j}g<`5u7O)b6gh><7Z9slC za|i<$OMWB30{C1wNB>+1OsF3?l#GLuj{pZ#UFWAk%?N=Xvf%e(Gk?t#`9>D@;Fr}v z?5UQ#>`qn;KdwP4@Ta}QI3am+5pd>^#+q-46J+xqm9UqxXG$%9W`#gkMl74RCvSF9 zC?dgNA_$O(Ut|mSV%fi859}3R|AwGf%<9AVm#?B7InZ`6iRTP+0+p}^Yas)&Ak$c$ z*U}o;#FpXBh_JFMu}sForppi#6g_rJlHYi|F|32)_k{b?h0A0NT5H`T$W4M?f?J)07*qoM6N<$f>Qo!1^@s6 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png index 046bdd17f01c9661803996da511cc033c6493aa8..30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee 100644 GIT binary patch delta 1825 zcmZ{jc{JN;7srDn)?%zt1T)oXNZZt|2GMBB99v0?8l;qT=GeuWxAU_Uqo}kKVwuS( z+NQLrJ%TExr9w#QAc$10Ev*vNKJU+&e`lV*?(>}Ie$Tz%`?*3Tz7qAAHr?6LfsiP% zJZvBVfha)ltpx5A1}Qo~FRw!H*xv$rrfea-jd2$ttT7AVyNRYJz3XGiO}Z0J;WkV^w=i!Uo5t@g1cHCx@TAim9vuf-}{a;byVhyv}=ckq%jf zmh*e_-bk4;FYd2QHB2=Ss}9E{kv`I46)RYJ`^Z!Ks~-a1Px|5Nu$=5=Ks0zQ%KwG~ zePm$#v^>5ZOD8jZw>IbjT7LU)CjMM=;AHQ~M=Dl_#<`js=#q;UAMe)@*Ug=_xykd3 zHs5ro#i#}!Vabv-#2NLQeQ6g@zJmC>VL4rvdv70V0NvgVQ zz68kgibc|>aA648v3ceX{181_6GNMZVNNc;^`(%cd7g%|9edvM-WaP$)Yy@hSqHC# zaj@?hEY}zxJDfJ(Zee@!n==X2SqFtYD7Yd56x71R^H6nY`^ z)CUQ!L6=6H=71Hna;tUeXJ3qwRF(r>hZ$*R^R-d!Jio?pAuIFL#nHtfkKwNI67gRd zX#U&@+Q!&^J+XuG^5-`^MTNl4sg#crZIjDCd6&gRNrIq^Giri0a(B{b7-87xFE4spFC6p3s$a@yzId2nnvqVk zW7Gv|;87(>+12Q+$&F(RX7jw^6FirP=iSm2fmmoWt_ zgXjJzAJN%G{q&@6`dXioO0^tm>$Fo9r^;qvV2NLtvtKH3;^Y$q?tdGr6?wSUfmYK`d4B1%!Dn$G(wEW+{JHN4ew1+{RWR*ju9Jo=R=rD0yLJGJ6 zhW#u!D#7?AxUw`EPozl^N3RmS5a5fcTiHBVg`27_Qxqg>iPx4S%(wZE`Ael(#=g>! zfkv(!3>7T*EZ*fc5_SP>K8rw&QO3F$5fLc_KGH@AqS}HN+PPR^ByksX9gT*K-K&7Bk{}DpKcV&gcFP;Ay{%7Jp$}(!G VM-!&hGq}S_oX@*Cvd$6H{ttKgSsnlY delta 1742 zcmV;<1~K{258V%tBpakjL_t(|0qoNu0RR9D1flO=`j%o2K?GI-Pmw>0e}Wx*=Kx&S z7KP!dZS&c-ZNJz?ZQHipCaG<=Q`@#}JIQ+MIdkXiwa-m*{ePXWyz8EQ{?1>Xz2gFg zvB_l2ZT9K3ufOOwApg~0hg@dK$-I32+oXIJ_x3bB-!f(UKnf!B2f3D5qf8P3$jGwLZMZsWp_5`W9!xl|DbJ}af2WNgCk;;;jn0nT0 z#K#u*RhYd+YEH8`?2$1F1{;w~eao5SUZcjaGmaeLHs7&E{|fjv$;@?Bz9<;{mSn~m&28`2%`Fd@GGw{`6taiQ{HG39ti3bI#5p=&6b$BJFOiz7Y(C4md47{hEb*UqjU^j< zW0~Ki(gy3!%U&imSJ=GHkTD7dJCICeqqznC)9cL-m_fF6e`a09nyZjZduPcP1%qYT z2c+fzo7Hk|Nc@l-vw~*spA|ThY~-PNKg`Qzu-+`}UQ+XrE$>VjqhN3>$^2k6H#Kn1 zPtyWtlP#PQJo`t*T7M*&G0v7R3I^XInFXrZNx^gHO$?e#nd~BAt&2$JU1!V~1%s{~=46uaTb3Pl8 zOf%K&;IO5Y2Zb)BjJc$eu(syr_pw0~%sJKV3_io=e>9q%zp!Q7SxTq7TYtVx z^*c}w_LTXZ*boJCUi*_wh-$Wb__B|ChObCv$y$3wF8f?QtVe&A2t>hL!Dlpk#kNTE zox@g6=@Pz@taP$wO&c|PzMgZXj8QN+n`Ay#7A$;q#SRgx@33Ujd+owjJRz**Q<9nG zYWbpIfADLPnIg@%j#|^cb>vzyWyHF6nzc+NnXlX}e-sRR#gf@4l?996oVR)8x)aSK z*OSK6t*b7}FRbBlHks7y!k#Y_%vFsgnI6)7!^llxjiNS^M%`(~1YlQ0;e_*eZnu}~6SI!s(gY8JBrZitOcFS8e zW45NSWMOKpsLk(bu3ejC+PZqaC>SiG*(-LG%_hA^)!1!`Rb#eOTC2tENYGq2D|=Y8 z=c}AMWQ>BrB$D|}nvad$RVprS=Z(17o%D~lqNBH#)m+nyWD?yaUla_!NixfH?-3ch zf2(O^+%EdlsJLBCOk8t0$-LuE8KYouCCR)l7A*2u?uht3NB{KCuWPRL2Fa{&w|r4B z=tD9Iy7vf=-&65VO!U2W;s~xK2s-9;rFTW^>1kQ7~ASWLjs! zHQJI)9e2$a1%n0H8=C+4&28iV*e>MGe;K1-un);Z+wjq>-pJqG3kILC;lsB(NKFd+ z6!Q0kg29<2^OX&@$IL+Po>DOQCCSWA$9v8pnJnjz zm5GPY3?P|Eg9#+#FU$sz%qZmR=>>zYkjxrkcAb6;3^GQ+;Bu0A&tT>q zbDKCJ3I=~CnQ;a)6U-e$08ucgJD}zfTOrNs%drp5AEX0OFj$*pI;DAS7m}%kJW()c z-65e@*?eqX_OkVRz90$)dy!0Yf3^k5^g@m(7?eLygADe3pYEs>=ny|Jzo$7gRRIsEs>XXqF}HDdyn+o zXGqWufNYXO`IiX-MeZIh6(>y-)!XNF^AprmY00JQYuhtbN0uz`Z2p9+k2nK?| kgOe`@DUqclkxVxg6ir2^DZ=u66aWAK07*qoM6N<$f~6&9umAu6 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png index 31c9d1c36abcb51aa81678bd9b5a9810f2a817f1..8fb88d36762582d219d994be40074203324784d6 100644 GIT binary patch literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 zcmV-$7?0NV=M6^ev}rJtZgG!{|9VzF2_l}f!2{sqk-jDcV# zSPS-o)8GoY0kXg$vh>&$dd*&Xk9zMw^;z_p@2l@9M^He-q>E@wiX{Joo?r<$2AsNt zzGE@y0sdEGP-F3(n8YYOF;l4}olgINiR*%Bu#zH%Qwmv3>tu~GWtMrlsWt7v0ma=ykSb;EHda9rHX3xx^9sUvbEF8-a4i=8yquSh%+ zl?q}m=c61T3=Q2c{n+T~kg#(yyzJ-&gbI0>Ep(89ZIgIIe?7Oo3AXc#%yf%PCKLV4ulX*G_ z2)R;(GzpJ=%xgWVk195st=T+Dsj56D2ZnNf97B{ZTs|ttB&{1jCxwYUvEZzk{ zSTq`a3eK75iaL%9!Q~s}Gvzz?Qb#eE$)e8h;4C?%>gh_-+F9KGgZs9a>YaAA7Ih>V zwPz8?3UrJ9$}6wjg%cjluN_s-i2}b|6OYHoJp1gkcXM9{u2@Eg^%!ldkd#$7DQzik zhk{mI+iYQQ3!UioT6d&youblK?3#Rr`#uQbc?BnTSj1Bp5rM-H(d+t(h(aid=VhGG z2@y}hBhg8S=nY-dna%d>9P&myA|m+zuzu-`+Q>{M^C*huO(Gu8BhePx=&wbKZ{}Nd z>b68Y{)j}&@ngQ%?~9E_{)j=36!G{=M2JG;n0O3drY;gsYqrkg_ybwB21-PoNIaG= zJ1&IEpZEfoZ=5LPNJvgJ8vV;}otecJ3QzfW1DIU)pyTOKDD=EvifV)HBAh1|M)gQ# zh(e1=Jf7D>Hi@UX)IHj8TSQnN>OkVLJuRBi9)2Kok3O)g_o}G=(kl@ebTri!U`but zc4ezDhj)6B%4}-c>q+X;mV7F%I4ZxKwUHC`1 zwqs`%JGsePvCXv=du`jcZQHhOJE`;fyqcSO^KN%Gx;ryf^_6x`_v!R^k7st9+`A~- z`gjOsd31GkAvQJ^wr<@DhYlV38+-Teh0M%M>hq5JjbXZDN7(9~BnWVC)Pbg3dU`tQ zUT_XPQ+#|po>34>glRpoLLHQ8h5pB-?VE&ZSGc>o!~6H|AwNH#ho3)xf|HXI?^(SD zIxx+tGd%N}4$r-22!dyx(@_W1g{PaHogMu6@k8MpA3l5l4-XF^2$aWVWV;wvsO(}N zA&Z8yXV1nzG!+XME(9$tt%7Gwv<+ZOvkZ9TJzG$q4ycP64@R|vCz2^u5+`E^R zAL>$|7wY)v(Ie^^@N9TSf#RV&c1BhPb)V|htJfF0?qhCl4(HCDWBz(`b8~sm8)@sq z{EVn)!1`i(0)c@kei$JD1g{%vq6?$K(QYFK(oEuW%VxRsZ7}dbw zlNvuD?%cV9B;!5b&dd!?6IXKCcflXU8M3FRxlG{)aO>7Bs_u9uJe$B-Ssn({#0q6| zhC{V1dR_<>V%|>w`@=^Ooax&^j)&1eahiH8SClCP==pwmu4f*|-MeO4urjGlRDN~qk;K-39ps%mbd)~p& z3Xc0NhLiqF{|HX_EdfVEE1nLh)6t_xS$gA{MAfM$?Tt2g_oWS{Rgpx5K%>PpY1p=H zTX^x}1@kgIJw18PV-VZRJ{k^@%RS=1OsT*FJyS zQ7x7GB22767Q7;+rYRQN)~;R4ypYwaS1T0c8ta+Evi1|wPVZpO622xW~G5uv078^HK>_f>& zTE8J^Eo=&2U#7q{-OOAS_G{X-DeA(^8k3Te#6=!{YvUB*fM!YD*#8hXXhatJAl9)B zQ&Us8dGjV-2DLwyot;guB{k24wZR(*HkJw2khRj9Whm@}sr#^D!{FDiUsN4YcRYhg z$2^cgpQ==;Vo{RHv?>aa1wzC=aX511NTz$Zdi5$aYSc(U#@5&#ru#006(O6;1k-&M z;F=2i;NI7+U1REpRcSF#EMhuety;BC9C_4=8~>=11;&cheerrrPoF+z_Llto{HSu_ z4)L%!bPK`OQX|YEj=D!oObnAePo6yC_3lLK#xRhc#TgWp;(o(foh-0Nqy#E*cN=GI zXhEt8NwtS~PKSA++e(EY9j4)03hNsf7{I}U2Mg=Eql*(efiRsvf^iVzTh#3Mr((s5 zHOL|lr7$$_=;+9dGhV-b&9p)-Eqq`au^=?t zeED*wJ_imQ5IK2xGeW;eAT29;Rhsj6L@+=~L-Pp<3Gn617wUz5{P+N9-*Yh6JqxTQeDbO?!Lz^yw2-m(QO+LtI>(WQOj!Ksuf?ENVq15Y~T^CG^f0 zcCvAvhI(n}-o}g>gYlAL4AnpzVwz{csK|ZALWD;e%2H#pNs}fq2j9+|IRhppCX#t~ zjBBh8LrxTxKx$k7J%tfKixxOs&vF~ruU`l9O&t1&2Xgl&gmQ3r~I%#clBYS5Ir zmaVNV+`W63sRz4oDC$gXA#$Rq1X3Z;B!U|xMj&(@%vm9{2;I7MW5zC>l~1fDu|Drjr-+@4f2vGarz z6^rseCCWRmmGJYhQhe{-+1VKbSY|LC9UaXs2Uz+-V)S81jyXm}V$?x!u<&Necj?jv zzJC46+?#Wu;stxO<2K<$P5F59??yOO%9k%+hX_8BB7v|tw`0c+rW@I{YZp^iTT2)G zTaSSLu_vhTZ8Z$E$TKW?oQ7oWyK&=2hMY8NK^htwdcW_?bGd%y%9Ztr;A<%o2oVtx zf$1`{h-YSI#?IzUouMbOHoam`@z5jsD43ZzFy-)NL6+;p7Y0K@LZnI{tOdQTP@zI2 z*bVlKJ!6t6CFQU7t^r7vtm($SnV#m@Hs4rl+qP}nwr$(CZQHiZp7~EkoQk-A$KKan zQ}2u3%2yF_zHfJ@OE*tto|`xG)}Avwer$Zb$+g#eWKtmiZ2fJTWa>*WL<2r z#io32)ES9Lw$>q`^~l!*GN$q0A~!gYosw^WT&n$wRA`K;6!imKVfx z-F)-S*7M$a>#gFUR1gT6=+DC8a3=|ro0dR8DG2nM1_BANEuPiT(sHxtqKi(cvGLn) zzqOtht<08VeY=!VO>X3*TMLT-B_Pn_DhNa`^yZsyT8(}D@yEM9=ZxyGpL^~(F50Rg z(DPgii=@JMK8Ecm^4nIMhQRENxvXoFF%5OGlt6 zP$=I}(DoSv)C$dLU!n9}qHGpK64H8}Lk~Sv3wg}u!lQ)~ZU|HWx3#9Wo#?R(hP75m zu>A7Nr#;7}n{H}7{=4tKbJ7A@Fd@5iU?Fu&;Y6kc3Iq9I-CTZOP<6X%jyfVv>FtR_ zwB%TiKkKZstSk0@UPwh=aB)^7MlvB#E)YinQ6u8t``W@75{oprizY;3-F4TM%0lb$ z3opE|y07`5BjXe1fZ{+XlkU_U{DF9A)OCYK?fb7kw93wu&-xv=XlJz zq{Blp*jA#6=w^Ywx&$H$3(u0t6bY2$c8|n3P==E%D}qX+7LrwX?&vWkASo&0TAlV` z5!pY`KWn=c(5X782xx*kdr_ko5~2L`(@#&CK-eH$<=31!eSZVCZzl)BZo-$DP%H*& z!N%h>5{T_TwylEg;M5&;Mk)!!>HE22d!Qt>C*G|Ns(>q7QbU)9t*e5&o4Eq29J%bF zGJO4oPSn-K_U`qMse@RZ$T0S}Rxh;o-g~`l4pY6N5u0=Vr!t#KKpVX#-hwfwm_lZ zsMQNCx7>1E-mrg%4DCE>y$=@8?-m==)=_Kt@*t+`&?CKq?AD;s3(2&6_0?COyzjpI zWIx6K2l;QSt+txlsXOG!Kj=PPTWsuEJX^k<5o2Ld8(iIW2xU6FPyk2!+#$9#i^oz4 z7qW&BK4EaBguw^YZS6oSNw-pc70!JP2j}3SHPp^#rjUZOEEuH{Qp)7m9FN z-wgDi0Q;U`R_2dc7i{&g*o?O0wk;mLj|V|r4YWeZ&k05Ui6Rnd?KJ%iwwjN^xyHM2 z_AaOkolpk1xFMD~k_z;YR^5}tV(C^4UCltDcj4?kltqD3CZc*|FBy=CS}J(9)V2;Xq#HvDm$Ue;)SLeePoS{v4aq7&kBhoaTORdYstcwV2csjq|xZ} znwDMfW7k6^OipznQ8gz>^j3CA6p#m==Uv!f9&Qj#^@<3bO`fHKC~ZtU)`Ag1^4 zX(N#j$nzn_ei1HJw9_WBtm+;Y)r)bU+?kmPiQtLeRG^7`ktoDizeDmkGp=$sTh#p* zM0Ln%2O|4>;7aGlTk)(zqM16y4=`Z}<`=oAPY=*e8zfSfD*QsCd=_YT0Mk)JGz?L9 zpOGgDl8xSxX8OTJm}Su*z(-n5#S$Y zn5C-ldW`K5Jx>S6oYQrGk;g`&N=I1ZK?gvhW2F-ySUdB)w)GD(%qPj1%Gh#@D}7BK z3yBgGbIo+I{b&)|1Tp&~qZA|vY3Y#^P%M9fwXH2l9vRaXj&Z_8qR>~GD9-6*10T3g z@)XcT_lg_F8x>6T(@fDBvP3LD0I@v3jA340UawKp9Cx94eCLTm%te#}^^DiOqKgp2 zk3zoa7ra>(fgK2CdYxYovW}B6ldF68@R|x4pA+%pATF3A@T}J;p#j;ZJxX?vWt`b+Jc%wnt%t2~dK%_sYkMxB$hAM|R z@~jBux8T`V{1>lN#j%RI*E_nsQ5eYQOrnnQy{OyUd>T|gtpqA>6}?zB;yvx_PYVmHv|cqHlPMqBP7(p?Dy z7+%Q;3E3yqgn2J1r1@3uU0RFrEb|y1r;pFt2vl(l;_kIh;Ei(WsuL`Ps-_0$GD6!R zFoKPd*2EiprmRFG4E%1ADV0$FLsCuPn#okcn52pvUw|G|+H399~R5 zm?mGH0io`fLMxE!M~76bk`zp3S-~NS<6S1@+#t(4axJ+guDw0(VR3qzp%ib^!+Wpe zvlRQr<0v3f9@F*(oS9TpaJK>^6FrkbC}0k32C)JRyDbcSByb^cD-8ZP4F4(!_CCe= zS0KZ;_~-BO|AKGjzscW#_vE*7j2z2z93khFb4!P=T+1Ph<7o`iwDMl7dGCdMmONh( zM*)#?fRN#p3Jo&VbJf3-`ICMJsiY!CfH5(?l;6T@ECDhs4J=D6E&omaMuLn3qdYd1 zEd2(0jV{o7lQc${3IRFUAx=P~RIg-`sg%>-8lZtjYzMj>QZb|q5JD^ygC@+sr5rQp zki{rqZ{{^?cn_r}X;Qt7TH+`mQ;dnXB8t;;3e{SAghm>>g`uUL9;2J+A-V z=Zy0jVIah7=LDotLMW3|M2MatOfL~7VirV+2#?8gh+>ju)*(zlDwABP$T4C04UeC7 a$?|`cblnpGz2oly0000AI0}g;PaF{Z`wg+tH&rap<{!PEdzj;0VM}vX_(Gio1#^gxyI`|ok0qcO{G3&r+ z@Dq5Q#z12UotV@(Jqe@KQY;o9z{GurXfTl@hT}pR6MKL;NYHCcr4hxff3EFC8z_L=+K`$r1F&YxgzehsI6KkhK9EdK2g+oh;KqOsKdB zsTW?mS=M@5A2n{aShG2k!n(VYV~YF9@gMoZ%}4I0QOAH2-$JLdO?FbisV8J=CSQYjs~6U31MfM~YhKBjG5~Q7JB++egxe^}8SlOQ+Lk z!8yZZ)NyyBB7H+XBj33!b;RCG5p|viTiGeiPgk1Ow&L*%(zo?g?|ji_QAeZEmm&gL zv2M{Xx#W_gaKN4A-cie(sL1UaY=?9?_uO-j7QT*Ov5XGuG`g%pQHiRRFS{!wZ1&1$PIx-At? z@R4XdPUd67zSw9~?=k3(DxPqO2vMk;5RVbo)J5X?RIKwj;Xqfd0g31vxepn-jtimk zDY?KE8Ye0h7Lt=rr(X(NXJ(0o!cC#R08F<%=zen|kvKmrMYSQWA{?e0qtQrZh(e=T zJb~9kHjC#&t$QK^iO9kF&{r%TJJ6yT?coht_e2M=drw96ok565hCP#ZfHieRwkw;2 zIXp6mRAzI_{)VQm$WpC`-t#*OnOygjFo?~-(Tl<&NtsjGmSi${9*fBItM)M=pg%Nq z#UquWpl;9Nv3x0DA zdPJc|y^KO8x9vTG-mW=m@dCbo|1QFg9XkYG zsF`^H+zL&GhvDfO0iNC5JV4-mwr$%+>i+WOO9%@K)2J6Jxr~gc`_!&o`~Om?`=AjH zA3jVP;lYCk;O*_5w^pfD4|e#EfIAUc8o_qI;h@r1^h$DWs7!9`(_Jc~8jTw_hOb}0l7>i4O%)iz&(IN0gv@|z5jnpUc;;`0 zPI-EuPHAarq|RTye1S%d8c89T{)WLc^Fl*%9Y@)c=y@T^F!y%s&vPZ3gq4*Q*9$#+ z_6*oecHUYA^FrfY+rq`jS-%u`CVD`%9wsIx@cj96Qs<*bkK$*N1c4ZkKxdfEE2!;X z60wh))H?1XMvNehffzh^u#j*n6F3@?4QHa}{1P0G$iXuOIt(8^oU8A!VZ$WXsb}qt zK(u{vgXywJB1WJIQkyh1FfiZ-)99TnEiDD>n^{N0;i%bgJbGTK0?%k-9VzmdM~)of zc})B)(jbs9m`=-eAZ3eneK96hVH=*8TGJF`isa;E`1b9a$S5B_euO4Xnh4e#D)eA} zz&JP*v#?Y#FJLSfu(Jf@ZPpBR66uM$Pn|jyKa13wtVp2CESRpP=0TCKFLmWviUYzLtXY=OGyt<0WI4W%=4EO8>J7SlX3I=*~#h_hC+K33$h17B5#*L!t zxrDAUjDu#Vc~I2ss~p>CpH#9h3Q0*x@cHv+(m+{RS)foT1nV92ZDBq07MtUjmnhc8 zE&>}}VJ4+iDq-&2xukBNK7E3OgaiqaN6^|h$~aK5DA(9O5IAVWHhL}P=Bb&P8D3Xh zFJx_PEt2W((FNAVuY`38B?7kB3TW@zMs$vijSakd^@`MO*REYyZjkbr2NLLQjT$wq z3RamWvM;tlq8ug;2M!#_OOY{16|J|{vxfBWOjwz)xJ48rpn#AbraW-ltwTz zcpA)0Twg2<3z`i2N^u>hZ{NOL?=x!DC~1>NSP$Bdagcf4k&wYWkh`f5nH^rZaDmk2)~#FERF%unJ;p%~ zDpsthrRGIJudjbH*JZ;t_#)W=nlRedty@W>efaPJ5)%_ixvu`BAfx`4BB6ut5OPl} zVp4@e#Ol?nB~BdCjL=sWNP8BzDy_cnm|(2jMpr#NJdiA;;g&61Mo#_N8M(n|R>PT5 ze_Nq2GKQt?hR&k>^z`(QB%}`S-@ixiBezjk45XXqI+k(;B@ots`pE6gmywYXY}vAf zG~Vmiuko5AJeM{kvI5}b20IFcD3{huUR(qW2nc|;Z{LzStXsE^=zB>%6T^byXyime z2~;jOfKHZt08OBM`}SC*BMq35kwG_RRi-e2d7*I)cNGXdBWHoG(vaM1-n@C-!eQ&y ztw|XfWMXrW69pv@x~hsyaJ3u>gq3GrFn#^{b#QlgC*-ui&!Hg=PSjP8 zH~(yeqfF(>mH)#8@5+@xcvZ}rHH%xwYudCaM@|7zY!JR@lS3rJy!&&#PxtQKdFNqE zgX+4=suonCLIu@NJM-#Xzk2oRI!y4Hd7QE~)zZ#Uhybt|S<3*J!Rm_kZ1tCy5_JqfX3BHx{6K1T(tX;d7G%6PPLPJA2 zvRdHf-Wl39Jqqob9Roz0ria0uPTLVUmO;fn2z)R|^}Xa)Onk?jifw@jRI_GHb0+vv z?r-4nsSK|sgM~%jwW3m)KtkLKXxaQEAY$31p+ce0t$?pzzn)urijR-Sb#f=rC)V0> zMsEC!K*+H2I0M22Kg*p!*rmUF_bzGNJ9qAYlamuapmu5oOsYz60$Fg#iSFrhsq2IMC8k@Pc)G$jE&x zSigRKLQa+h`chB=mBB^q3bSB>AN~pia&d9tcE&NKH#9Wl%IfG^g07xbzSEHSEQi|r z&|Qofqr8MivS^C0%7qii9FDcw(Ng+^2sL~r`X$WyX{n8 zci(;YHD33y!w$1y^Qn|7ZAFXEELjr>2lw$SgH{j-)q%z-{UeV&BA#TbuKCO}&lsof z>5Yv=K8^ndxxrC?0g1qJC>()A68c z6cSypmvh*FO*Yv?LX2s>%HQzJEnRTI1;(lS8f&a!3wiW62+^SYxx`HP>8Y8+r6Sf*xTG$RjthYHcn9>L8?#vyMQ- zN-M2oT&0)R9GR~3SgBq#7N^PHL`yEYq?H7sfIe5aKu%1bErC3s2Gh57ZT+wc_U4gk zw{c1@h572(g%@6U%FjRlobgy87RzI;6wuH=+cF2_83<$)(v_a)NnOx4HtHaXVoCmG zB*t;a9rwTEF1ze9qxac*>#c1hkIF!Q4=p^8aKRv;jRXpD+SUp;_JFMf!nE5cre(S= ziAQ`o!PqSL?z`_Y)Y(TMW}sz@yAE=}AfU}cx*TYN4m#XQ0uiW6%t#K=NBi%;za$JK%r=)OD;(AfmAFOqooPKqW!(tF~A>YxU=vL)>3(lCE_gCBy+3Kw2@A;q(`;p_pyww{gQt2}V{GK8^upc7u`9R0&9wn2pPd+)txB+#?ZJ}d1!Jl@*1uPemX zB#=3L1)Pml04)&Hi^B`qDW-|-w%bm&f5`~^%~tYE(EEsZUQuifRGMdB!NXXL8Oa_f z^c$@8LM-*b;%G+TZ&rIBES}#bHm0p(!NZrom~KOl^zyP>gEd~rVS4oCV56l3Ucdi{?$ax>+eXgMQX#?WH#dGk?bO&+;vp`UPVsl=Ius!ed zd1-0sT=YJ5xtO~9c5INTy$(Hjes>)AlD}!vt+vm2>UmGb3vPdLXEm#>4#TLRrym9{wAJb5HJPUjAN4)l7E* z17PxDE|e8l=)y*-$BXS~L)JWN-X{-UD9UMlH;_aD_T9xXD|53h*y1B(7*N1{pJY5FN_H7|v8OFo3NpP;T(p$u+u11xi-oF1CAx+jIj(k;bS z^gfkl;heuv76WRTh)T*{G9VGNoGwdUaL^9aJtv8cXscTP&w1xJlr`|dh7e<~q^K@@ zD0BE5KWLe<-zc`BjT#CUy3C=hoH4Zz7zT;%n;ax^vKqa%vEXsyRTSHyw!zLmqgZ zcVL6L#TK+lP2qKqzaH{{I>y=rc6V3+)BAVxP9jI14>0x%bE%?_Ht`CodjeE1#({b@ zGZPZQ6TOiiP2>`V80)u59yQ~t53)twWDwOM)ec1VC*exx!mr{PMItxF&nYG}!TbXE z^hpAJv_Y9+sbbQTsGJ4b{lI@vLo_2q-MuPLL?OWALS8%L^^oWy#PB1LFZ!9@$O-HWLYZFYXN0U{Wz1yk_(N>x zn0j`R$DC}8ard(p3cg`+!w6~1K^r|xZ=|$QYMLevwT_GlJoTf}yUvg`%&}|XSjK=- zE5cTQipB~GzAj*hL>k90Y(Mh}Zc9V{#y8S;HKwE{8hd1@?DHW>Z-9Vh%@UClE}jU?!nSs2?JAmRN)EpcLvh@BF`?Z#dw#wHIFk4 zB>2uv9D{gpt>e5=DP46L3!$2+0S2|uHU`Xujgi*CFZc{uiAEUsO(#=2q5hAgn!r6% z>4ecqBi*3#jPk5_<~8Nnna>#^2KkQ7eCINbL21ssjw2F167xq4ZGv%NX6T1?V4zd* z>wW}e`a;4S31t$l3Mm~z1|9m}4Cm?@Vg(|jQ{$?{AP#p}tgCVWQ2LJpW{$KEo{5Sa<@U9#y=g7Id#^G{J zxwdrZ%Dog}G*6>Q)5~XV=CfDwUBZqy`6W^b5YoI-rADT9uKEu!e=?$wPAXz1U=}gH zl;6T@EDka(1uR1>CI3zSMuN-=%*=Ds$ugp0Nb3S^*GZ#=sSr?77~(i0rF$ivOtqZ; zwg4S8VjqxDq+&=JC4^Wy#&qa^OFL&wBTIt!=;l3J_zbl=Y0|xoBhKU{lgGqc6~$>i zg=#B3LMM&g!_d-4kC7mfM1qjN_3_vqp4-W5wes5ayjKRc x&j~A{=wxw(nRZB}lPeu1It<6~{Argg{{_(AWCplzWYz!x002ovPDHLkV1l9(#XSH3 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png index 37e6ddc39caac76358de4210988a78bd1e151013..df2d7f0a47257593b3aa20d972880a3f3495fa1b 100644 GIT binary patch literal 4429 zcmd5=c{H2r){llzV-z)4#8^e6NX<&462&o7bCswmW;Iu+N>vd<#Z)~+dr?D=nVRZQ z+Ei;EqK9h4RJ5pSP2ZcZe|+Cs_ujScUw559-nE{0|Mv4dd+*=gd#(N4voJU2Vi#ct zfk0dsG|CDDVya_&Y!E;)V2)4#fq3~bC z^PjP_srIMK4u8m}eQJOCJb>C%{g_C8)fBMi^~~=avIY>W*Qm}p^i)`f`juC8-JaNN zwHu0`T2C$KzANFbj4~Ma&^Arn?+*6c*jp(WzooX)s8u}(u?WWX26_+g_^Pbwk(j9l z<8b!SkE|MOLfgvaIraqe#PWGE>!q-2^#0ivcr}Kf|FCygV8sl~z4Q&H;d8Qx&5*`Y ztBmsOxfwL$fgW$|Zz$}-xI`O|mR}t$sB|1YCGgs8xX4~X5%ToG3647ij=k7+x|F`9lW{NLN=e#d`6`3zr(aShMQ9hvbCH|MJ8w8muxH+WY+RZoDsqYMSyzsE_jU%nEQJ)ufi$*+F&h&b$cn2g0X#9M`4nM*9JVf`w)po-}C zbr&N==zo^s3iDs6(VxmfC@VaK5=@KgR|jNAf?~RL-DjAWxzoN1lggc4psq2X8aPaY42_m|(&i->*vf&LZ0t6(0GFSH!=f^KR!|AfcjAibrVz>QaO zcf1W1FG~{Fm*87|yf8df5ftLTi(9<)7lrO1IVb*rpaEFv66rO-} zUUqgzorw*Lv4@I-lU%g8Im0dEk+9kFj->55mWMH4av^STWkhLSk6A|IvQW{rActd% zjc5zKM&9(Gpxun9FXbU~422GNaS~Ek5h@;+7`3^3a`CMGs_0M*^`rP7a)~}`?&qO^ zQmXeHz7WSetb)jC53PN6Fx~O;$7^r;!w;@>S{?$oHJ_3jmjQ$>Jw={m$5L7qV|P6w zBM85h{pjOCU9V~_WYk}S7e#~$3R!BBu)SwtZEbfs_7k@59hvO7T}kHafsC3MfC!P= z0{xvQMinC=4b(@Odqn})EHj0?IgSJ^_eM8a>W;dusq|ATpbwZvkuN)8Z3=&w6xd@0 zsz?uAX2(7XZ-Uo)8iL*NP#{rDyL6aw(c&okw;z&ObG-AOK?JfxOeXB^C~${F_6H^u zo&o)kV|Z`l!1+WefgkE3bIt2~o@ZVqDaU$YC&pnA!DH&gu8oHROdU?9%s*ix)XZAo zOe`a&`7Knij*D+|E4bh7ng@;U!%zSdjoLy@2|m3BMFa27ws*juI``##-g4p^ieMu( zv2a5wM1lOXbP5_RhndqBZEWzVEUlUXA2^40E(BSNLgDdgkDiO~tE?||TUt7GKn46n z(NfJHn#Q;3-X62f-9q|Tek1>Wp423s4hb&3OkQ0}Cn}8pW6|cePtZf-mq~3 z_uk!5d0nFv^LVdQ;BdN$(I!J|{dKAF&wuz+f!`i$i|;%B?b_38l?tKhU-uoKZVaaA zPPCp2PrcF*xINgby7B4whHywb$6@9~G3``}8ZWUQR=wmH*CnI$)VZGgBd4^-xobUd z=yg;S%>h-A&=4=pgIGC!F4p?tt}OZ6^OkQpwTixajW?w^9L;}3_aFMbd^-@p;!0>Z z0u+5j;D@lKHUQEOF?i!+B;_y_GV?M2`$h^uO#t)y)2Wnco1Hs$tE!IH=Gie;D^X-E zr$&Wub80`QRTbK`0+oZ&!LMK=DIqo5?LT&ky_<_H$3}}LR3j)ayf=-7Tg8*5`!w+R zW|zs&&z5hx}vG!boQ z$z$y_z`A2jrgWYLxy2kcgIsH?kT>(u-9N?O7(TQ}#W|^Y{Z$pfTLG@P z!0-rq#t@f5>wM!|n_jQiXiwGj;#ar&tA732JN2WuES+w$quJ?VwC3(j?OXc%>ci3I zwDVoJBu9|wT$$ECuOmg@CHb~beQCGdePk02sd)X!Wn4c%*wJAyP=MY;k>Rdje+VDR zBZhn)2|lvZZZ2`N8C6~v^yh84=w?9fLtBLd?ye`JKW)FtR*%WCUcr%l-G8>-8h>nH zZCIi-5k}I)V{F5aA?H2;Ml`Lpd|8sOEImvtfou#?hm&T9P+86knU!nC1U2!qlSpyF z;^fk-ru7%{(Fv4GWC^%!9!&~WeYQ% zks5JDH_B)N{Bm@iQ+#g?-hV5fXVMJwYKyvdJn{?`{*zOe#G)!!rQnnJJa;kCR%7kKQio6>y%30PYF%~T*iV0 zsrAoc5V@MyN66~W_Zw9yT;j22UpG00L)J5w!x3V{CPQCNM(o6NGG=8TpPbfhT$o5U zst9}Ab(C$nvg-8)=UU{E3yoWvj0LDxhx+is<2cTGe3@Uv|itpSf1@C!a=9@0yFi&onuy5mur|28~I! z7(e?ulE*43+WSj_9#@45CY}|GR601c`h?^yf8VikIbZ$v^Ij2RI0IZjq_9YJ-eX~) z5%687pE3q#_rpf$Xf7-VO60-Vl(d9ofl|)}8j>A6EYH;)L~G)_dY#TZ!GVr}j|66l zpj6@O_%Us?xjR<14%vVh)_7oq({4F7-wyWn+`Sgz)x7&`h+_v& znvM(-b};1d9Tk+;NlYRiDZjiz{lMCS@7%Zcg4Qd6*r)TdwB67b+{YD@^WFpNr;FHC zLpgInoW|s0;!%S$4%x z%|s9efKGXoC*S(#`Y6W({#fIA*RgiiApQwWRS8Lx8Rl=e8`2mCO(pbC!edq5&*i-s zn|+Y0rGXvqqnr>51Z^oI-V{M;^(wcaq3xyM+wLWx_j{M?OKg%jy_X?Xg zoe7Jr_tl9L__f^s7;Mun7Yw32^SCOO6@hA`GGQ3)B-bBlSLRsVqeHUQkwaki%N*BJ zq=901CSqpLSin?Yxd>boYty!!30#zKTVD}=oR57NoRB|l*}{>#dPWRfU%4cO!em=k z$Vy_ics-OZ6sGL+uE$f1%`N~*m|uj2;@u<_UH!2i<&1b=4?#I%|y&|IgC1W9XjvKP(+L!T`^V4B*moupl}{5wluY(zC}fSsHkmMytYaxljpYm>l1dm`mKa3V%#6aA zsVrqHOV*6i2ic+@vSj&=@Av=T`Qu#Ixvu+p&ij7u*ZaPo9>gT#iL8pexv`P`9fXYD2=M{do zDCW&(Je;~Wh2)8ty0o5%v!5S^@@mgkTY{Z8kFBg~^M!95&uy@4<%9B&Yy}{g4>MJV ze#h?h6_3`vOuIG1=Lo&M*|^~W{d%<-^KnMy5C@Ty>-(=z+QOb8(ot?!uEwg<)AmVL z+KV7B;aZm(UMLfKFDSfrq;tkvqT28_>C|i}e*#ET)@Bq;FM;IP8 zhUlmhCS`UHskdD^BgSz)sxJXvuNcIg`1eEeT#>N$`M60YaNM)W6`hUjatZs*dr$b9b0Nf(JM|1(a`+LwwxmU|ZXeEn#v5!j%0*;W=%Rwdq|Er?}kBjKwX1y7vot_2wfJ5?Udb_gR* zxm^1YmT^!W*ew5V&7R-+VCVhzH>b5<+3SnU%g7^maWN19{*MJ!ED+^ODf3_cRHJPS_8wDG=m#VuiT9VbjYEeNYEbs ztaoXs=#~0azO_%JG{(c4Ll;$(v2f>51KuARv;|$GRH0fXaJeDU5mVON+~OlRx7)nF zD7#A!b?rfd%daA5hOfr5MFUybi(4XXELMV1>@jzRwC#c`ZQ1WW%}{xuBGAWnMn9$1 zKFQ_7JC{-(M6;G}ZE?hFqdpE_u(Fz`D_q;3a5)jzQ4UzSuhNn)hR#sS)MrD<>cJSx zz|KCs9~WC4H3B=`+|I*@s1s1V?lAguWX<3Fgp=S{f37Bh+-AgwXn)x-Hi{2;)@N%SjiireP)Ch4c@=f`tdLpBv`z}@M z#}Z!CqfrbTC_ffu!}Hy94Y1&LL-f_?#qsAsY#z!>ThYmjQ z()TL#CWY|Ddk*vY8!2~UtNeHCZaLb-$_e3~nMnC4-L7gGo}ckJb9Dj?v0~xQO#a(( zszgukR=SClA5@D;{J*mMmz1dsl{lr23X(^3>T z&TwnSnT*Qmq&9DD!ZI~wGBsnxdped1HsAbBGs*F=fYr7do$q*H5l9hpcI%HTdR1l} zN(-wZ*d)0|T#(B>iy(no#3vV(`!lVlod-j99FucwJ}meIckyCnqkCI$a+XUtxX61B z)ALSsri#xaU23W<;um{$3>Fsh*Gs75iYM~7OssGzu-6~Z5o0X8(r_~=ZETkIEPeR> zvl%!Rj&fS2lqpj!Rge(nU?BLIgb&YINKjnTKD@9rWDr&|N zUpD)N5(MDjyDT=F;Tdtv)E%%X|M255mY>#qeRAZ^Lb>jq^lg}CT`qMPQ)gv zLmt+d{je@C4S&`YLg>)GYeFfg*V=rOg-bQf^@ZV}C!KvBE6_iC{IQ(Z_qewfbOqgt z3@lDx&n{UbjH;GwWL1fZ!ZFqmT`ZZAi?$9xd3_~6y1n|OceR}Z#l2r^rkm}{&)x>i z@oOVg<)H=}hIh~;7Y~b&_4oAp_*@8dXZf9~}4m!mTwcPMS=hG*8Y#aW`9P!WAGphUCPwajpIz)w^0=IBJJQ*dAbx+UIymm!EIY>c%a+>?q=0QJiK zIJ?%u>SS(VsUY(`3ofDN5Zv1Ch)DAJfk8awT zmM&Ir2XR&}*}Vl}+jrnh2-o>ilrvdQJm;Op#@h@mOXp{2k5UNUQl($U%Fx3->E2J( zCeu0U*tqy2X=9?nCx6=RR?|9t!@u-SAXUC3Jnz^E1WAjSpwW-8MyhAcN%+L^diz`9 zj9)HYFVXzET@gI*aWS1$OnaG_#Uut?=T2U8v%Ba0$_yOOCH{)xedyhSw=dE4$M0{i7o5-F%4oH+ccGN_57^C3}X! z4G>K@JaPmv1)Q8G^*9me{;%hU6&9-2!X!kwC9gE#Wtv>(1Sy&of9P);(^+}6f<(*| z&`1T3NcfP;+fA>M=j00`JpOCr^0jv7vtOz&1cmM?VwDi`wZ|ctfYd$jid589vS(>N zgw1V^$K3`@`C~>6C&C@NaE0ih!tP-Xe>hKH_3g+aND$d-tKCx^*QEom?notJicig( zAM=`?UGn+vK_uks1zBgjumb)1kXuGg zfuJKnc(nT9AALl;3i^KeI~|pNjnaI<0}Wma87!?Xsh`|yyCTJHnhz)BY_#LtuPX(QIV*{Oq@}qcPE@? zDV$cI=TZ7hS|O&Cf{D^Kouw*^<({GHwO_TnCaq!}ro36csq$H3))X^4E9p}Qu8{i^ z*DsyAIkNAnVLzwu(`C}iLAwGYVaQ-s=bBA2C96i7-POFkx-wWlKPDyN^k0#OGdWC+Z~Jb#8KoqHmB#j}Nr{i@UZ%59i!j1E%L{ZO43E^A8b5qa z%oeOO!)Cj-4N3UaDsrzpg9$MA$9G9%_x>~znxlv?0mH}(74PG?*>lI3{}AYidFzTP z-9$1Zk`rCOv+t^lo~hAzLd+zFtZxmlb-9A&$He^vKJ8REwQ_KMvr1m$O#5iy$DTU^ z@B^nhTj`y2RgLnrax>mJfxM!k!wj$^;D_9+hDz50>R~3vUoUWUs*cW2$ijhu6Ji+y zY7y7g7tFDW?25s}lqm!%lY`BILW#B`dZ`N^lbFaWz@zofcjCJ|z;;LK3>en2VcsgG zFM7-`vm(spdWW=Vys#?58S`WAv?hX224_skov4}LC|o*$sQ4zvO;o8I!v{cZKgtOq zoNp}H(}%{<4ky@t0h+MXu^xLt04^!IR5`Ei#_k}FCd@g05XEnC_Gh1M+X~LM?U?82Y}>YN+qP}r?%b>7{ge84HnSfVgICG#!?LI6Rdsds zZ0{5@nM@{=$z(E_OeT}bWD~UlD1s6xkC757^0g9eGKsvr)KW`L=|tODBy}i>zsB;bs46F^&?u6fmLcr(a@7uu>;0^E@_!0aG{s9$G1re$8wtx7T zANia&_!_s{Yuan`J=V7OwD*o_dwHCrkxZhecmkV!_SvUF#9jbm+!P!RFa!0Ym{|B>&IAb0>rM z)x|%@Jr}rIMMmHZqL~h?#B}3+@GXc!DDZ#1FiF&8s>B?{ zw;>8)+wZqy;W14YfBdq%OlHfV;3umP$_n5p@HF@ntidR^-adoBUN*JZqLc=17W1hu;}YKLpZWMV14B03aTEZJk{yw=$Hv7b|3Ik z80`r~kV~qr!W21P!tMLcIp>@+rz|znUQctkKbhl6b42aFv%a-H)@YCn^THqC zO6}huBL6l<2!bO*ME(Y+Tb~E#q8+BFkCU+j_|OZ#sS#hPQA9ojJG6Q-APPZ^o5<1W~4+iS8=eqG&=iCr8|jD zi_UUu2PLIM4NQ4>vD(Xu`pF&*xQMo*QlbW?JSe~IiH`j>(NSMioFn`S_L_J~B=Hx~ zk;g0Qr*b1H9Urd;|woM65> zPN2mt*7ui!_&>-*zAvgSZT+yXuWwl`n#Ghk(MfB8Z`fh~WJU<$AEra!Ai%8`lu5PO z6c@KPL?`{0dGX5$euEQi>OQ+s$a~~3phGs{hEO@E^r%9F-+v+<+R|$vuM^$^I%5Ng zKc7y3z_*#7|K(2nwkIa|RpQUB6a2ouO`NHf)BWjW2V;$O5BWURvhfJ62I^oz@+#E(4Ex_=!$Mrs_TQaM~HtB6wL{4 zcH%E)r`*ZkNPUiR%j8<&72&?7mJXflHIt=D?=Hc0B9RcGCd>(XdV2QF#-y0y$I!M6 z4(_KqS9J>UA1B2>cXxNMoOUNDxvdGGA8p<*R37Dg;N_WSnyDkLn{X8-!O!qY{9-&# za3OU>(qR0;35tJ9<^5tDRG12x6YOkSqNY+|C5nFtd@{l4FEk2#-rL(dXIkb11^4B0 zmr4AhLF)t8x_Lk$4JFU5f*Nlm#5kzBRA`rEj{;16P{Zv-qu*|D^cPBn-a|!kILS^> z;x;BHsNOFc%zritU@mZ${|2BWS(%qQEQiMarmBxlT9 znJ5*)C~)_rfJ>5*`q;hA8|DJiK?k*UwLXxtMmivB_q;^(@$x@Ppd zinPn7WX*rqRz`oJvM5G@gDC!~+8X`QkpJ1c1|Z3jAbRMvcf&WWvCXx;%^jSzwr$(? zcCT&QwrykVnY_w~|1a>>5!d+DaS`#tRg;;WRrTs+{+jZ{s4H?;el!{l)U8_=R<2wL zM~)o%7l#iYhS8%(LqI@)==ex&01S&tgq?Nz$Qi`OB#6|A`w|!!2xG>KVPn7oV}mim zSjk!uV(tRBDpjgf#l~j2|9AgRojO5!dO8#p74gDiv4C2w<{j&!(!!<2jFA!UOlv-Y2(8txQR}01=EiDZ?cI-&SU4YP_9?V8u!X>*uL1|*lS-Eq6rBVqG z9z4JwSP);oeg%WUz&pNIgc0887Ey(s5&XUwjYddKO%;s=#tLI5_ZA6KbiG1yu!1X2 z0R>IUkGHosym|8me_T;4T)2>Td=Ih!Ug(!lh3*kXUSAe3UMv}h*RNj#`Bz6&oC4LV zRr`b4kQL6>{T0NBU9>1a*REZY{Ndlddj}B_5uC9eKX|}}<}=`_ekm0=-+VgS%<&^8 zCI;TWe=ivaj1?t~a(EXwj2B@xFP+K#YY-#yXsP-lug%NL6aC@y^YdZcxN+d&!A+hH z;d;1DsKrCWa#`aRv9W!)o?}1yG-1L7C@3fpjRD4}Lx&EuREKc^iF_Xx58 z=1|o0gS($ir@+mdHz6n}h%??-{@yy}Z0o=a=*wW#aJgaL#y2B+lAC4NJay#mA4UFP8m%qQI-L$aeE1-l3|qEr5uBrE-0yJCyhc{&9{a1Hy}Nep zlJpm2(xOER?s$4G!x`ihsDnA`7#hSJFC_T~(3<@0DRAo4DanMuVo_LF81Eb*+CZ>0 znFOcJ>*N5mh1kU3{tz1*D_Q|(as2pkw)jOOikQprcy^<96#c=j&!e<|@s*sMjFP8l zLKGGj!tB|zc_mRqVpt0}-g<*9U=C|8SOK3mZyx$0DgQE*k5&{imEm(FM=P@VYIpjB zPaM)re^}toe(u~kCIQ4-0-~d%dFSvVQscA+Bj8BlMweo8{bAs#;_v&3i;II7FJ4Ic zi6>%6NC@p;jNt;vAeG_zj-Wv}nSvZMz1Z6~1E3W{hYqz#7VOroo8TPv0&2r{qZJM& zZgL5>87)x9zowvlef##c$;W{M2U6cAjbPNEQOt&2!rt_!B-#CUxXTCcTCEmxb8{t= zUv#Icxm6gR&eki9whwZBdG4uyt=faoX-08)K zsZ*ySKbA@m(bj-?-#A#ITLL?iwmKEdS}lSYpJ+k5x_0df+1c5W_ne6nCyK|3zM|Nh zDpjh4*pCJ=^oJZTt=;UMPn1Nl0Zww4JaFKE;2hX=)+V71Y)jtmRQw+IyQptx&YZES z>$6$2X72WK1d#WG+Ate;NqcmDDj51R!5yDF*}8SBO+2}F?b^b0N~wj}PB|@sD)B zlfS>e+bsY_4t-O(a^F)3UM~lYTo^^AY%dux|+qP|vZDVcQ z#@idGqgK_O5tUPYQ2F|tyX<zCp1L_wA_8B`h0)g<42!spSe*NzKe?9<# z#jH#ocbJ`>ZQg$SZP9SHZrw_imGzfdwC`vR={MV4Tl{2$pr+qU)1iI+k|lkkKl98p z?pq!+13z-BN~H*a3X57LF(emB`}qK9R72oM7SmS;Kv1`QfyUViyykpzer zD2e8H*0{YUn2X`ETvjqaEw~82|ES(Yj?bi6s z0|=VQo-qNifZJ}nO(h>fW^{I`I{(8QHTG(Aap}UeVD9M4O}9?jj?dh8-+fi@j+%eR zb22Fqj>TesPsFiq17JT6%EN)5dtu}`ZUL1M-G2M+;#md%8)42ZSzyj9U9?*`yZ9-y z*S`l!bB|Q{47fj;^X)J92Yi7*cm&xnA>{xVIEi!WCNasm|Y3MD2TnctYV>kp#GiJ{l}mJn%qyH$kT?Qvq3YUd3t^%0^#mI(6(Oo(rE|^^O<_=DDSM+#ItVHrz6i5l)o= zfp9q77C*bZxb-nNH&@j$_RvEQQ3a;#t3wu@23d1<#TrLUEm>%~L-y2kw9TJCUlsiF zs6#K_051drfh>*z)CBl5GbRv^$Fp(Jt6n4kjGF4@MFacbgAXVPr8;w;VP~4@mFpZa zde8}~vr0=#%@<#MA->J5a3;}?){}1p_mV( zGBVA1|3(9Qb>U-Xa^?CuQF-8l<{vqGsm^-v!3V|nqTB$xXkI122gnBJk}Wg-oRS0z z8L1Zz`q--kpj!a)p=yX0`U(`WMF%r*q`n6xhSxc>U< zRl}~Z3I5m5S^~U}L|8%UE)WxddMZJHmn{Kmff@Shy#h#9rL|QPD~wVcc4Y|w5$6rm zv-NUAfB+B)27{eIfSr~Azb2uMKKf`?{r#LdbJF%)NSc~&e_>>cCyU{p_xt_-WC8?J zA%KrR)B>F~Yb^nO1?vA*{kN#W7ssb)M>jtI{PW`TXs{Q_wZDGW5&)G9+hD`(*p~gN z5+DpTPi}~@xZr{dM1w@7W?IG%qLWKimVNTcCrf8}wIQYj+p>>sTRjpzN(8_SaH}Q2 z?=gP-cvTp zv(aTHo=XLK6DLlr`wW`|`wV%kab&|lG*tp5${`wYGVCQwfV!(hH4-J3Rnv{3J{P4F zs^xtFX-`6TYZ*V_wqeK~mOn~HMSR81BpT%@I4*tV%EDNj|RqYj+K7G16*+!Bk zZWecQ{w;ps9Kd?mZbu;gha{Mq0DfjqD-htCx~Icg3>Ywg{CtrFixw?1IXOA1VOP&S z`>c2#26xr9v&@1QWPkwoknOS!``r-0#~*HqpV^53!v@01lIShB+@g|1kv~w?{A>Ds zFTVKVx}{GW04EfnGk7RgBOwVU<^r1IXRPfEb1YU{XK-gl^q)DoFMXWKc_l$=hepuD-i-BFv?_>Rc zssZZ6wi^~DPzNbAz$|Km#KIXi4seu2RdqWbee_Xs;)*UO`_5ZIT zn`PS#h!Uuv1T_I#Ar2_UxBvI`yFnJSXU|rZE?_0A>uJ;#6&23!Vg3IfkO7{^3Q$v7 z0g{!VIM9NU3N{XqCrU%YRBdbN-o5+phHq)M(qQb0i+*FzjYKE^Kc8$?tpEvuaF{FV zI>5iW&k{f-iHbP)+;hooB2ZkQ`pns9pDn+KErDLZ{(mzdEC;}HARJ^lsV(ILY+;<- zF$OnBEC<4Vj;32jqtX7jX5MqY1uW1ALq?lc zTyxDe^0Te{`4MW@#*(da?CMtsz(O1lWkz+zHS?5}L*?Za@?HTws4#BKm@&e0t^5fB ztb&bpV_S{t{eL+Q2=SpE@Q|ad94a@ntX#QLZ{%{#zm+}(`IFoq48b~wY?N&^r1$^j zI3SS^XiIJo*d}a^u~63ZsA`A~I_MzznO6Pz5Ho;Av;W@=2#rbOQMiE*A@24QA@R)1RQ-5>XAP-A9V79M^-y#(ALE|RlQH@V1D3o6W{ z%1^|j^T`(3CL6m@e_SQSS_7TYbyEi8|H1hduqZAr)=Q$?@zu9)U-@iX`S~Nh{f{79 z1lqVrez{JHH3ixOIq<=jfQ`0cUYPLAt5#K5wQ7}}^RH`sSqB^Z2isyZ*U2vzwLvi+ zJKYrl$YCl;)ZPNB@(BD6wMHt=w9+T)erEsN-Z=m{@@--KVaG-?$tbq7^K9F;ZI_>I z+qP}nwry)B|Mxpp_g0;{^?H@<;YrnRy)&Ke?>oA;JEB2Y*UfKefVi6BW!Qi!2lENb z0w;gokK8=}@|V9{7PtN{FMjchaY06#9>qLT3rv@b(|JJlsXJ1$kJ4sn}}&A=U*_P=FeaeG$$z z0~lw@z;Ab^tbUDX3W|{0&AI>Sez5i;Y(j|}6#5+e*KBQI7;NUxitl&O()mSGkb%Xh z55C^(Ea3MDC7}paR_mk``lppb#u=7A|KdjXJBgN{1WCW=C%))E{7%t%NJAOwjIN$4 zPUa2m*i^_k&C=)jq9G_l8s=l$@fkxyoPjd5F~LXZ2kc>5#;KM*eyei_%8-q<@r|J& zo`n@(3XPACUlvFI1Ou1}P6d0y+t0_w#;z>dfg-HHYz&QWEDfgb-8Z<6a2&a z0plcf|3B#+?<1Ol3askVC-%lShEix9s?a2@JzCP6nIHla|2eE7Jw>$Q@AQhl^oh3= z@>8KKRH20lUhYg_TO|x(Ah@RY4WbdKLe5Wp;w^pR-z?`B$cj*d4kmcNO@@qM;`1@I z(G3^8;@|8Re7Fb6A;^(Np%+(=AtWXd5cdw$I|znKz$);GO+-hbeue?(L47s*nP1D^?Q zAmxy6jBPq}s2Hd%4!`h`ADWPZlwa)H*G+E>lc6-^Toh=#p5Qx&b3|&RP9p#JUCrO- znzxSnF(KrRQUlpaR>H>8e?0oofH2@xuzG9Ybz-6FT&Ij5`Qor4NRbW0=c7% z4Ro(ye~6jj;IXat_PkE6rCd`-E);(_?mWsSNCzh95T382ByCva1vE zKT)n>(D0^B{Lv=xjd2$0-ULhy?!pQE@xkZ|tlp=G`zhD#o=W_6$f}0d#2?ids}X4i zD$tRpi3aKloY;@5l4yTq17n~|9y0bP*xGPq*XVYk3K>7@RMQ?4f0PN-V%a8?pe=Ax zd-Mg*U{v~dKPt6su&3+@Zd=3Oxi-&n^?ut?f=yU~xlgml1m^-~iE;E7OJ2V5!um*W(xRR&~ z=O^O47!&-%?lRjw{5h6$E{(3-;Ka4KpsV*g(11Lw!7|Li_?c~QFcXZyG%Tv-xa|7^ z=&^<3wq%1ZNH*|KqKnT6R_@3-c8%_r{7sidXJiCpN0&QtPANIx%sIZMiuytYa;oH+g^BnkJ=PaY!vdsW6N=D) zp34S(BGhe&R3DV53Ul!+Bb-6RSHk}fLFL0Vxwn^d>!N-S8c>8yNWlV3TfM(KC6OPM z>TFPkHgvraWHE*&?Nb=xzo%>jD|LK>`(Mu8rxE_WmGFf&ly%hiBTg%Mc6U^&vw`mo z3Q$wMK@X0L5r|?Rk*S615!{M0SeY~MHNKo9*}Ue2e>^C6YEbaCzK;5PJL0r#FbhkN zh71&;4qe|LxYFph)Uj`o&zka6Bi$z)g|&px_-d;2d(O>U-8{dqgx`ZY6d?m?Sc2KT zjrwMSa9rvqMG07gER>)T8i9*^EiU%6x#-`*2s^4g(k0U15Q=^qJPjTya|NH6mGEa^ z0!9zcgvZJvZ3LYWe2-9pHuSU+1Q7^j!GnmBZ$~)aML>TKvqNYI#UOs6L$u(1Gy8Wr zc6krHmxu74t|3irAbh`fr=n{7wNns2*z2GgApvRFgglg?4xP{p0-tSgNm=qoL{B4v zzRwxrFCaqm8A6B_>M%qY%Y6*3kMP1@zYi^XRpyi-51WvNgbDxf z8(|veU!^N504J5c{{~d&@D%v2aYcl4Fx?AzJXzQzcH_M|)M~q+ki=VEXV2-;Cg!Wj{XE zSz#kELrs-Qx@QpjjxB_DF)5qmvuqLLLy5l6K%B3WXpA{N&Cg$Rnd8U&{4;)*Jxjk8 zAq(!;zjA-~V;9N4>i+M0`C6})uL%#6?;+(3-}B;1>_Sh8zOTxgS|Iuj9qs)%(>J$A zL-=Nd^G0NaMMy$gWrhNjpbAaD+U!gb(hoQeTX24+Ef?csf3ARdug1vnItclCa0AEn z^qPkhhc}dc)wqhWnaZ{`)`+8Y;qT!EeGEq#yyI=*NO+4<>rc3V|75 z3T9y*mXsk@VFNOdg8~$x3>BzC4eHQ@7IXr70iA%BdTMeFs!)M46rlh)$iN1yD#0(o zJj}wB7X9f)dwZD~Mpe(?4dFAyG9)1dX;^~|*n|vZAqRP75>F|hs3<@la*%}#Y{CYt zK^jt!gk>M$mEe6%KRT4??PX?&Foe$#lQ0c4FbDIn086k82}r^Uq#S9*sw1sPIaVME z30Q_DSb%w$gBh5HNgv@O1V6m!?PX>N4H03AahMQP#+X(nnRU!XFe@l=3sXwu!gz$( z1HtdE=+3SBK!$&vL S`%7B@0000x+cDSC+O}=mwr$(qnch>$`IFk4c^))QCEvra`}V22RdsuM zW*M!?WHOmdCX>lzGMP*!ljT4j6i9KH6iA-06>F1810|y9YKGSQsqR+uOSeZd<*xvvVE8{pNGG11CN8(!KdH{@CW!Clt39oq|Dp?=3{=~ zb6)3b+-9$7ug&*Z%ih!8dw^{(j&L@TN%Ry?V6)9O+jvCm`60$lz+n*MmEdLY6$KpC zi4ypV?|r3h3)mQrF`sQ?xZTc)E{9gml{U5w< zP{QZ&xxmjH75Sdqc$#gqZF{AC(##-pkr6n9XeNRcnQq(%zNsWO3j7~0OcK?YvO!1j z+Yp6t+wZe|;XX~Qxc`|lS&r#I&KIi?%JSey@D%uS0KvN`93$uy131K=;3@9o^0v10k`Ti|5Y0msL|+Qij)YP6`w%(<_xT_j13xC|Pmh%5o7%*7jgSObIdWvw4|j*DsJ5Zl?fja?X@5;4kDi*<#1Nu*zN5X+*B;b z(+cjOm`b3}!)v$3@?)@%?D^TO}q zO6^}DBL7Il)qyiYME(M&*_emNq5-C;kAty2_`nOlrV(GMQA9of+t+(GP_9oyo;Aq8v<%M)B>uU;v#Duss$KdVoM7HT zoIs0P?C&oL@xQNpKNXZ++WJ99N5?W+G#jAJi9uQue9Zy-TLMZAe={BW8Ub$IpiQca zO>uE+0}Rry5`XHQ;8!@oChoHvxvWS290p`#UJxn+ogQ_F@cR#>LtA(aWVPVUVKCO0 z__OH*2z;CR`Y&_hw`*d8UnKs_I>E233Frjbiu_Ap5WbZ7v+V?MfUnxy+m~}rkc~b+ zcK%%zyef?81n=`Qj;UTJDDYxbGqAJINc_TU07dchpf#;0(B<7lsjdss9wGigP&6mF z$%#Loo^~gHBlS7jEt6}7SA^F!wRGqtubDIzy*mfzi9|w#nlLA5Yirvl9Yrz4kEv~G z?A(uooYg7BzbuM>YHe*@Dd|p7aF-^0PI>=OQG1m2z)Mr7PHjr+MYwV^;b(Xy{*fRj zxPUq$Nicrl1jWCF@_sP_N=${!33f6qQB#Sq0>$40K34P}C7K03Yj1C#BPsPj&V9Mu zrBxEY(E7kNt`5j0q2;+{(BqAS7y)IM3hf;4S%9ezdbsV_=(iO8tBg{ichOPojk6OJ zco~!9tK9Dw;$NEuPz#*tz5ys!R^+J;%kpE5)$IBRQQ`@6zk$^`3yg_X&!5r%rdp;x zLa7jDfxBh~ToRAe$3EUx!@^gHGG~FPwY7D}xTHdPralv}agQtdi#ip=&$hI*OmSBg zX_$>+&wm$1|9YafC}x2JDgLnyjsDn>$=Imp)%g*1;$PMRuTGmbZH7BpPSIavs}}f= zn`?@)BnhHxdw=JlZQHi(?y+s#wr$(CZQHhIVk6F(`pUxY&QsRM{p)xgQRimmjhj)4 zGN>_ekho};w?E4UEuG(|E^42M0{gv-~Ss-VmVLFPeDNeeE9G|7W?<_ z2PY>dCU$3BcetHCh70V#T$vrr*_montUot5m#0BF>IF7XBP{UJl-fT8lX%0^sjt1g zJ)A#(UX}pw-@k{vygVkhvRgcyO&tN()5lpfD8~x7cqad%q9UqIw)S)9&e1dC>2#PD zz+03;38r*}z9!%T7|x^f)3IYmc=zs|ED@G1TgGT%Z6yuNjA#j$GbUIxrbjfVT$$cy z#flZOHPbU`-@ZMMGeTsEP7!!%677%V*Wf?D!s7z)_xFb@SFXsC;lYCkke!{)#0J>7 z!@ksEa4vJAMPg6NQ1G*MW%AC?&xc2k9?8~x`SN9If_b$>Z=fS&Zwg1~8(L+!>T2?A zeU2M9PEiX_o;;a}(^b+!*Pv=}DsvK?&YWyfpqx4dRA%1(gz3|#E7m)F_;B7W(H6u_ zV>ZKI2`da&-722P9#T?L;Q90CvV?f@X&NA2&Vvt#mg zb#i-~p7JHT|b8V_X8un0_v?JD~ACrwZOzEYhT85!JvFYu`u?j^jajU|6* z>T{D?=6+6|JgG>Inl)>R#%8$2!tR_|X2-6anULZVC7NTsdi50R+qZ9@YUYE`4&99$ z{Y~Jj!Q~HKamca!VbHvJb9nRSjVwWS?AQTTR#r@`UZaCvXgO}rnQc~d3vWWXF!|Zq z+QObadt_^S_39NgXwX0{UyRWLc!np#(Z-NL^kd)PHq%t-zSS`J=IiULC=tj$EG;b+ zjSsT(h2@>Qpt59M>(;GPtgCb9&TK6IGH8P#+#p8& z(Cu7w)0^5BKtx0Y9el|Vg=CWCA(018Uye&20&DUXm=vQD2Y{=UvuI8<@%i@cTiKd! z-n>Z@plbY1;O3uy{^@2g86?Ob++K3kc+aO^uUE803B!gBll+Z*?`&9^zsRIWb5D^R z`5rZDlu|u(7)ayMYP>lD@cy9c#92ek1__rCk^Jec*6U7^l9J%Xix-N6V!^?|;)_V5 zhXINGVM)Palb~l@5723Jk~`Y<>(}LKp+i9WJF$2**rC)1j3Ukow?}-g_fPl%7r=TI zfA;vVMul6oY9$$;;Fbt8a^}Fof~7{qRP_BLoTbT2x?ZV{4I4J7`EyA+57>#E{lyTY z5#JE-2mfL38lWr5w)X$O_hQbpZQFL*c3#-FZChiv9gN+!ZQEwLhv$8}*U8GtBvt!V z_3edQ=dSe)yY>n8S7&?YHL?HQ0=;_mV(n%$jF@&zji^0N#D@OxM$x~aVAL`(FxxV==@D z;|?cJp3IsLUw{2Iy=hbLxkV*rmumgR(*OSaMi5b{o8b+FWSvszbLh~aZa+p*wn|Qw z%I{&%50HJ9(*9rIgs~@-7<>BkDXTN zSFgH3;!C+nCXRGBv4`b#2oL}QY;^(wP!UOW@oe?vqD6~LeSrq0TZ<1vzZai}t#JuH zfb$ztvYFv|6wX||dNo_!I(znPKJ@86j_^L((P*Cl(t)6v?7Rc)ULny34<4}HQ?+Z? zHg-m{=N7{oy)QlqU*{4GM$#*L)*OcC)vH&J4Sn9eecLdM>#mM)KtMo&L_gN91MCSw zl_Bt{lSZDeS+nM~%LvL8tSaWfaeY60{cB+cl3vA39ACn`dGpw>Hzp>=QKQu12tR`( z+>msbVA%nNqeu3W7X&$O-BEOOG=&RaYl1>{B*&s^jS_PsHi&sPLC?0YJ^;?OakC0W zxX_Knc6?#niQ^{6fdJh}hiP~->9idJc*CI>=(Mqi#flXZJ9g|aRjP!91ktZwKT|nH z@|6}-;lR$0+++)r5ckiUv!Ll2BSws1$+}^~29YnHY?yHZl2?X$+adtq1^9pfbDg;H z1>r*0tk}45BO6n1TBWC$3T2)ax!Dq?;O$?hT$rhBy#3jle?nwrq^TS?E{T{gD?`2P z5WoZQgGar}iIbnHnf%_pd+ZRcrcIlg5930$Xdfi7CPi(vgzil~5qWYJFqMsASFG~G zRO8?N?i&gEfppkH|4Pnu7(c6ISir6M96mQ6W zeHh@yhCazz$DeiF4Il}yUA9PiSnU%|EF}$susv=~0A`r(&6_t(mF&))JEBF47UokZ z5EhMS_?{RQy+a9YL#B`uZ7MS~G*mo#^vLvUyLj=UC|$a=BbVyQ=9r_<;q-|aVXFl2 z^7Zx2jL!)tZ+-mcn{QY%W7e!$e60~GI0qo6Kdi$}Q}he_MHJ3ok(IY_;X;*~e^!p0 z-vH;lyu9*~E?XhM|4YVr1qKG@gP_Y!CIANIvStvyiRBP2Q#3`j=-`ffjL~7Ys9$3U zD+i-m*pdzWf4jr3+^I?ax}Tq4Nl5_0|63t|H?@|50Joh?0638BU|Ez=D-D({h-%SJ z?Y|ZMI_^ysQJC_OH%|%H_Q#FG4){fB1Qp0RodEZc4X#AGEb;%ALZApEm4Tp#PG5XI zaNt1J+}N{ck3ykYR#5|C(O#YQiQb*|CjeNwBw&$V zh#dlW1HLGPqdK4$jwb*xefo6r1=x(M>=iIYxw2s*8V+yg&Iey15{a^6Me8Y2f z+G44Q?sDW6YKPEDBR*Ci6&1w}yE=LDWYRoSeFOXfKejRHGJIKIRRa9$9|ZVK6F_~= zKK_i7tO5nAh|s7lqAe;u^X0Fg@(i2!B21k+HR%~mfZzW?fPbkr!gvFIc(^JAC1?U9 z^$K952y231Asv4UV5~{e5{*SsWPEWWuzw!Iu2>Tcr5nk+)ieQKzyxX}%OQNM5Wt5X zf)7whJHg2Z&Z;EFX3m`H^0U#Y#-6)i!Ge@?{-O$RPJP+^)1gLGD0MZ1a*($J|ZfXJ~@4r2N{ybZR2BNq$ z55bu~n>TMx`K%_uT_nP)S~r0t0jQ@E1h|--02-r4jUuIEhiECABaGQ~`t)gbcyG!@ z9-06M;#@;LTNyh9@S=yjy}fgQ0LL`}Qm$G(cI+5eALNoolpZ~Lu#Pw0{(Q~9GmGKQ zdU|>mk_7O!LI4l>P&#zh>`qAljn6;-oV^8BtXM${`D~woS{|C?X>(?&CIBiKjzEXA zNL}`{N&sIVty3FfRBCeIc(T4gg$fmHpMlXUtnGj0$`zGiS59t-NeB2!o&J}Vk?8(J z0Nem8QW8KTckbLGHa3=hJI|j#-&RK!N-9|SL=NmN(4kM`p5X6EhXH?nRC-DR1ORDJ zPccUmz_2udt;?s%%_>!@*y={Zuq!t4RkLPI0~wkC$YU)e9R>od65!u>IFLrmA(S-4 zcr1zr){L^Zz_@YaEX&1$YgTT2e0=K9Yy2(e0!<|y#@~ZTr!5gcUK?-W8VNTZjHQ8H zylivInKNfZo;-P!Wfmz?L}|;5EWg%BeMI`-D1+!jIt&EZA%Gtcj86^Y-M|`fa%rPH zo25k^zp_k3b=Yk4x^?Sx=+it2_5^vX=A^@bzf}SxmO})|WY`5w0Arx`hc#EItrAHs zRu&b~?ccwjm4}Ts=CX7I=$h;Y4oWJ6kOZ)h3=0G@;j@v1LvYIBSQ<2Xgms4LjUEyb z!pcG`BWqHfJ9kdM{h6Uy$N}ty?q&x94U%9i0X!vpGJpW{jiG2tw=wN6^ICZpc-I~IZY|;v|{7v8f z=qfXnL4|lFOO`Z}p&j6)2+#~U6f1~Lf-$*(wD>gBoniba#VuR5uy5~)6DJzVSh8dZ z`~0$H%lNNHJHWpqcoQv?V1aB7fXN2G4QHY_1fMr2fJS(DI9s}a?K7!5!zgE9`+e`< zzc1?4sl$IQ+5x`m)r^FueW$&}I-1m^oY#TQX(F@@-c6k!({tU)%qGA_Lr8 zMu6VtBS3s4C=f_TNd@f(sNtiJK4KO6mtTH))hj?%r8{@-R5zP6xRK~&|5qWMMNcA8jTw_7B_C(VD}18*fT6FOgwz}kQ;WTL!as;(Cf(lmpbdqJHWgn z>@CAdnJFKjRv4#4qCfob11T@NyBBeP)%^oJbOBsq{6Dk20law!n0JIdr8k|?-`~F` zu9-Xf7T`f^NnyG$%FP4GHT8Z19sYcP+O=k+tI~J%ELbBmIH3DeNo;}-^^1pcTLUiodQT;3({n;qZpY(hMsQqwg1|U09&3%b= zngnX2O}M=RMk|-FtXu6IJp@-E`88J7|7YaFpZ3F{(hTzO@F)e=ol+x!o+Y|w%^J%D zu$1`H(VvUZ$qI?)kNxl`Zw3X(Lvn$2AJE}E0W>OCu1uRGm6e|w;!Bh$!OPb8OUC|} zkxok846ttgSTlpt1KDWz5(w}}-vT`H=g-fLI7~K8?)~@Q*Tb&Vo!=)2%(RiwpA4+| zSVCXqCZSh zEF+K;T{n?X{y+6Cpf>6-E-sEH#hD@|CPw%B{;$1r0CJ?;;`qakGgdN)?PTZKwr$%k zKijr#+qP}n)+FEiovPbar*2i(%TBhF!AaHc!|tHd{r?}`+v&k~e)fp|cNQ%|V)(_c z!576=UU~08fyCBvd%44_Fp3B4*!Bem?1g&D9X2AONA#D6 zUc5`R25Eoa|ELV0n_-;=a@;t7MGo@UW`c;YJwLzWhWBfW)^zkAuK68)BpQP?$U+H+ zK9N%BY~3(p7=3|7FS+66IifMh!5YNEMxUeZ1r}i&a?s*nzhGM=jI*`n!7X}y9c`V4 z9PGg2IBI|20D2;{8e{<);#*P*{pT!|LWXU4`wv?l?jqWPEUd!Z5Ve0~>jH7eK?TRY z2s69Vpj{f00MVBA}MW`~m zda5{?H`F`BsgPl%&+|n?P=o|5MX=*DvW7SXMQCDzkI)Yc{9#&#l|F8(a|?=)j&7c&To}Ruej{XS-7{mmIeZt$%r>3T^EZTuQY{Eh$jc)`Eu`Y$SpafO9ZvYeg z!}@{$gVp{2q<6fJXa-8KrAwa(8sErEp&ckgowW97NpEI?5KR2%u!i&$(F&AdC&JPv z`cgBD!>yU&h)amxGDGxQq1h#YZ1b(O$ z*ZvpoQ{C$N7RTu8{_*t#3$OvH$;nB1(+&1`Ur$binc!rJpUD3!K3?-Cq5-tf5KX`a zEWorLc^(G?==Fg`*o1Uo0#3w@!~|9jotU!c*Ie_PDeEDjk6 zGQka`98!(3O^1#TeYM5m7eVBQI%FWO7Q4pR^p0UNlz@zj0!`Nwe8)zl$8*$4*QL>HFacs@%!V>lWc;7XM#4-<1w;}lnK!hX^ySgm1`xt zIuZX9<(l17iN6YI)$p45!y02X zB27UFTGBMpKwW_o`%$kX8hG-mN(G%RZhQD)dp5yBMrlSB!*o4IaN1bK@wPL&uyO4)QU;=8( zTayjG7GwkX??|(O(U)@$=eXUR-(U^rc5-c;@Eed<53g7}gGDYgf!aGX4{NXuS*W>^ zs14^Q;=C9W{A2WYnb{+XRD>pcCEiUNl{T9?93)`>;^Dup|?G0vvDTu*}YL1J} z1VV=`6t^WCd_l5-`Xo9tLPX_`oMYGMen~#3U#@|w_lv68U4a-(9bEio0zDyGf=yKt z)m1jwlY2?2Lx1Hho(*pVqo)_OWEUsGf4XE~74_??=}PeZhh%i84^q z*?{T8)#biYjPN&I79Ge4Mo*VJa!x5Z-^@9_ri%JP2{NkWS%4Xv^hDPe#9$fXkc2$c zpyRSZmk4zmBGm`wQ-!&B2gnE(@s;rZLs0oJP44aG+`6dWfg0o?32|74nAQ6uD2ddl zRA+-CG@%_BK^9|Z(msU|{yVr4tkiK0?teLVpGNriR>BvWP}EUhjW|bE^4O?UWdqe4 zL6{%Nn=sX$KE`YP(%h;y9TU;$Pk z0V&8s71}|6;7X(0QpdhUo;4LrjdY)IBGwW-RSbb@TkL5`G7&kcSi`U=Br{Hp(ole!Zv-y#wYb>N=AwTKBlJ{xq)Vj!F%V;`bRR#gBHDHK6$V5p5SgPpwmC&}EX)J9HUB3*Kw+ebLK%<2^n?#>GnXZ8;Y~jjtm9juQSn z%)q2gc#ce2q>P|4g6a`U(1eaQf*=B+EO-!6^6d!cy9ns-es=H;q3Dk+vWE!XHM4)0 zW0&{9dwB@&=^C!7)xz&U6H2Pa-yT5tV6UTUgmp+j60%T)Dztnv2t3>1lCtEFh@M6S zeV;SLUqFNwWC$Tds6!HBEcY1NAi@iOkzWT>n8l; zZ-f{u!Yag7c@$)YnktceL!1^v$g|HRs>&^!vPeWT{cQyJJGpaB#HhDSfc%c%A@*;}@0MebW8s)?CC4V)LbTwaqe`5riuOU76Ngn;gqR8cxEsMW%W8b8 zv%;=thKeeabk87k9eW7xVp2BAvuqLLLy5l6K%B3WXpA{N&A-3qGRKek_s{sZ>{%g=hP{7iV5{0=E+_?;J5Vi!6}^j%fnR6Nn|>S(XVnXb7# z3BorcoHryZtiT2&RA$IQ0m@JhR-2tEe7YW|VGqvFwB=$v_U8(S_iBtBuY-`U2RCqB zPyS5)PQFIIR=x-JRNb!WXyjPbDs5doRWYX`eF8RMB_!IP*Mxuarbap|O!;Pjb%?_@ zB()(_hNwXU+JcA{A@3Qj>|P=*o|ArCpoKniwYO9_4z zmS6$qwCF9`+v`ltFsXWmzz{)(Sc46SLjty87m|>IG-Mzfm_$+V$SZP?g$$%21xeV2 zZAd^IHefA?@JjGOO+RU(x7Sc+2r)#EA!Z>4^RNg@uneoP2J5f^n-F&-6kCpjBJS9P z4OoXYScPR+f<>5z7|aF{K1A>)dV39T2Hy}NrkI8qL1m1XGRcBtF@yy{iCdUcA{VAZ z#O?`xq@uT%nZh%MGlybQF%`n3LVxcmU+5-wdmUCogqg$VydL3S8~*d{HRS7m9lfK3 TX`(0{00000NkvXXu0mjfpp05XEnC_Gh1M+X~LM?U?82Y}>YN+qP}r?%b>7{ge84HnSfVgICG#!?LI6Rdsds zZ0{5@nM@{=$z(E_OeT}bWD~UlD1s6xkC757^0g9eGKsvr)KW`L=|tODBy}i>zsB;bs46F^&?u6fmLcr(a@7uu>;0^E@_!0aG{s9$G1re$8wtx7T zANia&_!_s{Yuan`J=V7OwD*o_dwHCrkxZhecmkV!_SvUF#9jbm+!P!RFa!0Ym{|B>&IAb0>rM z)x|%@Jr}rIMMmHZqL~h?#B}3+@GXc!DDZ#1FiF&8s>B?{ zw;>8)+wZqy;W14YfBdq%OlHfV;3umP$_n5p@HF@ntidR^-adoBUN*JZqLc=17W1hu;}YKLpZWMV14B03aTEZJk{yw=$Hv7b|3Ik z80`r~kV~qr!W21P!tMLcIp>@+rz|znUQctkKbhl6b42aFv%a-H)@YCn^THqC zO6}huBL6l<2!bO*ME(Y+Tb~E#q8+BFkCU+j_|OZ#sS#hPQA9ojJG6Q-APPZ^o5<1W~4+iS8=eqG&=iCr8|jD zi_UUu2PLIM4NQ4>vD(Xu`pF&*xQMo*QlbW?JSe~IiH`j>(NSMioFn`S_L_J~B=Hx~ zk;g0Qr*b1H9Urd;|woM65> zPN2mt*7ui!_&>-*zAvgSZT+yXuWwl`n#Ghk(MfB8Z`fh~WJU<$AEra!Ai%8`lu5PO z6c@KPL?`{0dGX5$euEQi>OQ+s$a~~3phGs{hEO@E^r%9F-+v+<+R|$vuM^$^I%5Ng zKc7y3z_*#7|K(2nwkIa|RpQUB6a2ouO`NHf)BWjW2V;$O5BWURvhfJ62I^oz@+#E(4Ex_=!$Mrs_TQaM~HtB6wL{4 zcH%E)r`*ZkNPUiR%j8<&72&?7mJXflHIt=D?=Hc0B9RcGCd>(XdV2QF#-y0y$I!M6 z4(_KqS9J>UA1B2>cXxNMoOUNDxvdGGA8p<*R37Dg;N_WSnyDkLn{X8-!O!qY{9-&# za3OU>(qR0;35tJ9<^5tDRG12x6YOkSqNY+|C5nFtd@{l4FEk2#-rL(dXIkb11^4B0 zmr4AhLF)t8x_Lk$4JFU5f*Nlm#5kzBRA`rEj{;16P{Zv-qu*|D^cPBn-a|!kILS^> z;x;BHsNOFc%zritU@mZ${|2BWS(%qQEQiMarmBxlT9 znJ5*)C~)_rfJ>5*`q;hA8|DJiK?k*UwLXxtMmivB_q;^(@$x@Ppd zinPn7WX*rqRz`oJvM5G@gDC!~+8X`QkpJ1c1|Z3jAbRMvcf&WWvCXx;%^jSzwr$(? zcCT&QwrykVnY_w~|1a>>5!d+DaS`#tRg;;WRrTs+{+jZ{s4H?;el!{l)U8_=R<2wL zM~)o%7l#iYhS8%(LqI@)==ex&01S&tgq?Nz$Qi`OB#6|A`w|!!2xG>KVPn7oV}mim zSjk!uV(tRBDpjgf#l~j2|9AgRojO5!dO8#p74gDiv4C2w<{j&!(!!<2jFA!UOlv-Y2(8txQR}01=EiDZ?cI-&SU4YP_9?V8u!X>*uL1|*lS-Eq6rBVqG z9z4JwSP);oeg%WUz&pNIgc0887Ey(s5&XUwjYddKO%;s=#tLI5_ZA6KbiG1yu!1X2 z0R>IUkGHosym|8me_T;4T)2>Td=Ih!Ug(!lh3*kXUSAe3UMv}h*RNj#`Bz6&oC4LV zRr`b4kQL6>{T0NBU9>1a*REZY{Ndlddj}B_5uC9eKX|}}<}=`_ekm0=-+VgS%<&^8 zCI;TWe=ivaj1?t~a(EXwj2B@xFP+K#YY-#yXsP-lug%NL6aC@y^YdZcxN+d&!A+hH z;d;1DsKrCWa#`aRv9W!)o?}1yG-1L7C@3fpjRD4}Lx&EuREKc^iF_Xx58 z=1|o0gS($ir@+mdHz6n}h%??-{@yy}Z0o=a=*wW#aJgaL#y2B+lAC4NJay#mA4UFP8m%qQI-L$aeE1-l3|qEr5uBrE-0yJCyhc{&9{a1Hy}Nep zlJpm2(xOER?s$4G!x`ihsDnA`7#hSJFC_T~(3<@0DRAo4DanMuVo_LF81Eb*+CZ>0 znFOcJ>*N5mh1kU3{tz1*D_Q|(as2pkw)jOOikQprcy^<96#c=j&!e<|@s*sMjFP8l zLKGGj!tB|zc_mRqVpt0}-g<*9U=C|8SOK3mZyx$0DgQE*k5&{imEm(FM=P@VYIpjB zPaM)re^}toe(u~kCIQ4-0-~d%dFSvVQscA+Bj8BlMweo8{bAs#;_v&3i;II7FJ4Ic zi6>%6NC@p;jNt;vAeG_zj-Wv}nSvZMz1Z6~1E3W{hYqz#7VOroo8TPv0&2r{qZJM& zZgL5>87)x9zowvlef##c$;W{M2U6cAjbPNEQOt&2!rt_!B-#CUxXTCcTCEmxb8{t= zUv#Icxm6gR&eki9whwZBdG4uyt=faoX-08)K zsZ*ySKbA@m(bj-?-#A#ITLL?iwmKEdS}lSYpJ+k5x_0df+1c5W_ne6nCyK|3zM|Nh zDpjh4*pCJ=^oJZTt=;UMPn1Nl0Zww4JaFKE;2hX=)+V71Y)jtmRQw+IyQptx&YZES z>$6$2X72WK1d#WG+Ate;NqcmDDj51R!5yDF*}8SBO+2}F?b^b0N~wj}PB|@sD)B zlfS>e+bsY_4t-O(a^F)3UM~lYTo^^AY%dux|+qP|vZDVcQ z#@idGqgK_O5tUPYQ2F|tyX<zCp1L_wA_8B`h0)g<42!spSe*NzKe?9<# z#jH#ocbJ`>ZQg$SZP9SHZrw_imGzfdwC`vR={MV4Tl{2$pr+qU)1iI+k|lkkKl98p z?pq!+13z-BN~H*a3X57LF(emB`}qK9R72oM7SmS;Kv1`QfyUViyykpzer zD2e8H*0{YUn2X`ETvjqaEw~82|ES(Yj?bi6s z0|=VQo-qNifZJ}nO(h>fW^{I`I{(8QHTG(Aap}UeVD9M4O}9?jj?dh8-+fi@j+%eR zb22Fqj>TesPsFiq17JT6%EN)5dtu}`ZUL1M-G2M+;#md%8)42ZSzyj9U9?*`yZ9-y z*S`l!bB|Q{47fj;^X)J92Yi7*cm&xnA>{xVIEi!WCNasm|Y3MD2TnctYV>kp#GiJ{l}mJn%qyH$kT?Qvq3YUd3t^%0^#mI(6(Oo(rE|^^O<_=DDSM+#ItVHrz6i5l)o= zfp9q77C*bZxb-nNH&@j$_RvEQQ3a;#t3wu@23d1<#TrLUEm>%~L-y2kw9TJCUlsiF zs6#K_051drfh>*z)CBl5GbRv^$Fp(Jt6n4kjGF4@MFacbgAXVPr8;w;VP~4@mFpZa zde8}~vr0=#%@<#MA->J5a3;}?){}1p_mV( zGBVA1|3(9Qb>U-Xa^?CuQF-8l<{vqGsm^-v!3V|nqTB$xXkI122gnBJk}Wg-oRS0z z8L1Zz`q--kpj!a)p=yX0`U(`WMF%r*q`n6xhSxc>U< zRl}~Z3I5m5S^~U}L|8%UE)WxddMZJHmn{Kmff@Shy#h#9rL|QPD~wVcc4Y|w5$6rm zv-NUAfB+B)27{eIfSr~Azb2uMKKf`?{r#LdbJF%)NSc~&e_>>cCyU{p_xt_-WC8?J zA%KrR)B>F~Yb^nO1?vA*{kN#W7ssb)M>jtI{PW`TXs{Q_wZDGW5&)G9+hD`(*p~gN z5+DpTPi}~@xZr{dM1w@7W?IG%qLWKimVNTcCrf8}wIQYj+p>>sTRjpzN(8_SaH}Q2 z?=gP-cvTp zv(aTHo=XLK6DLlr`wW`|`wV%kab&|lG*tp5${`wYGVCQwfV!(hH4-J3Rnv{3J{P4F zs^xtFX-`6TYZ*V_wqeK~mOn~HMSR81BpT%@I4*tV%EDNj|RqYj+K7G16*+!Bk zZWecQ{w;ps9Kd?mZbu;gha{Mq0DfjqD-htCx~Icg3>Ywg{CtrFixw?1IXOA1VOP&S z`>c2#26xr9v&@1QWPkwoknOS!``r-0#~*HqpV^53!v@01lIShB+@g|1kv~w?{A>Ds zFTVKVx}{GW04EfnGk7RgBOwVU<^r1IXRPfEb1YU{XK-gl^q)DoFMXWKc_l$=hepuD-i-BFv?_>Rc zssZZ6wi^~DPzNbAz$|Km#KIXi4seu2RdqWbee_Xs;)*UO`_5ZIT zn`PS#h!Uuv1T_I#Ar2_UxBvI`yFnJSXU|rZE?_0A>uJ;#6&23!Vg3IfkO7{^3Q$v7 z0g{!VIM9NU3N{XqCrU%YRBdbN-o5+phHq)M(qQb0i+*FzjYKE^Kc8$?tpEvuaF{FV zI>5iW&k{f-iHbP)+;hooB2ZkQ`pns9pDn+KErDLZ{(mzdEC;}HARJ^lsV(ILY+;<- zF$OnBEC<4Vj;32jqtX7jX5MqY1uW1ALq?lc zTyxDe^0Te{`4MW@#*(da?CMtsz(O1lWkz+zHS?5}L*?Za@?HTws4#BKm@&e0t^5fB ztb&bpV_S{t{eL+Q2=SpE@Q|ad94a@ntX#QLZ{%{#zm+}(`IFoq48b~wY?N&^r1$^j zI3SS^XiIJo*d}a^u~63ZsA`A~I_MzznO6Pz5Ho;Av;W@=2#rbOQMiE*A@24QA@R)1RQ-5>XAP-A9V79M^-y#(ALE|RlQH@V1D3o6W{ z%1^|j^T`(3CL6m@e_SQSS_7TYbyEi8|H1hduqZAr)=Q$?@zu9)U-@iX`S~Nh{f{79 z1lqVrez{JHH3ixOIq<=jfQ`0cUYPLAt5#K5wQ7}}^RH`sSqB^Z2isyZ*U2vzwLvi+ zJKYrl$YCl;)ZPNB@(BD6wMHt=w9+T)erEsN-Z=m{@@--KVaG-?$tbq7^K9F;ZI_>I z+qP}nwry)B|Mxpp_g0;{^?H@<;YrnRy)&Ke?>oA;JEB2Y*UfKefVi6BW!Qi!2lENb z0w;gokK8=}@|V9{7PtN{FMjchaY06#9>qLT3rv@b(|JJlsXJ1$kJ4sn}}&A=U*_P=FeaeG$$z z0~lw@z;Ab^tbUDX3W|{0&AI>Sez5i;Y(j|}6#5+e*KBQI7;NUxitl&O()mSGkb%Xh z55C^(Ea3MDC7}paR_mk``lppb#u=7A|KdjXJBgN{1WCW=C%))E{7%t%NJAOwjIN$4 zPUa2m*i^_k&C=)jq9G_l8s=l$@fkxyoPjd5F~LXZ2kc>5#;KM*eyei_%8-q<@r|J& zo`n@(3XPACUlvFI1Ou1}P6d0y+t0_w#;z>dfg-HHYz&QWEDfgb-8Z<6a2&a z0plcf|3B#+?<1Ol3askVC-%lShEix9s?a2@JzCP6nIHla|2eE7Jw>$Q@AQhl^oh3= z@>8KKRH20lUhYg_TO|x(Ah@RY4WbdKLe5Wp;w^pR-z?`B$cj*d4kmcNO@@qM;`1@I z(G3^8;@|8Re7Fb6A;^(Np%+(=AtWXd5cdw$I|znKz$);GO+-hbeue?(L47s*nP1D^?Q zAmxy6jBPq}s2Hd%4!`h`ADWPZlwa)H*G+E>lc6-^Toh=#p5Qx&b3|&RP9p#JUCrO- znzxSnF(KrRQUlpaR>H>8e?0oofH2@xuzG9Ybz-6FT&Ij5`Qor4NRbW0=c7% z4Ro(ye~6jj;IXat_PkE6rCd`-E);(_?mWsSNCzh95T382ByCva1vE zKT)n>(D0^B{Lv=xjd2$0-ULhy?!pQE@xkZ|tlp=G`zhD#o=W_6$f}0d#2?ids}X4i zD$tRpi3aKloY;@5l4yTq17n~|9y0bP*xGPq*XVYk3K>7@RMQ?4f0PN-V%a8?pe=Ax zd-Mg*U{v~dKPt6su&3+@Zd=3Oxi-&n^?ut?f=yU~xlgml1m^-~iE;E7OJ2V5!um*W(xRR&~ z=O^O47!&-%?lRjw{5h6$E{(3-;Ka4KpsV*g(11Lw!7|Li_?c~QFcXZyG%Tv-xa|7^ z=&^<3wq%1ZNH*|KqKnT6R_@3-c8%_r{7sidXJiCpN0&QtPANIx%sIZMiuytYa;oH+g^BnkJ=PaY!vdsW6N=D) zp34S(BGhe&R3DV53Ul!+Bb-6RSHk}fLFL0Vxwn^d>!N-S8c>8yNWlV3TfM(KC6OPM z>TFPkHgvraWHE*&?Nb=xzo%>jD|LK>`(Mu8rxE_WmGFf&ly%hiBTg%Mc6U^&vw`mo z3Q$wMK@X0L5r|?Rk*S615!{M0SeY~MHNKo9*}Ue2e>^C6YEbaCzK;5PJL0r#FbhkN zh71&;4qe|LxYFph)Uj`o&zka6Bi$z)g|&px_-d;2d(O>U-8{dqgx`ZY6d?m?Sc2KT zjrwMSa9rvqMG07gER>)T8i9*^EiU%6x#-`*2s^4g(k0U15Q=^qJPjTya|NH6mGEa^ z0!9zcgvZJvZ3LYWe2-9pHuSU+1Q7^j!GnmBZ$~)aML>TKvqNYI#UOs6L$u(1Gy8Wr zc6krHmxu74t|3irAbh`fr=n{7wNns2*z2GgApvRFgglg?4xP{p0-tSgNm=qoL{B4v zzRwxrFCaqm8A6B_>M%qY%Y6*3kMP1@zYi^XRpyi-51WvNgbDxf z8(|veU!^N504J5c{{~d&@D%v2aYcl4Fx?AzJXzQzcH_M|)M~q+ki=VEXV2-;Cg!Wj{XE zSz#kELrs-Qx@QpjjxB_DF)5qmvuqLLLy5l6K%B3WXpA{N&Cg$Rnd8U&{4;)*Jxjk8 zAq(!;zjA-~V;9N4>i+M0`C6})uL%#6?;+(3-}B;1>_Sh8zOTxgS|Iuj9qs)%(>J$A zL-=Nd^G0NaMMy$gWrhNjpbAaD+U!gb(hoQeTX24+Ef?csf3ARdug1vnItclCa0AEn z^qPkhhc}dc)wqhWnaZ{`)`+8Y;qT!EeGEq#yyI=*NO+4<>rc3V|75 z3T9y*mXsk@VFNOdg8~$x3>BzC4eHQ@7IXr70iA%BdTMeFs!)M46rlh)$iN1yD#0(o zJj}wB7X9f)dwZD~Mpe(?4dFAyG9)1dX;^~|*n|vZAqRP75>F|hs3<@la*%}#Y{CYt zK^jt!gk>M$mEe6%KRT4??PX?&Foe$#lQ0c4FbDIn086k82}r^Uq#S9*sw1sPIaVME z30Q_DSb%w$gBh5HNgv@O1V6m!?PX>N4H03AahMQP#+X(nnRU!XFe@l=3sXwu!gz$( z1HtdE=+3SBK!$&vL S`%7B@0000x+cDSC+O}=mwr$(qnch>$`IFk4c^))QCEvra`}V22RdsuM zW*M!?WHOmdCX>lzGMP*!ljT4j6i9KH6iA-06>F1810|y9YKGSQsqR+uOSeZd<*xvvVE8{pNGG11CN8(!KdH{@CW!Clt39oq|Dp?=3{=~ zb6)3b+-9$7ug&*Z%ih!8dw^{(j&L@TN%Ry?V6)9O+jvCm`60$lz+n*MmEdLY6$KpC zi4ypV?|r3h3)mQrF`sQ?xZTc)E{9gml{U5w< zP{QZ&xxmjH75Sdqc$#gqZF{AC(##-pkr6n9XeNRcnQq(%zNsWO3j7~0OcK?YvO!1j z+Yp6t+wZe|;XX~Qxc`|lS&r#I&KIi?%JSey@D%uS0KvN`93$uy131K=;3@9o^0v10k`Ti|5Y0msL|+Qij)YP6`w%(<_xT_j13xC|Pmh%5o7%*7jgSObIdWvw4|j*DsJ5Zl?fja?X@5;4kDi*<#1Nu*zN5X+*B;b z(+cjOm`b3}!)v$3@?)@%?D^TO}q zO6^}DBL7Il)qyiYME(M&*_emNq5-C;kAty2_`nOlrV(GMQA9of+t+(GP_9oyo;Aq8v<%M)B>uU;v#Duss$KdVoM7HT zoIs0P?C&oL@xQNpKNXZ++WJ99N5?W+G#jAJi9uQue9Zy-TLMZAe={BW8Ub$IpiQca zO>uE+0}Rry5`XHQ;8!@oChoHvxvWS290p`#UJxn+ogQ_F@cR#>LtA(aWVPVUVKCO0 z__OH*2z;CR`Y&_hw`*d8UnKs_I>E233Frjbiu_Ap5WbZ7v+V?MfUnxy+m~}rkc~b+ zcK%%zyef?81n=`Qj;UTJDDYxbGqAJINc_TU07dchpf#;0(B<7lsjdss9wGigP&6mF z$%#Loo^~gHBlS7jEt6}7SA^F!wRGqtubDIzy*mfzi9|w#nlLA5Yirvl9Yrz4kEv~G z?A(uooYg7BzbuM>YHe*@Dd|p7aF-^0PI>=OQG1m2z)Mr7PHjr+MYwV^;b(Xy{*fRj zxPUq$Nicrl1jWCF@_sP_N=${!33f6qQB#Sq0>$40K34P}C7K03Yj1C#BPsPj&V9Mu zrBxEY(E7kNt`5j0q2;+{(BqAS7y)IM3hf;4S%9ezdbsV_=(iO8tBg{ichOPojk6OJ zco~!9tK9Dw;$NEuPz#*tz5ys!R^+J;%kpE5)$IBRQQ`@6zk$^`3yg_X&!5r%rdp;x zLa7jDfxBh~ToRAe$3EUx!@^gHGG~FPwY7D}xTHdPralv}agQtdi#ip=&$hI*OmSBg zX_$>+&wm$1|9YafC}x2JDgLnyjsDn>$=Imp)%g*1;$PMRuTGmbZH7BpPSIavs}}f= zn`?@)BnhHxdw=JlZQHi(?y+s#wr$(CZQHhIVk6F(`pUxY&QsRM{p)xgQRimmjhj)4 zGN>_ekho};w?E4UEuG(|E^42M0{gv-~Ss-VmVLFPeDNeeE9G|7W?<_ z2PY>dCU$3BcetHCh70V#T$vrr*_montUot5m#0BF>IF7XBP{UJl-fT8lX%0^sjt1g zJ)A#(UX}pw-@k{vygVkhvRgcyO&tN()5lpfD8~x7cqad%q9UqIw)S)9&e1dC>2#PD zz+03;38r*}z9!%T7|x^f)3IYmc=zs|ED@G1TgGT%Z6yuNjA#j$GbUIxrbjfVT$$cy z#flZOHPbU`-@ZMMGeTsEP7!!%677%V*Wf?D!s7z)_xFb@SFXsC;lYCkke!{)#0J>7 z!@ksEa4vJAMPg6NQ1G*MW%AC?&xc2k9?8~x`SN9If_b$>Z=fS&Zwg1~8(L+!>T2?A zeU2M9PEiX_o;;a}(^b+!*Pv=}DsvK?&YWyfpqx4dRA%1(gz3|#E7m)F_;B7W(H6u_ zV>ZKI2`da&-722P9#T?L;Q90CvV?f@X&NA2&Vvt#mg zb#i-~p7JHT|b8V_X8un0_v?JD~ACrwZOzEYhT85!JvFYu`u?j^jajU|6* z>T{D?=6+6|JgG>Inl)>R#%8$2!tR_|X2-6anULZVC7NTsdi50R+qZ9@YUYE`4&99$ z{Y~Jj!Q~HKamca!VbHvJb9nRSjVwWS?AQTTR#r@`UZaCvXgO}rnQc~d3vWWXF!|Zq z+QObadt_^S_39NgXwX0{UyRWLc!np#(Z-NL^kd)PHq%t-zSS`J=IiULC=tj$EG;b+ zjSsT(h2@>Qpt59M>(;GPtgCb9&TK6IGH8P#+#p8& z(Cu7w)0^5BKtx0Y9el|Vg=CWCA(018Uye&20&DUXm=vQD2Y{=UvuI8<@%i@cTiKd! z-n>Z@plbY1;O3uy{^@2g86?Ob++K3kc+aO^uUE803B!gBll+Z*?`&9^zsRIWb5D^R z`5rZDlu|u(7)ayMYP>lD@cy9c#92ek1__rCk^Jec*6U7^l9J%Xix-N6V!^?|;)_V5 zhXINGVM)Palb~l@5723Jk~`Y<>(}LKp+i9WJF$2**rC)1j3Ukow?}-g_fPl%7r=TI zfA;vVMul6oY9$$;;Fbt8a^}Fof~7{qRP_BLoTbT2x?ZV{4I4J7`EyA+57>#E{lyTY z5#JE-2mfL38lWr5w)X$O_hQbpZQFL*c3#-FZChiv9gN+!ZQEwLhv$8}*U8GtBvt!V z_3edQ=dSe)yY>n8S7&?YHL?HQ0=;_mV(n%$jF@&zji^0N#D@OxM$x~aVAL`(FxxV==@D z;|?cJp3IsLUw{2Iy=hbLxkV*rmumgR(*OSaMi5b{o8b+FWSvszbLh~aZa+p*wn|Qw z%I{&%50HJ9(*9rIgs~@-7<>BkDXTN zSFgH3;!C+nCXRGBv4`b#2oL}QY;^(wP!UOW@oe?vqD6~LeSrq0TZ<1vzZai}t#JuH zfb$ztvYFv|6wX||dNo_!I(znPKJ@86j_^L((P*Cl(t)6v?7Rc)ULny34<4}HQ?+Z? zHg-m{=N7{oy)QlqU*{4GM$#*L)*OcC)vH&J4Sn9eecLdM>#mM)KtMo&L_gN91MCSw zl_Bt{lSZDeS+nM~%LvL8tSaWfaeY60{cB+cl3vA39ACn`dGpw>Hzp>=QKQu12tR`( z+>msbVA%nNqeu3W7X&$O-BEOOG=&RaYl1>{B*&s^jS_PsHi&sPLC?0YJ^;?OakC0W zxX_Knc6?#niQ^{6fdJh}hiP~->9idJc*CI>=(Mqi#flXZJ9g|aRjP!91ktZwKT|nH z@|6}-;lR$0+++)r5ckiUv!Ll2BSws1$+}^~29YnHY?yHZl2?X$+adtq1^9pfbDg;H z1>r*0tk}45BO6n1TBWC$3T2)ax!Dq?;O$?hT$rhBy#3jle?nwrq^TS?E{T{gD?`2P z5WoZQgGar}iIbnHnf%_pd+ZRcrcIlg5930$Xdfi7CPi(vgzil~5qWYJFqMsASFG~G zRO8?N?i&gEfppkH|4Pnu7(c6ISir6M96mQ6W zeHh@yhCazz$DeiF4Il}yUA9PiSnU%|EF}$susv=~0A`r(&6_t(mF&))JEBF47UokZ z5EhMS_?{RQy+a9YL#B`uZ7MS~G*mo#^vLvUyLj=UC|$a=BbVyQ=9r_<;q-|aVXFl2 z^7Zx2jL!)tZ+-mcn{QY%W7e!$e60~GI0qo6Kdi$}Q}he_MHJ3ok(IY_;X;*~e^!p0 z-vH;lyu9*~E?XhM|4YVr1qKG@gP_Y!CIANIvStvyiRBP2Q#3`j=-`ffjL~7Ys9$3U zD+i-m*pdzWf4jr3+^I?ax}Tq4Nl5_0|63t|H?@|50Joh?0638BU|Ez=D-D({h-%SJ z?Y|ZMI_^ysQJC_OH%|%H_Q#FG4){fB1Qp0RodEZc4X#AGEb;%ALZApEm4Tp#PG5XI zaNt1J+}N{ck3ykYR#5|C(O#YQiQb*|CjeNwBw&$V zh#dlW1HLGPqdK4$jwb*xefo6r1=x(M>=iIYxw2s*8V+yg&Iey15{a^6Me8Y2f z+G44Q?sDW6YKPEDBR*Ci6&1w}yE=LDWYRoSeFOXfKejRHGJIKIRRa9$9|ZVK6F_~= zKK_i7tO5nAh|s7lqAe;u^X0Fg@(i2!B21k+HR%~mfZzW?fPbkr!gvFIc(^JAC1?U9 z^$K952y231Asv4UV5~{e5{*SsWPEWWuzw!Iu2>Tcr5nk+)ieQKzyxX}%OQNM5Wt5X zf)7whJHg2Z&Z;EFX3m`H^0U#Y#-6)i!Ge@?{-O$RPJP+^)1gLGD0MZ1a*($J|ZfXJ~@4r2N{ybZR2BNq$ z55bu~n>TMx`K%_uT_nP)S~r0t0jQ@E1h|--02-r4jUuIEhiECABaGQ~`t)gbcyG!@ z9-06M;#@;LTNyh9@S=yjy}fgQ0LL`}Qm$G(cI+5eALNoolpZ~Lu#Pw0{(Q~9GmGKQ zdU|>mk_7O!LI4l>P&#zh>`qAljn6;-oV^8BtXM${`D~woS{|C?X>(?&CIBiKjzEXA zNL}`{N&sIVty3FfRBCeIc(T4gg$fmHpMlXUtnGj0$`zGiS59t-NeB2!o&J}Vk?8(J z0Nem8QW8KTckbLGHa3=hJI|j#-&RK!N-9|SL=NmN(4kM`p5X6EhXH?nRC-DR1ORDJ zPccUmz_2udt;?s%%_>!@*y={Zuq!t4RkLPI0~wkC$YU)e9R>od65!u>IFLrmA(S-4 zcr1zr){L^Zz_@YaEX&1$YgTT2e0=K9Yy2(e0!<|y#@~ZTr!5gcUK?-W8VNTZjHQ8H zylivInKNfZo;-P!Wfmz?L}|;5EWg%BeMI`-D1+!jIt&EZA%Gtcj86^Y-M|`fa%rPH zo25k^zp_k3b=Yk4x^?Sx=+it2_5^vX=A^@bzf}SxmO})|WY`5w0Arx`hc#EItrAHs zRu&b~?ccwjm4}Ts=CX7I=$h;Y4oWJ6kOZ)h3=0G@;j@v1LvYIBSQ<2Xgms4LjUEyb z!pcG`BWqHfJ9kdM{h6Uy$N}ty?q&x94U%9i0X!vpGJpW{jiG2tw=wN6^ICZpc-I~IZY|;v|{7v8f z=qfXnL4|lFOO`Z}p&j6)2+#~U6f1~Lf-$*(wD>gBoniba#VuR5uy5~)6DJzVSh8dZ z`~0$H%lNNHJHWpqcoQv?V1aB7fXN2G4QHY_1fMr2fJS(DI9s}a?K7!5!zgE9`+e`< zzc1?4sl$IQ+5x`m)r^FueW$&}I-1m^oY#TQX(F@@-c6k!({tU)%qGA_Lr8 zMu6VtBS3s4C=f_TNd@f(sNtiJK4KO6mtTH))hj?%r8{@-R5zP6xRK~&|5qWMMNcA8jTw_7B_C(VD}18*fT6FOgwz}kQ;WTL!as;(Cf(lmpbdqJHWgn z>@CAdnJFKjRv4#4qCfob11T@NyBBeP)%^oJbOBsq{6Dk20law!n0JIdr8k|?-`~F` zu9-Xf7T`f^NnyG$%FP4GHT8Z19sYcP+O=k+tI~J%ELbBmIH3DeNo;}-^^1pcTLUiodQT;3({n;qZpY(hMsQqwg1|U09&3%b= zngnX2O}M=RMk|-FtXu6IJp@-E`88J7|7YaFpZ3F{(hTzO@F)e=ol+x!o+Y|w%^J%D zu$1`H(VvUZ$qI?)kNxl`Zw3X(Lvn$2AJE}E0W>OCu1uRGm6e|w;!Bh$!OPb8OUC|} zkxok846ttgSTlpt1KDWz5(w}}-vT`H=g-fLI7~K8?)~@Q*Tb&Vo!=)2%(RiwpA4+| zSVCXqCZSh zEF+K;T{n?X{y+6Cpf>6-E-sEH#hD@|CPw%B{;$1r0CJ?;;`qakGgdN)?PTZKwr$%k zKijr#+qP}n)+FEiovPbar*2i(%TBhF!AaHc!|tHd{r?}`+v&k~e)fp|cNQ%|V)(_c z!576=UU~08fyCBvd%44_Fp3B4*!Bem?1g&D9X2AONA#D6 zUc5`R25Eoa|ELV0n_-;=a@;t7MGo@UW`c;YJwLzWhWBfW)^zkAuK68)BpQP?$U+H+ zK9N%BY~3(p7=3|7FS+66IifMh!5YNEMxUeZ1r}i&a?s*nzhGM=jI*`n!7X}y9c`V4 z9PGg2IBI|20D2;{8e{<);#*P*{pT!|LWXU4`wv?l?jqWPEUd!Z5Ve0~>jH7eK?TRY z2s69Vpj{f00MVBA}MW`~m zda5{?H`F`BsgPl%&+|n?P=o|5MX=*DvW7SXMQCDzkI)Yc{9#&#l|F8(a|?=)j&7c&To}Ruej{XS-7{mmIeZt$%r>3T^EZTuQY{Eh$jc)`Eu`Y$SpafO9ZvYeg z!}@{$gVp{2q<6fJXa-8KrAwa(8sErEp&ckgowW97NpEI?5KR2%u!i&$(F&AdC&JPv z`cgBD!>yU&h)amxGDGxQq1h#YZ1b(O$ z*ZvpoQ{C$N7RTu8{_*t#3$OvH$;nB1(+&1`Ur$binc!rJpUD3!K3?-Cq5-tf5KX`a zEWorLc^(G?==Fg`*o1Uo0#3w@!~|9jotU!c*Ie_PDeEDjk6 zGQka`98!(3O^1#TeYM5m7eVBQI%FWO7Q4pR^p0UNlz@zj0!`Nwe8)zl$8*$4*QL>HFacs@%!V>lWc;7XM#4-<1w;}lnK!hX^ySgm1`xt zIuZX9<(l17iN6YI)$p45!y02X zB27UFTGBMpKwW_o`%$kX8hG-mN(G%RZhQD)dp5yBMrlSB!*o4IaN1bK@wPL&uyO4)QU;=8( zTayjG7GwkX??|(O(U)@$=eXUR-(U^rc5-c;@Eed<53g7}gGDYgf!aGX4{NXuS*W>^ zs14^Q;=C9W{A2WYnb{+XRD>pcCEiUNl{T9?93)`>;^Dup|?G0vvDTu*}YL1J} z1VV=`6t^WCd_l5-`Xo9tLPX_`oMYGMen~#3U#@|w_lv68U4a-(9bEio0zDyGf=yKt z)m1jwlY2?2Lx1Hho(*pVqo)_OWEUsGf4XE~74_??=}PeZhh%i84^q z*?{T8)#biYjPN&I79Ge4Mo*VJa!x5Z-^@9_ri%JP2{NkWS%4Xv^hDPe#9$fXkc2$c zpyRSZmk4zmBGm`wQ-!&B2gnE(@s;rZLs0oJP44aG+`6dWfg0o?32|74nAQ6uD2ddl zRA+-CG@%_BK^9|Z(msU|{yVr4tkiK0?teLVpGNriR>BvWP}EUhjW|bE^4O?UWdqe4 zL6{%Nn=sX$KE`YP(%h;y9TU;$Pk z0V&8s71}|6;7X(0QpdhUo;4LrjdY)IBGwW-RSbb@TkL5`G7&kcSi`U=Br{Hp(ole!Zv-y#wYb>N=AwTKBlJ{xq)Vj!F%V;`bRR#gBHDHK6$V5p5SgPpwmC&}EX)J9HUB3*Kw+ebLK%<2^n?#>GnXZ8;Y~jjtm9juQSn z%)q2gc#ce2q>P|4g6a`U(1eaQf*=B+EO-!6^6d!cy9ns-es=H;q3Dk+vWE!XHM4)0 zW0&{9dwB@&=^C!7)xz&U6H2Pa-yT5tV6UTUgmp+j60%T)Dztnv2t3>1lCtEFh@M6S zeV;SLUqFNwWC$Tds6!HBEcY1NAi@iOkzWT>n8l; zZ-f{u!Yag7c@$)YnktceL!1^v$g|HRs>&^!vPeWT{cQyJJGpaB#HhDSfc%c%A@*;}@0MebW8s)?CC4V)LbTwaqe`5riuOU76Ngn;gqR8cxEsMW%W8b8 zv%;=thKeeabk87k9eW7xVp2BAvuqLLLy5l6K%B3WXpA{N&A-3qGRKek_s{sZ>{%g=hP{7iV5{0=E+_?;J5Vi!6}^j%fnR6Nn|>S(XVnXb7# z3BorcoHryZtiT2&RA$IQ0m@JhR-2tEe7YW|VGqvFwB=$v_U8(S_iBtBuY-`U2RCqB zPyS5)PQFIIR=x-JRNb!WXyjPbDs5doRWYX`eF8RMB_!IP*Mxuarbap|O!;Pjb%?_@ zB()(_hNwXU+JcA{A@3Qj>|P=*o|ArCpoKniwYO9_4z zmS6$qwCF9`+v`ltFsXWmzz{)(Sc46SLjty87m|>IG-Mzfm_$+V$SZP?g$$%21xeV2 zZAd^IHefA?@JjGOO+RU(x7Sc+2r)#EA!Z>4^RNg@uneoP2J5f^n-F&-6kCpjBJS9P z4OoXYScPR+f<>5z7|aF{K1A>)dV39T2Hy}NrkI8qL1m1XGRcBtF@yy{iCdUcA{VAZ z#O?`xq@uT%nZh%MGlybQF%`n3LVxcmU+5-wdmUCogqg$VydL3S8~*d{HRS7m9lfK3 TX`(0{00000NkvXXu0mjfpp Date: Fri, 3 Oct 2025 07:25:03 +0000 Subject: [PATCH 04/20] chore: Release v5.42.0-dev.12 [skip ci] # [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) ### Bug Fixes * **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](https://github.com/ReVanced/revanced-patches/commit/9441e7acb4817e12d1443d438ef6c448518bd614)) ### Features * **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](https://github.com/ReVanced/revanced-patches/commit/963a4ef43fd513de7a2d7d019992f06b62fdcc10)) --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 697e5e87c8..e92508d4b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) + + +### Bug Fixes + +* **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](https://github.com/ReVanced/revanced-patches/commit/9441e7acb4817e12d1443d438ef6c448518bd614)) + + +### Features + +* **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](https://github.com/ReVanced/revanced-patches/commit/963a4ef43fd513de7a2d7d019992f06b62fdcc10)) + # [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) diff --git a/gradle.properties b/gradle.properties index 657e57e010..5586b7d240 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.11 +version = 5.42.0-dev.12 From a30a849e6ecd1c2456da79ff5fe06fab5a789de8 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 01:15:03 +0400 Subject: [PATCH 05/20] refactor: Extract shared patch names/descriptions (#6056) --- .../finanzonline/detection/root/RootDetectionPatch.kt | 6 ++++-- .../idaustria/detection/root/RootDetectionPatch.kt | 6 ++++-- .../misc/privacy/SanitizeSharingLinksPatch.kt | 6 ++++-- .../orfon/detection/root/RemoveRootDetectionPatch.kt | 6 ++++-- .../reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt | 6 ++++-- .../detection/root/RootDetectionPatch.kt | 6 ++++-- .../app/revanced/patches/shared/SharedPatchNames.kt | 11 +++++++++++ .../shared/misc/privacy/SanitizeSharingLinksPatch.kt | 9 +++++++-- .../spotify/misc/privacy/SanitizeSharingLinksPatch.kt | 6 ++++-- .../twitter/misc/links/SanitizeSharingLinksPatch.kt | 6 ++++-- 10 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt diff --git a/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt index e2b7b06167..c5ce1efe11 100644 --- a/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.finanzonline.detection.root import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION, ) { compatibleWith("at.gv.bmf.bmf2go") diff --git a/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt index 6c79650d98..07874bac7c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt @@ -1,12 +1,14 @@ package app.revanced.patches.idaustria.detection.root import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION import app.revanced.util.returnEarly @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions and unlocked bootloader.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("at.gv.oe.app") diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt index c7b4d0f409..54d7e9c031 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -4,6 +4,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.util.indexOfFirstInstructionOrThrow import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction @@ -13,8 +15,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.instagram.android") diff --git a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt index 5940833372..8669f6132b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt @@ -1,12 +1,14 @@ package app.revanced.patches.orfon.detection.root import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION import app.revanced.util.returnEarly @Suppress("unused") val removeRootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("com.nousguide.android.orftvthek") diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt index cfdb320e19..11bc79212b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.reddit.misc.tracking.url import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS @Suppress("unused") val sanitizeUrlQueryPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.reddit.frontpage") diff --git a/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt index 43ebaa19f1..0c9fd90400 100644 --- a/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.serviceportalbund.detection.root import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions and unlocked bootloader.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("at.gv.bka.serviceportal") diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt new file mode 100644 index 0000000000..34b91a59c4 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt @@ -0,0 +1,11 @@ +package app.revanced.patches.shared + +// +// Names and descriptions used by different patches implementing the same feature. +// + +internal const val PATCH_NAME_REMOVE_ROOT_DETECTION = "Remove root detection" +internal const val PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION = "Removes the check for root permissions and unlocked bootloader." + +internal const val PATCH_NAME_SANITIZE_SHARING_LINKS = "Sanitize sharing links" +internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the tracking query parameters from shared links." diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt index 7a52c3d81d..2fe4d7e818 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt @@ -10,6 +10,8 @@ import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting @@ -20,14 +22,17 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/patches/SanitizeSharingLinksPatch;" +/** + * Patch shared by YouTube and YT Music. + */ internal fun sanitizeSharingLinksPatch( block: BytecodePatchBuilder.() -> Unit = {}, executeBlock: BytecodePatchContext.() -> Unit = {}, preferenceScreen: BasePreferenceScreen.Screen, replaceMusicLinksWithYouTube: Boolean = false ) = bytecodePatch( - name = "Sanitize sharing links", - description = "Adds an option to remove the tracking query parameter from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { block() diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt index 0954d4ed55..4e4ad474cf 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt @@ -3,6 +3,8 @@ package app.revanced.patches.spotify.misc.privacy import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow @@ -15,8 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.spotify.music") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt index 24b4e127bc..7856bfe966 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.twitter.misc.links import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from links before they are shared.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith( "com.twitter.android"( From ec0acc0f1339a106b08034df1117977b3d0dfc06 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:11:18 +0400 Subject: [PATCH 06/20] chore: Sync translations (#6069) --- .../addresources/values-ar-rSA/strings.xml | 306 +++++++++--------- .../addresources/values-az-rAZ/strings.xml | 24 +- .../addresources/values-fr-rFR/strings.xml | 2 +- .../addresources/values-ga-rIE/strings.xml | 158 ++++----- .../addresources/values-in-rID/strings.xml | 32 +- .../addresources/values-ja-rJP/strings.xml | 10 +- .../addresources/values-sr-rCS/strings.xml | 2 +- .../addresources/values-sr-rSP/strings.xml | 2 +- .../addresources/values-vi-rVN/strings.xml | 22 +- 9 files changed, 279 insertions(+), 279 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index a3488d272e..763ba32349 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -765,23 +765,23 @@ Second \"item\" text" يتم عرض قائمة المزيد من المعلومات إخفاء شاشة القفل - تم إخفاء قائمة قفل الشاشة - يتم عرض قائمة قفل الشاشة + تم إخفاء قائمة شاشة القفل + يتم عرض قائمة شاشة القفل إخفاء المقطع الصوتي تم إخفاء قائمة المقطع الصوتي يتم عرض قائمة المقطع الصوتي - "قائمة المسارات الصوتية مخفية + "تم إخفاء قائمة المقطع الصوتي -لعرض قائمة المسارات الصوتية، غيّر 'تزييف تدفقات الفيديو' إلى iPadOS" +لعرض قائمة المقطع الصوتي، غيّر 'Spoof video streams' إلى iPadOS" إخفاء المشاهدة في VR تم إخفاء قائمة المشاهدة في الوضع الافتراضي يتم عرض قائمة المشاهدة في الوضع الافتراضي إخفاء قائمة جودة الفيديو - قائمة جودة الفيديو مخفية - قائمة جودة الفيديو معروضة + تم إخفاء قائمة جودة الفيديو + يتم عرض قائمة جودة الفيديو إخفاء تذييل قائمة جودة الفيديو تم إخفاء تذييل قائمة جودة الفيديو يتم عرض تذييل قائمة جودة الفيديو @@ -791,18 +791,18 @@ Second \"item\" text" تم إخفاء زر التشغيل التلقائي يتم عرض زر التشغيل التلقائي - إخفاء زر التَرْجَمَة - تم إخفاء زر التَرْجَمَة - يتم عرض زر التَرْجَمَة + إخفاء زر الترجمة + تم إخفاء زر الترجمة + يتم عرض زر الترجمة إخفاء زر البث تم إخفاء زر البث يتم عرض زر البث إخفاء خلفية عناصر التحكم بالمشغل - خلفية عناصر تحكم المشغل مخفية - يتم عرض خلفية عناصر التحكم بالمشغل - إخفاء زري \"السابق\" و \"التالي\" - تم إخفاء الأزرار - يتم عرض الأزرار + تم إخفاء خلفية عناصر تحكم المشغل + يتم عرض خلفية عناصر تحكم المشغل + إخفاء أزرار السابق & التالي + تم إخفاء أزرار السابق & التالي + يتم عرض أزرار السابق & التالي إخفاء بطاقات شاشة النهاية @@ -829,37 +829,37 @@ Second \"item\" text" تم إخفاء شريط تقدم الفيديو يتم عرض شريط تقدم الفيديو - إخفاء شريط تقدم صور مصغرة للفيديو - شريط تقدم صور مصغرة للفيديو مخفي - شريط تقدم صور مصغرة للفيديو معروض + إخفاء شريط تقدم مصغرات الفيديو + تم إخفاء شريط تقدم مصغرات الفيديو + يتم عرض شريط تقدم مصغرات الفيديو مشغل Shorts - إخفاء أو إظهار مكونات مشغل Shorts + إخفاء أو عرض مكونات مشغل Shorts إخفاء Shorts في الصفحة الرئيسية - مخفية في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة - معروضة في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة + مخفي في موجز الصفحة الرئيسية والفيديوهات ذات الصلة + يُعرض في موجز الصفحة الرئيسية والفيديوهات ذات الصلة إخفاء Shorts في نتائج البحث - مخفية في نتائج البحث - تُعرض في نتائج البحث + مخفي في نتائج البحث + يُعرض في نتائج البحث - إخفاء Shorts في خلاصة الاشتراكات - مخفية في خلاصة الاشتراكات - معروضة في خلاصة الاشتراكات - إخفاء Shorts في سجل المشاهدة - مخفية في سجل المشاهدة - تُعرض في سجل المشاهدة - إخفاء زر Super Thanks - زر شراء Super Thanks مخفي - زر شراء Super Thanks معروض + إخفاء Shorts في موجز الاشتراكات + مخفي في موجز الاشتراكات + يُعرض في موجز الاشتراكات + إخفاء Shorts في السجلّ + مخفي في السجلّ + يُعرض في السجلّ + إخفاء زر شراء Super Thanks + تم إخفاء زر شراء Super Thanks + يتم عرض زر شراء Super Thanks إخفاء زر التأثير - زر التأثير مخفي - زر التأثير معروض + تم إخفاء زر التأثير + يتم عرض زر التأثير إخفاء زر الشاشة الخضراء تم إخفاء زر الشاشة الخضراء يتم عرض زر الشاشة الخضراء - إخفاء زر الهاشتاج + إخفاء زر هاشتاج تم إخفاء زر الهاشتاج يتم عرض زر الهاشتاج @@ -869,9 +869,9 @@ Second \"item\" text" إخفاء تسمية الموقع تم إخفاء تسمية الموقع يتم عرض تسمية الموقع - إخفاء زر \"مشاركات جديدة\" - تم إخفاء زر \"مشاركات جديدة\" - يتم عرض زر \"مشاركات جديدة\" + إخفاء زر المنشورات الجديدة + تم إخفاء زر المنشورات الجديدة + يتم عرض زر المنشورات الجديدة إخفاء أزرار واجهة التوقف تم إخفاء أزرار واجهة التوقف يتم عرض أزرار واجهة التوقف @@ -900,11 +900,11 @@ Second \"item\" text" تم إخفاء زر القادم يتم عرض زر القادم إخفاء زر استخدام هذا الصوت - زر استخدام هذا الصوت مخفي - زر استخدام هذا الصوت معروض - إخفاء زر استخدام هذا القالب - زر استخدام هذا القالب مخفي - زر استخدام هذا القالب ظاهر + تم إخفاء زر استخدام هذا الصوت + يتم عرض زر استخدام هذا الصوت + إخفاء زر استخدام النموذج + تم إخفاء زر استخدم هذا النموذج + يتم عرض زر استخدم هذا النموذج إخفاء التأثير الفوّار لـزر أعجبني تم إخفاء التأثير الفوّار لـزر أعجبني يتم عرض التأثير الفوّار لـزر أعجبني @@ -935,11 +935,11 @@ Second \"item\" text" تم إخفاء شريط القناة يتم عرض شريط القناة إخفاء عنوان الفيديو - عنوان الفيديو مخفي - عنوان الفيديو معروض + تم إخفاء عنوان الفيديو + يتم عرض عنوان الفيديو إخفاء تسمية بيانات التعريف الصوتية - تسمية بيانات تعريف الصوت مخفية - تسمية بيانات تعريف الصوت معروضة + تم إخفاء تسمية بيانات التعريف الصوتية + يتم عرض تسمية بيانات التعريف الصوتية إخفاء تسمية رابط الفيديو تم إخفاء تسمية رابط الفيديو يتم عرض تسمية رابط الفيديو @@ -956,9 +956,9 @@ Second \"item\" text" يتم عرض الفيديو المقترح في شاشة النهاية - إخفاء تراكب مقاطع الفيديو ذات الصلة - تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة مخفي - تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة معروض + إخفاء واجهة الفيديوهات ذات الصلة + تم إخفاء واجهة الفيديوهات ذات الصلة في ملء الشاشة + يتم عرض واجهة الفيديوهات ذات الصلة في ملء الشاشة إخفاء الطابع الزمني للفيديو @@ -991,7 +991,7 @@ Second \"item\" text" لم يعجبني غير متاح مؤقتًا (انتهت مهلة API) لم يعجبني غير متاح (الحالة %d) - مرات عدم الإعجاب غير متوفرة (حد واجهة برمجة تطبيقات العميل) + عدد مرات لم يعجبني غير متوفر (حد API للعميل) لم يعجبني غير متاح (%s) أعد تحميل الفيديو للتصويت بـ Return YouTube Dislike @@ -1000,31 +1000,31 @@ Second \"item\" text" يتم عرض لم يعجبني لا يتم عرض لم يعجبني عرض لم يعجني في فيديوهات Shorts - "يتم عرض مرات عدم الإعجاب في فيديوهات Shorts + "يتم عرض عدد مرات لم يعجبني في فيديوهات Shorts -التقييد: قد لا تظهر مرات عدم الإعجاب في وضع التصفح المتخفي" - لا يتم عرض مرات عدم الإعجاب في فيديوهات Shorts +التقييد: قد لا تظهر مرات لم يعجبني في وضع التصفح المتخفي" + لا يتم عرض مرات لم يعجبني على فيديوهات Shorts لم يعجبني كــ نسبة مئوية - يتم عرض مرات عدم الإعجاب كنسبة مئوية - يتم عرض مرات عدم الإعجاب كرقم + يعرض عدد لم يعجبني كـ نسبة مئوية + يتم عرض عدد لم يعجبني كـ رَقَم مقاس زر أعجبني زر أعجبني مصمم لأدنى عرض زر أعجبني مصمم لأفضل مظهر عرض الإعجابات المقدرة - يتم عرض عدد تقديري للإعجابات في مقاطع الفيديو التي تم تعطيل الإعجابات فيها + يتم عرض عدد تقديري للإعجابات في الفيديوهات التي تم تعطيل الإعجابات فيها لا يتم عرض عدد الإعجابات المقدرة عرض ملاحظة إذا كان API غير متاح يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike يتم توفير البيانات بواسطة the Return YouTube Dislike API. اضغط هنا لمعرفة المزيد - ReturnYouTubeDislike API إحصائيات هذا الجهاز + إحصائيات واجهة برمجيات ReturnYouTubeDislike لهذا الجهاز وقت استجابة API، متوسط وقت استجابة API، الحد الأدنى وقت استجابة API، الحد الأقصى - وقت استجابة API، الفيديو الأخير - غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول + وقت استجابة API، آخر فيديو + لم يعجبني غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول API جلب الأصوات وعدد الاتصالات لم يتم إجراء اتصالات الشبكة %d اتصالات شبكية أجريت @@ -1056,7 +1056,7 @@ Second \"item\" text" تمكين SponsorBlock - SponsorBlock مانِع الرُعَاة هو نظام جماعي لتخطي الأجزاء المُمِلَّة في مقاطع YouTube + مانع الرُعَاة هو نظام جماعي لتخطي الأجزاء المزعجة من فيديوهات YouTube المظهر عرض زر التصويت يتم عرض زر التصويت على المقطع @@ -1072,12 +1072,12 @@ Second \"item\" text" إخفاء زر التخطي بعد بضع ثوانٍ يتم عرض زر التخطي للمقطع بأكمله مدة زر التخطي - كم المدة لعرض أزرار التخطي والتخطي إلى التمييز قبل الإخفاء التلقائي - إظهار إشعار التراجع عن التخطي - يظهر إشعار عند تخطي مقطع تلقائيًا. انقر على الإشعار للتراجع عن التخطي - لا يتم عرض التوست - مدة توست التخطي - كم المدة لعرض رسالة التراجع عن التخطي المنبثقة + كم من الوقت يجب إظهار أزرار التخطي والتخطي للأبرز قبل إخفائها تلقائيًا + عرض التراجع عن التخطي + تظهر ملاحظة عند تخطي مقطع تلقائيًا. انقر على الملاحظة للتراجع عن التخطي + لا يتم عرض الملاحظة + مدة ملاحظة التخطي + المدة اللازمة لإظهار التراجع عن التخطي ثانية واحدة ثانيتان 3 ثوانٍ @@ -1089,19 +1089,19 @@ Second \"item\" text" 9 ثوانٍ 10 ثوانٍ عرض مدة الفيديو بدون المقاطع - يتم عرض طول الفيديو مطروحًا منه جميع المقاطع على شريط التقدم + يعرض مدة الفيديو ناقصًا منه جميع المقاطع على شريط التقدم يتم عرض مدة الفيديو كاملةً إنشاء مقاطع جديدة عرض زر إنشاء مقطع جديد يتم عرض زر إنشاء مقطع جديد لا يتم عرض زر إنشاء مقطع جديد تعديل تقديم او تأخير المقطع الجديد - أجزاء الثانية التي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة + أجزاء الثانية في الوقت الذي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة يجب أن تكون القيمة رقمًا موجبًا عرض الإرشادات - الإرشادات تحتوي على نصائح حول تقديم المقاطع - توجد إرشادات - من المستحسن قراءة الإرشادات لمانع الرعاة قبل تقديم أي مقطع + الإرشادات تتضمن قواعد ونصائح لإنشاء مقاطع جديدة + اتبع الإرشادات + من المستحسن قراءة الإرشادات لـ SponsorBlock قبل تقديم أي مقطع تمت قراءتها اعرضها لي عام @@ -1110,11 +1110,11 @@ Second \"item\" text" لا يتم عرض ملاحظة في حالة عدم توفر SponsorBlock تمكين تتبع مرات التخطي يُتيح لـ SponsorBlock Leaderboard معرفة مقدار الوقت الذي وفره المشاهدين، يتم إعلام الخادم في كل مرة تتخطى فيها مقطعًا - تم تعطيل تتبع مرات التخطي + تتبع عدد مرات التخطي غير مفعل الحد الأدنى لمدة المقطع لن يتم عرض المقاطع الأقصر من هذه القيمة (بالثواني) أو تخطيها المدة الزمنية غير صالحة - معرف المستخدم الفريد الخاص بك + معرف المستخدم User ID الفريد الخاص بك يجب أن يبقى هذا خاصًا. انه مثل كلمة المرور ولا ينبغي مشاركته مع أي شخص. إذا كان شخص ما يملك هذا، فيمكنه انتحال شخصيتك يجب أن يكون معرف المستخدم الخاص 30 حرفًا على الأقل تغيير عنوان API @@ -1147,11 +1147,11 @@ Second \"item\" text" فاصل زمني بدون محتوى فعلي. قد يكون توقفًا مؤقتًا، أو إطارًا ثابتًا، أو رسومًا متحركة متكررة. لا يتضمن انتقالات تحتوي على معلومات الخاتمة / تترات النهاية تتر النهاية أو عندما تظهر بطاقات نهاية YouTube، نهايات غير منطوقة. ليس للاستنتاجات مع المعلومات - مقدمة / تحيات + تحية / وداع مقاطع دعائية مروية للفيديو القادم، تحيات ووداعات. لا تشمل الأقسام التي تضيف محتوى إضافيًا معاينة / ملخص مجموعة من المقاطع التي توضح ما هو قادم أو ما حدث في الفيديو أو في مقاطع فيديو أخرى من السلسلة، حيث تتكرر جميع المعلومات في مكان آخر - استطراد / نكات + خارج الموضوع / نكات مشاهد أو نكات جانبية غير ضرورية لفهم المحتوى الرئيسي للفيديو. لا تشمل الأقسام التي توفر سياقًا أو تفاصيل خلفية الموسيقى: مقطع غير موسيقي فقط للاستخدام في المقاطع الموسيقية. أقسام المقاطع الموسيقية بدون موسيقى، والتي لم يتم تغطيتها بالفعل من قبل فئة أخرى @@ -1169,7 +1169,7 @@ Second \"item\" text" تخطي النظرة العامة تخطي النظرة العامة تخطي الملخص - تخطي الجزء الجانبي + تخطي مقطع غير ذي صلة تخطي غير الموسيقى تخطي المقطع تم تخطي الراعي @@ -1184,13 +1184,13 @@ Second \"item\" text" تم تخطي النظرة العامة تم تخطي النظرة العامة تم تخطي الملخص - تم تخطي الجزء الجانبي + تم تخطي مقطع غير ذي صلة تم تخطي جزء غير موسيقي تم تخطي المقطع الغير المرسل تم تخطي عدة مقاطع التخطي تلقائيًا التخطي تلقائيًا مرة واحدة - عرض زر \"التخطي\" + عرض زر التخطي عرض في شريط تقدم الفيديو تعطيل غير قادر على إرسال المقطع: الحالة: %s @@ -1241,14 +1241,14 @@ Second \"item\" text" الوقت المحدد غير صحيح إحصائيات - الإحصائيات غير متوفرة مؤقتًا (الواجهة غير متوفرة) + الإحصائيات غير متوفرة مؤقتًا (API معطل) جارٍ التحميل... تم تعطيل SponsorBlock اسم المستخدم الخاص بك: <b>%s</b> اضغط هنا لتغيير اسم المستخدم الخاص بك غير قادر على تغيير اسم المستخدم: الحالة: %1$d %2$s تم تغيير اسم المستخدم بنجاح - سمعتك هي <b>%.2f</b> + سمعتك <b>%.2f</b> لقد أنشأت <b>%s</b> مقطع اضغط هنا لعرض المقاطع الخاصة بك متصدرين SponsorBlock @@ -1264,14 +1264,14 @@ Second \"item\" text" الشفافية: اللون: لمحة - يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد ومشاهدة التنزيلات لمنصات أخرى + يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد والتنزيل لمنصات أخرى شكل نموذج التخطيط الافتراضي الجوّال الجهاز اللوحي - السيارات + Automotive "التغييرات تشمل: تصميم الجهاز اللوحي @@ -1282,7 +1282,7 @@ Second \"item\" text" • يتم تنظيم الموجز حسب المواضيع والقنوات" - خِداع إصدار التطبيق + إصدار تطبيق وهمي تم تغيير اصدار التطبيق لم يتم تغيير اصدار التطبيق "سيتم تغيير إصدار التطبيق إلى إصدار قديم من YouTube. @@ -1305,7 +1305,7 @@ Second \"item\" text" استكشف الموضة & التجميل ألعاب - السّجل + السجلّ المكتبة الفيديوهات التي أعجبتني مباشر @@ -1325,7 +1325,7 @@ Second \"item\" text" تغيير صفحة البداية دائمًا "يتم تغيير صفحة البداية دائمًا -القيد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات" +التقييد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات" يتم تغيير صفحة البداية فقط عند بدء تشغيل التطبيق @@ -1387,8 +1387,8 @@ Second \"item\" text" إخفاء أزرار التخطي للأمام والخلف تم إخفاء تخطي للأمام والخلف يتم عرض تخطي للأمام والخلف - الحجم الأولي - الحجم الأولي على الشاشة، بالبكسل + تهيئة الحجم + تهيئة الحجم على الشاشة، بالبكسل حجم البكسل يجب أن يكون بين %1$s و %2$s شفافية الواجهة قيمة الشفافية بين 0-100، حيث يكون 0 شفاف @@ -1406,16 +1406,16 @@ Second \"item\" text" يتم عرض لون شريط تقدم الفيديو الاصلي لون شريط تقدم الفيديو المخصص لون شريط التقدم - لون مميز لشريط التقدم المخصص - اللون المميز لشريط التقدم + لون تمييز شريط التقدم المخصص + لون تمييز شريط التقدم لون شريط التقدم غير صالح - شعار الرأس - افتراضي - عادي + علامة الشعار + الافتراضي + القياسي - ريـفانسد بسيط + ReVanced minimal مخصص @@ -1434,8 +1434,8 @@ Second \"item\" text" علامة التبويب أنت قوائم تشغيل المشغل والتوصيات نتائج البحث - المصّغرات الأصلية - DeArrow & المصّغرات الأصلية + المصغرات الأصلية + DeArrow & المصغرات الأصلية DeArrow & اللقطات الثابتة اللقطات الثابتة "يوفر DeArrow مصغرات فيديو من مصادر جماعية لفيديوهات YouTube. هذه المصغرات غالبًا ما تكون أكثر صلة من تلك المقدمة من YouTube @@ -1444,14 +1444,14 @@ Second \"item\" text" اضغط هنا لمعرفة المزيد عن DeArrow" عرض ملاحظة إذا كان API غير متاح - يتم عرض ملاحظة إذا كان DeArrow غير متوفر - لا يتم عرض ملاحظة إذا كان DeArrow غير متوفر - نقطة نهاية واجهة برمجة تطبيقات DeArrow - عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت للصور المصغرة لـ DeArrow + يتم عرض ملاحظة إذا كان DeArrow غير متاح + لا يتم عرض ملاحظة إذا كان DeArrow غير متاح + DeArrow API Endpoint + عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت لمصغرات DeArrow لقطات الفيديو الثابتة يتم التقاط اللقطات الثابتة من بداية/وسط/نهاية كل فيديو. هذه الصور مدمجة في YouTube ولا يتم استخدام أي واجهة برمجة تطبيقات خارجية - استخدم اللقطات الثابتة السريعة - استخدام اللقطات متوسطة الجودة. سيتم تحميل المُصغَّرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مُصغَّرات فارغة + استخدام اللقطات الثابتة السريعة + استخدام اللقطات متوسطة الجودة. سيتم تحميل المصغرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مصغرات فارغة استخدام لقطات الفيديو الثابتة بجودة عالية وقت الفيديو لأخذ اللقطات الثابتة منه بداية الفيديو @@ -1470,25 +1470,25 @@ Second \"item\" text" تجاهل - تفعيل تكرار الفيديو + تمكين تكرار الفيديو سيتم تكرار الفيديو لن يتم تكرار الفيديو - إظهار زر تكرار الفيديو - الزر ظاهر - الزر غير ظاهر + عرض زر تكرار الفيديو + يتم عرض الزر + لا يتم عرض الزر تكرار الفيديو قيد التشغيل تكرار الفيديو متوقف - محاكاة أبعاد الجهاز - "تم محاكاة أبعاد الجهاز + تزوير أبعاد الجهاز + "تم تزييف أبعاد الجهاز قد يتم فتح قفل جودة الفيديو العالية ولكن قد تواجه تقطعًا في تشغيل الفيديو وعمر بطارية أسوأ وتأثيرات جانبية غير معروفة" - "أبعاد الجهاز غير محاكاة + "أبعاد الجهاز غير مزيفة -يمكن أن يؤدي تفعيل هذا إلى فتح جودة أعلى للفيديو" +تفعيل هذا يمكن أن يفتح جودات فيديو أعلى" قد يؤدي تمكين هذا إلى تباطؤ تشغيل الفيديو وتدهور عمر البطارية وآثار جانبية غير معروفة. @@ -1496,19 +1496,19 @@ Second \"item\" text" تغيير الاهتزاز عند الضغط تعطيل الاهتزاز للفصول تم تعطيل الاهتزاز للفصول - تم تفعيل الاهتزاز للفصول + تم تمكين الاهتزاز للفصول تعطيل الاهتزاز عند التمرير الدقيق - تم تعطيل الاهتزاز الدقيق عند البحث - تم تفعيل الاهتزاز عند التمرير الدقيق - تعطيل الاهتزاز عند التراجع عن البحث - تم تعطيل الاهتزاز عند التراجع عن البحث - تم تمكين الاهتزاز عند التراجع عن البحث + تم تعطيل الاهتزاز الدقيق عند التمرير + تم تمكين الاهتزاز عند التمرير الدقيق + تعطيل اهتزاز التراجع عن التمرير + تم تعطيل اهتزاز التراجع عن التمرير + تم تمكين اهتزاز التراجع عن التمرير تعطيل الاهتزاز عند التكبير تم تعطيل الاهتزاز عند التكبير تم تمكين الاهتزاز عند التكبير - إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فأزل تثبيت MicroG ثم أعد تثبيته. + إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فقم بإلغاء تثبيت MicroG وإعادة تثبيته. تجاوز إعادة توجيه URL @@ -1526,9 +1526,9 @@ Second \"item\" text" تذكر تغييرات جودة الفيديو تنطبق تغييرات الجودة على جميع الفيديوهات تنطبق تغييرات الجودة على الفيديو الحالي فقط - إظهار إشعار عند تغيير جودة الفيديو - يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية - لا يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية + عرض ملاحظة عند تغيير جودة الفيديو + يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية + لا يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية جودة الفيديو الافتراضية على شبكة Wi-Fi جودة الفيديو الافتراضية على شبكة الجوَّال تذكر تغييرات جودة Shorts @@ -1543,36 +1543,36 @@ Second \"item\" text" عرض زر مربع حوار السرعة - الزر معروض. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي + يتم عرض الزر. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي لا يتم عرض الزر عرض زر جودة الفيديو - الزر معروض. انقر مع الاستمرار لإعادة تعيين الجودة إلى الافتراضي - الزر غير معروض + يتم عرض الزر. انقر مع الاستمرار لإعادة تعيين الجودة إلى الوضع الافتراضي + لا يتم عرض الزر قائمة سرعة التشغيل المخصصة يتم عرض قائمة سرعة التشغيل المخصصة لا يتم عرض قائمة سرعة التشغيل المخصصة استعادة قائمة سرعة التشغيل القديمة - قائمة السرعة القديمة معروضة - قائمة السرعة الحديثة معروضة + يتم عرض قائمة سرعة التشغيل القديمة + يتم عرض قائمة سرعة التشغيل الحديثة سرعة التشغيل المخصصة - إضافة أو تغيير سرعة التشغيل المخصصة + إضافة أو تغيير سرعات التشغيل المخصصة يجب أن تكون سرعات التشغيل المخصصة أقل من %s - سرعة التشغيل المخصصة غير صالحة + سرعات التشغيل المخصصة غير صالحة تلقائي سرعة النقر مع الاستمرار المخصصة سرعة التشغيل بين 0-8 - تذكر التغيرات في سرعة التشغيل + تذكر تغييرات سرعة التشغيل تطبيق تغييرات سرعة التشغيل على جميع الفيديوهات تطبيق تغييرات سرعة التشغيل فقط على الفيديو الحالي - إظهار إشعار عند تغيير سرعة التشغيل - يتم إظهار إشعار عند تغيير سرعة التشغيل الافتراضية - لا يتم عرض إشعار عند تغيير سرعة التشغيل الافتراضية. + عرض ملاحظة عند تغيير سرعة التشغيل + يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية + لا يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية سرعة التشغيل الافتراضية تغيير السرعة الافتراضية إلى: %s @@ -1604,10 +1604,10 @@ Second \"item\" text" تم تعطيل التمرير للتقديم أو الترجيع - الآثار الجانبية للتزوير + التأثيرات الجانبية للتزييف • عميل تجريبي وقد يتوقف عن العمل في أي وقت • قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق - • قائمة المسارات الصوتية مفقودة + • قائمة المقطع الصوتي مفقودة • لا يوجد ترميز الفيديو AV1 • مستوى الصوت الثابت غير متاح • قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات @@ -1619,14 +1619,14 @@ Second \"item\" text" تم إخفاء نوع العميل في إحصاءات تقنية لغة بث الصوت - لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \"فرض لغة الصوت الأصلية\" + لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \'فرض لغة الصوت الأصلية\' اختيار لغة البث غير متاح مع Android Studio - حول - إعلانات + لمحة + الإعلانات عام المشغل متنوعة @@ -1634,7 +1634,7 @@ Second \"item\" text" إخفاء إعلانات الفيديو تم إخفاء إعلانات الفيديو - تم عرض إعلانات الفيديو + يتم عرض إعلانات الفيديو تمكين التكرار الدائم @@ -1642,22 +1642,22 @@ Second \"item\" text" تم تعطيل التكرار الدائم - إخفاء زر الإرسال - زر الإرسال مخفي - زر الإرسال ظاهر + إخفاء زر البث + تم إخفاء زر البث + يتم عرض زر البث إخفاء شريط الفئات - شريط الفئات مخفي - شريط الفئات معروض + تم إخفاء شريط الفئات + يتم عرض شريط الفئات شريط التنقل إخفاء أزرار شريط التنقل أو تغييرها - إخفاء الرئيسية - زر \"الرئيسية\" مخفي - زر \"الرئيسية\" ظاهر + إخفاء الصفحة الرئيسية + تم إخفاء زر الصفحة الرئيسية + يتم عرض زر الصفحة الرئيسية إخفاء المقاطع زر \"المقتطفات\" مخفي @@ -1694,22 +1694,22 @@ Second \"item\" text" - منع الإعلانات الصوتية - تم منع الإعلانات الصوتية - تم إلغاء منع الإعلانات الصوتية + حظر الإعلانات الصوتية + تم حظر الإعلانات الصوتية + تم إلغاء حظر الإعلانات الصوتية - %s غير متوفر. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. - قام خادم %s بإرجاع خطأ. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. - منع إعلانات الفيديو المضمنة + %s غير متوفر، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. + قام خادم %s بإرجاع خطأ، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. + حظر إعلانات الفيديو المضمنة معطّل Luminous Proxy PurpleAdBlock Proxy - منع إعلانات الفيديو - تم منع إعلانات الفيديو - تم إلغاء منع إعلانات الفيديو + حظر إعلانات الفيديو + تم حظر إعلانات الفيديو + يتم إلغاء حظر إعلانات الفيديو تم حذف الرسالة diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index ddb61efcc5..457b64433c 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -368,7 +368,7 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum Sİ söhbət xülasəsini gizlət Sİ söhbət xülasəsi gizlidir Sİ söhbət xülasəsi görünür - AI Ṣərhlər Xülasəsini Gizlət + AI şərhlər xülasəsini gizlət Sİ şərhlər xülasəsi gizlidir Sİ şərhlər xülasəsi görünür Kanal təlimatlarını gizlət @@ -405,19 +405,19 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum Yeni sətirlə ayrılmış filtr üçün element yol qurucusu sətirlərinin siyahısı Etibarsız fərdi filtr: %s Baxış sayını gizlət - Baxış sayı lentdə və axtarış nəticələrində gizlədilib - Baxış sayı lentdə və axtarış nəticələrində göstərilib + Baxış sayı axın və axtarış nəticələrində gizlidir + Baxış sayı axın və axtarış nəticələrində görünür "Məhdudiyyətlər: -• Shorts rəfləri, kanal səhifələri və axtarış nəticələri hələ də baxış saylarını göstərə bilər -• Bu funksiya avtomobil form faktoru ilə işləmir" - Yükləmə vaxtını gizlət - Yükləmə vaxtı lentdə və axtarış nəticələrində gizlədilib - Yükləmə vaxtı lentdə və axtarış nəticələrində göstərilir +• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yenə də baxış sayını göstərə bilər +• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir" + Yüklənilmə vaxtını gizlət + Yüklənilmə vaxtı axın və axtarış nəticələrində gizlidir + Yüklənilmə vaxtı axın və axtarış nəticələrində göstərilir "Məhdudiyyətlər: -• Shorts rəflərində, kanal səhifələrində və axtarış nəticələrində yükləmə vaxtları hələ də göstərilə bilər -• Bu funksiya avtomobil form faktoru ilə işləmir" +• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yüklənilən vaxtı yenə də göstərə bilər +• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir" Açar söz məzmununu gizlət Açar söz filtrləri ilə axtarış və axın videolarını gizlət Ev videolarını açar sözlərə görə gizlət @@ -869,7 +869,7 @@ Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı Məkan etiketini gizlət Məkan etiketi gizlidir Məkan etiketi göstərilir - Yeni elanları gizlət düyməsi + Yeni elanlar düyməsini gizlət Yeni elanlar düyməsi gizlidir Yeni elanlar düyməsi göstərilir Dayandırma örtük düymələrini gizlət @@ -1609,7 +1609,7 @@ Məhdudiyyətlər: • Səs treki menyusu çatışmır • AV1 video kodlayıcı yoxdur • Sabit səs yoxdur - • Oxutma kəsilə bilər və ya kadrlar düşə bilər + • Oynatma qarışa bilər və ya kadrlar ötürülə bilər • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz • \"Orijinal səsi zorla\" əlçatmazdır diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index d4ea1ff123..ae8e618fa6 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1611,7 +1611,7 @@ Limitations : • Le menu Piste audio est absent • Codec vidéo AV1 indisponible • Le volume stable n\'est pas disponible - • La lecture peut saccader ou perdre des images + • Il est possible que la lecture soit saccadée ou que des images soient perdues • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée • Forcer la langue audio d\'origine n\'est pas disponible diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index fdc8de9769..7854cfb81d 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -55,7 +55,7 @@ Second \"item\" text" Bain triail as eochairfhocal eile Cuardaigh le déanaí Bain as stair an chuardaigh? - Glan stair an chuardaigh + Glan stair chuardaigh An bhfuil tú cinnte gur mhaith leat stair chuardaigh go léir a ghlanadh? Leideanna Cuardaigh "• Tapáil cosán chun dul chuige @@ -106,14 +106,14 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta." Lean ar aghaidh - Sruthanna físeán spoof - Spoof na sruthanna físeáin cliant chun saincheisteanna athsheinm a chosc - Sruthanna físeáin bréige - Déan bréagú ar shruthanna físeáin an chliaint chun saincheisteanna athsheinm a chosc - Sruthanna físeán spoof - "Tá sruthanna físeáin bréagaithe + Sruthanna físe bréige + Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc + Sruthanna físe bréige + Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc + Sruthanna físe bréige + "Déantar sruthanna físe a bhréagnú -Má tá tú i do úsáideoir YouTube Premium, seans nach mbeidh an socrú seo ag teastáil" +Mura bhfuil tú i d’úsáideoir YouTube Premium, b’fhéidir nach mbeidh an socrú seo ag teastáil" "Ní dhéantar sruthanna físeáin a bhréagnú Seans nach n-oibreoidh an t-athsheinm" @@ -230,8 +230,8 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp Tá seilf íomhá i dtorthaí cuardaigh i bhfolach Taispeántar seilf íomhánna i dtorthaí cuardaigh Folaigh na poist is déanaí - Tá postanna is déanaí i bhfolach - Taispeántar na postálacha is déanaí + Tá na poist is déanaí i bhfolach + Taispeántar na poist is déanaí Folaigh seinmliostaí meascán Tá seinmliostaí measctha i bhfolach Taispeántar seinmliostaí measctha @@ -248,9 +248,9 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp Taispeántar na heilimintí inseinnte - Folaigh cnaipe \'Taispeáin tuilleadh\' + Folaigh an cnaipe \'Taispeáin níos mó\' Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh i bhfolach - Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh taispeánta + Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh thaispeánta Folaigh suirbhéanna Tá suirbhéanna i bhfolach Tá suirbhéanna taispeánta @@ -1467,7 +1467,7 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow" Ní thaispeántar fógraí ar thosú Taispeáin fógraí ar thosú Theip ar nascadh le soláthraí fógraí - Díbhunaigh + Díbhe Cumasaigh físeán lúbtha @@ -1476,44 +1476,44 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow" Taispeáin an cnaipe físeáin lúbtha - Tá an cnaipe ar taispeáint + Taispeántar an cnaipe Níl an cnaipe ar taispeáint Tá físeán lúbtha ar siúl Tá físeán lúbtha as siúl - Toisí feiste spoof - "Toisí gléise spoofed + Toisí gléas a fhalsú + "Toisí na ngléasanna falsaithe -D'fhéadfadh go gcuirfí caighdeáin físeáin níos airde ar fáil ach d'fhéadfá stuttering athsheinm físeáin, saol ceallraí níos measa, agus fo-iarsmaí anaithnid a fháil" - "Níl toisí gléise spoofed +D’fhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach d’fhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat" + "Toisí na ngléasanna gan falsaithe -Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" - D\'fhéadfadh sé seo a bheith ina chúis le stuttering athsheinm físe, saol ceallraí níos measa, agus fo-iarmhairtí anaithnid. +D’fhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach d’fhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat" + Is féidir go mbeidh stad ar athsheinm físe, saolré na ceallraí níos measa, agus fo-iarsmaí anaithnide mar thoradh air seo. - Aiseolas haptach - Athraigh aiseolas haptach - Díchumasaigh haptics caibidlí - Tá haptics caibidlí díchumasaithe - Tá haptics caibidlí cumasaithe - Díchumasaigh haptics beacht cuardaigh - Tá haptics beachtais díchumasaithe - Tá haptics beacht cuardaigh cumasaithe - Díchumasaigh haptics díthurais - Tá haptics díthurais díchumasaithe - Tá haptics díthurais cumasaithe - Díchumasaigh súmáil haptics - Tá súmáil haptics díchumasaithe - Tá súmáil haptics cumasaithe + Aiseolas haiptice + Athraigh aiseolas haiptice + Díchumasaigh haiptice caibidlí + Tá haiptice caibidlí díchumasaithe + Tá haiptice caibidlí cumasaithe + Díchumasaigh haiptice beacht cuardaigh + Tá haiptice cuardaigh chruinne díchumasaithe + Tá haiptice cuardaigh chruinn cumasaithe + Díchumasaigh haiptice cuardaigh agus cealaithe + Tá haiptice cuardaigh cealaithe díchumasaithe + Tá haiptice cuardaigh cealaithe cumasaithe + Díchumasaigh haiptice súmála + Tá haiptice súmála díchumasaithe + Tá haiptice súmála cumasaithe Má d’athraigh tú sonraí logála isteach do chuntais le déanaí, ansin díshuiteáil agus athshuiteáil MicroG. - Atreoracha seachbhóthar URL - Seachnaítear atreoruithe URL - Ní chuirtear athsheoltaí URL + Seachain atreoruithe URL + Déantar atreoruithe URL a sheachaint + Ní dhéantar seachaint ar atreoruithe URL Oscail naisc sa bhrabhsála @@ -1523,14 +1523,14 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Uathoibríoch - Cuimhnigh athruithe ar cháilíocht + Cuimhnigh athruithe ar cháilíocht físe Baineann athruithe cáilíochta le gach físeán Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha - Taispeáin fógra beag ar athruithe cáilíochta físe + Taispeáin tósta ar athruithe cáilíochta físe Taispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin Ní thaispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin - Cáilíocht físe réamhshocraithe ar líonra - Cáilíocht físe réamhshocraithe ar líonra + Cáilíocht físe réamhshocraithe ar líonra Wi-Fi + Cáilíocht físe réamhshocraithe ar líonra soghluaiste Cuimhnigh ar athruithe cáilíochta Shorts Baineann athruithe ar an gcáilíocht le gach Shorts Ní bhaineann athruithe ar an gcáilíocht ach leis an Short reatha @@ -1538,7 +1538,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Cáilíocht réamhshocraithe Shorts ar líonra soghluaiste soghluaiste Wi-Fi - Athraigh cáilíocht réamhshocraithe %1$s go dtí: %2$s + Athraíodh cáilíocht réamhshocraithe %1$s go: %2$s Athraíodh cáilíocht Shorts %1$s go: %2$s @@ -1548,22 +1548,22 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Taispeáin cnaipe cáilíochta físeáin - Tá cnaipe le feiceáil. Tapáil agus coinnigh chun cáilíocht a athshocrú mar réamhshocrú - Níl cnaipe le feiceáil + Taispeántar an cnaipe. Tapáil agus coinnigh síos chun an caighdeán a athshocrú go dtí an caighdeán réamhshocraithe + Ní thaispeántar an cnaipe Roghchlár luas athsheinm saincheaptha Taispeántar roghchlár luais saincheaptha Ní thaispeántar roghchlár luais saincheaptha - Athchóirigh an seanchalafort luais athsheinm - Tá an seanchalafort luais taispeánta - Tá an calafort luais nua-aimseartha taispeánta + Athchóirigh an sean-roghchlár luas athsheinm + Taispeántar an sean-roghchlár luais + Taispeántar roghchlár luais nua-aimseartha Luas athsheinm saincheaptha Cuir leis nó athraigh na luasanna athsheinm saincheaptha Ní mór luas saincheaptha a bheith níos lú ná %s Luasanna athsheinm saincheaptha neamhbhailí Uathoibríoch - Luas tap is agus greim + Luas saincheaptha tapála agus coinnigh Luas athsheinm eatarthu 0-8 @@ -1577,12 +1577,12 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Athraigh luas réamhshocraithe go: %s -

Díchumasú físeán HDR

-

Tá físeán HDR díchumasaithe

-

Tá físeán HDR arna chumhachtú

+ Díchumasaigh físeán HDR + Tá físeán HDR díchumasaithe + Tá físeán HDR cumasaithe Fórsa AVC (H.264) Éigeantar an códóir físeáin go AVC (H.264) - Cinntear an códóir físeáin go huathoibríoch + Cinntear an cóideac físe go huathoibríoch "Sochair: • Féadfaidh sé saolré na ceallraí a fheabhsú • Féadfaidh sé réitigh físeáin atá in easnamh a chur ar ais ar ghléasanna níos sine @@ -1604,22 +1604,22 @@ Teorainneacha: Níl sleamhnán le lorg cumasaithe
- Fo-iarsmaí bréagaíochta + Fo-éifeachtaí a fhalsúa • Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith • Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe • Tá an roghchlár rian fuaime in easnamh - • Níl aon chóidéir físe AV1 + • Níl aon cóideac físe AV1 • Níl toirt chobhsaí ar fáil • D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh - • Videos faoi phaistí uaireanta nach imreoidh nuair a bhíonn tú logáilte amach nó i mod incognito + • Seans nach seinnfear físeáin do pháistí nuair a bhíonn siad logáilte amach nó i mód go hanaithnid - • Níl Éigean fuaime bunaidh ar fáil + • Níl an fuaim bhunaidh iallach ar fáil Taispeáin i Staitisticí do nerds Taispeántar cineál an chliaint i Staitisticí do nerds Tá an cliant curtha i bhfolach i Staitisticí do nerds Teanga an tsrutha fuaime - Chun teanga fuaime shonrach a roghnú, múch \'Cuir iallach ar bhunteanga fuaime\' + Chun teanga fuaime ar leith a roghnú, múch \'Fórsaigh teanga fuaime bhunaidh\' Níl roghnú theanga an tsrutha ar fáil le Android Studio
@@ -1638,13 +1638,13 @@ Teorainneacha: Cumasaigh athdhéanamh buan - Tá athdhéanamh buan cumasaithe - Tá athdhéanamh buan díchumasaithe + Tá athrá buan cumasaithe + Tá athrá buan díchumasaithe Folaigh an cnaipe teilgthe Tá an cnaipe teilgthe i bhfolach - Tá an cnaipe teilgthe ar taispeáint + Taispeántar an cnaipe teilgthe Folaigh an barra catagóirí @@ -1657,29 +1657,29 @@ Teorainneacha: Folaigh Baile Tá cnaipe Baile folaithe - Tá cnaipe Baile taispeánta + Taispeántar an cnaipe baile Folaigh Samplaí - Tá cnaipe Samplaí folaithe - Tá cnaipe Samplaí taispeánta + Tá cnaipe na samplaí i bhfolach + Taispeántar cnaipe na samplaí - Folaigh Scrúdaigh - Tá cnaipe Fionnachtana folaithe - Tá cnaipe Fionnachtana taispeánta + Folaigh Iniúchadh + Tá an cnaipe iniúchadh i bhfolach + Taispeántar an cnaipe iniúchadh Folaigh Leabharlann - Tá cnaipe Leabharlann folaithe - Tá cnaipe Leabharlann taispeánta + Tá cnaipe na leabharlainne i bhfolach + Taispeántar cnaipe na leabharlainne - Folaigh Uasghrádaigh - Tá cnaipe Uasghrádú folaithe - Tá cnaipe Uasghrádú taispeánta + Folaigh an tUasghrádú + Tá an cnaipe uasghrádaithe i bhfolach + Taispeántar an cnaipe uasghrádaithe Folaigh barra nascleanúna - Tá barra nascleanúna folaithe - Tá barra nascleanúna taispeánta + Tá an barra nascleanúna i bhfolach + Taispeántar barra nascleanúna Folaigh lipéid cnaipí nascleanúna - Tá lipéid folaithe - Tá lipéid taispeánta + Tá lipéid i bhfolach + Taispeántar lipéid Folaigh an lipéad \'Faigh Music Premium\' @@ -1696,7 +1696,7 @@ Teorainneacha: Cuir bac ar fógraí fuaime Cuirtear bac ar fhógraí fuaime - Déantar fógraí fuaime díbhocáilte + Tá fógraí fuaime díbhlocáilte %s neamh-infheidhme, d\'fhéadfadh go dtaispeánfadh fógraí. Bain triail as seirbhís blocála fógraí a athrú sna socruithe. @@ -1715,11 +1715,11 @@ Teorainneacha: Teachtaireacht scriosta Taispeáin teachtaireachtaí scriosta Ná taispeáin teachtaireachtaí scriosta - Folaigh teachtaireachtaí scriosta taobh thiar de spoiler - Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe + Folaigh teachtaireachtaí scriosta taobh thiar a fhalsúa + Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe amach - Tóg Pointí Cainte go huathoibríoch + Éiligh Pointí Cainéil go huathoibríoch Éilítear Pointí Cainéal go huathoibríoch Ní éilítear Pointí Cainéal go huathoibríoch diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 088a6b07d9..54a548f0e7 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -22,18 +22,18 @@ Second \"item\" text" Pemeriksaan gagal - Buka situs resminya + Buka situs resmi Abaikan - <h5>Aplikasi ini tampaknya tidak dipatch oleh Anda.</h5><br>Aplikasi ini mungkin tidak berfungsi dengan baik, <b>bisa berbahaya atau bahkan membahayakan untuk digunakan</b>.<br><br>Pemeriksaan ini berarti bahwa aplikasi ini telah dipatch sebelumnya atau diperoleh dari orang lain:<br><br><small>%1$s</small><br>Sangat disarankan untuk <b>mencopot pemasangan aplikasi ini dan mempatchnya sendiri</b> guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.<p><br>Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali. - Dipatch pada perangkat yang berbeda - Tidak dipasang oleh ReVanced Manager - Dipatch lebih dari 10 menit yang lalu - Dipatch %s hari yang lalu + <h5>Aplikasi ini tampaknya tidak ditambal oleh Anda.</h5><br>Aplikasi ini mungkin tidak bisa berfungsi dengan baik, <b>bisa berbahaya atau bahkan membahayakan untuk digunakan</b>.<br><br>Pemeriksaan ini berarti bahwa aplikasi ini telah ditambal sebelumnya atau diperoleh dari orang lain:<br><br><small>%1$s</small><br>Sangat disarankan untuk <b>mencopot pemasangan aplikasi ini dan menambalnya sendiri</b> guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.<p><br>Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali. + Ditambal pada perangkat yang berbeda + Tidak terpasang oleh ReVanced Manager + Ditambal lebih dari 10 menit yang lalu + Ditambal %s hari yang lalu Tanggal pembuatan APK rusak Peringatan - Riwayat tontonan Anda tidak disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir DNS dan proksi. + Riwayat tontonan Anda tidak sedanh disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan ke daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir iklan DNS dan proksi. Jangan tampilkan lagi @@ -48,7 +48,7 @@ Second \"item\" text" Impor Salin Pengaturan ReVanced diatur ke bawaan - Mengimpor setelan %d + Setelan %d terimpor Impor gagal: %s Pengaturan pencarian Tidak ada hasil yang ditemukan untuk \'%s\' @@ -62,12 +62,12 @@ Second \"item\" text" • Tekan lama pada pengaturan untuk menelusuri ke jalur tersebut • Tekan Enter untuk menyimpan kueri pencarian ke riwayat • Pencarian mengabaikan huruf besar/kecil dan tanda baca -• Pengaturan orang tua muncul di atas pengaturan anak yang dinonaktifkan" +• Pengaturan utama muncul di atas pengaturan sampingan yang dinonaktifkan" Riwayat pencarian kosong Untuk menyimpan riwayat pencarian, ketik kueri pencarian dan tekan Enter - Tampilkan pengaturan riwayat pencarian - Pengaturan riwayat pencarian ditampilkan - Pengaturan riwayat pencarian tidak ditampilkan + Tampilkan riwayat pencarian setelan + Riwayat pencarian setelan ditampilkan + Riwayat pencarian setelan tidak ditampilkan Tampilkan ikon pengaturan ReVanced Ikon pengaturan ditampilkan Ikon pengaturan tidak ditampilkan @@ -1609,7 +1609,7 @@ Batasan: • Menu trek audio tidak ada • Tidak ada codec video AV1 • Volume stabil tidak tersedia - • Pemutaran mungkin tersendat atau melewatkan bingkai + • Pemutaran mungkin tersendat-sendat atau terjadi penurunan kualitas gambar • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran • Paksa audio asli tidak tersedia @@ -1658,9 +1658,9 @@ Batasan: Tombol Beranda disembunyikan Tombol Beranda ditampilkan - Sembunyikan Cuplikan - Tombol Cuplikan disembunyikan - Tombol Cuplikan ditampilkan + Sembunyikan Sampel + Tombol Sampel disembunyikan + Tombol Sampel ditampilkan Sembunyikan Jelajahi Tombol Jelajahi disembunyikan diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index aac14f5d8b..c4084ad6eb 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -508,7 +508,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 「動画の URL をコピー」ボタンを表示 ボタンがプレーヤー オーバーレイに表示されます。タップすると動画の URL が、長押しするとタイムスタンプ付きの URL がそれぞれコピーされます ボタンはプレーヤー オーバーレイに表示されません - 「動画のタイムスタンプ付き URL をコピー」ボタンを表示 + 「タイムスタンプ付き URL をコピー」ボタンを表示 ボタンがプレーヤー オーバーレイに表示されます。タップするとタイムスタンプ付きの URL が、長押しするとタイムスタンプなしの URL がそれぞれコピーされます ボタンはプレーヤー オーバーレイに表示されません @@ -1483,7 +1483,7 @@ Automotive レイアウト 動画のループ再生がオフになっています - デバイスの画面サイズを偽装する + デバイスの画面サイズを偽装 "デバイスの画面サイズは偽装されています より高画質な映像がアンロックされる可能性がありますが、動画のカクつき、バッテリー寿命の悪化、予期せぬ副作用が @@ -1586,8 +1586,8 @@ Automotive レイアウト ビデオ コーデックは強制的に AVC (H.264) になります ビデオ コーデックは自動的に決定されます "利点: -• バッテリー寿命を延ばすことができる -• 古いデバイスで失われた動画解像度を復元できる +• バッテリー寿命が延びる可能性がある +• 古いデバイスで失われた動画解像度を復元できる可能性がある 制限事項: • 最大解像度が 1080p @@ -1612,7 +1612,7 @@ Automotive レイアウト •「音声トラック」がフライアウト メニューに表示されない • AV1 コーデックが利用できない •「一定音量」が利用できない - • 再生が途切れたり、フレームがスキップされたりする場合があります。 + • 再生がカクつく、またはコマ落ちが発生する場合がある • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 7f531a7756..9f4a490a1c 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1609,7 +1609,7 @@ Ograničenja: • Meni „Audio snimak” nedostaje • Nema video kodeka AV1 • Opcija „Ujednačena jačina zvuka” nije dostupna - • Reprodukcija može zastajkivati ili ispuštati kadrove + • Reprodukcija može zastajkivati ili preskakati kadrove • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja • Prisiljavanje originalnog zvuka nije dostupno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 62bc59052d..b1198cc439 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1612,7 +1612,7 @@ Second \"item\" text" • Мени „Аудио снимак” недостаје • Нема видео кодека AV1 • Опција „Уједначена јачина звука” није доступна - • Репродукција може да сецка или да испушта кадрове + • Репродукција може застајкивати или прескакати кадрове • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања • Присиљавање оригиналног звука није доступно diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index ade1fb052e..5ff8a78233 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -58,13 +58,13 @@ Second \"item\" text" Xóa lịch sử tìm kiếm Bạn có chắc chắn muốn xóa tất cả lịch sử tìm kiếm không? Mẹo tìm kiếm - "• Nhấn vào một đường dẫn để điều hướng đến đó -• Nhấn giữ một cài đặt để điều hướng đến đó -• Nhấn Enter để lưu truy vấn tìm kiếm vào lịch sử + "• Nhấn vào một đường dẫn để đi đến đó +• Nhấn giữ một cài đặt để đi đến đó +• Nhấn Enter để lưu từ khoá tìm kiếm vào lịch sử • Tìm kiếm bỏ qua chữ hoa/thường và dấu câu -• Cài đặt cha xuất hiện phía trên cài đặt con bị vô hiệu hóa" - Lịch sử tìm kiếm trống - Để lưu lịch sử tìm kiếm, nhập truy vấn tìm kiếm và nhấn Enter +• Cài đặt lớn nằm phía trên cài đặt nhỏ bị vô hiệu hóa" + Lịch sử tìm kiếm đang trống + Để lưu lịch sử tìm kiếm, nhập từ khoá tìm kiếm và nhấn Enter Hiện lịch sử tìm kiếm cài đặt Lịch sử tìm kiếm cài đặt đã được hiển thị Lịch sử tìm kiếm cài đặt không được hiển thị @@ -157,8 +157,8 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Tham số truy vấn theo dõi bị loại bỏ khỏi các liên kết được chia sẻ Tham số truy vấn theo dõi không bị loại bỏ khỏi các liên kết được chia sẻ Thay đổi liên kết chia sẻ thành youtube.com - Liên kết được chia sẻ sử dụng youtube.com - Liên kết được chia sẻ sử dụng music.youtube.com + Liên kết chia sẻ bắt đầu bằng youtube.com + Liên kết chia sẻ bắt đầu bằng music.youtube.com @@ -1481,11 +1481,11 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow" Video sẽ không lặp lại - Hiện nút video lặp lại + Hiện nút lặp lại video Nút được hiển thị Nút không được hiển thị - Video lặp lại đang bật - Video lặp lại đang tắt + Lặp lại video đang bật + Lặp lại video đang tắt Giả mạo kích thước thiết bị From 19949e1695cc252ff0f94a33b6e3fb62e967d7fd Mon Sep 17 00:00:00 2001 From: Dawid Krajcarz <80264606+drobotk@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:11:41 +0200 Subject: [PATCH 07/20] fix(Spotify): Change `Hide Create button` patch to default off (#6067) --- .../spotify/layout/hide/createbutton/HideCreateButtonPatch.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt index 5149514791..4bb03fa068 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt @@ -17,7 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val hideCreateButtonPatch = bytecodePatch( name = "Hide Create button", - description = "Hides the \"Create\" button in the navigation bar." + description = "Hides the \"Create\" button in the navigation bar. The latest app targets do not need this patch.", + use = false ) { compatibleWith("com.spotify.music") From 5ed092bb7dfbfd868b528fe5f49cdf6585552572 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 07:14:51 +0000 Subject: [PATCH 08/20] chore: Release v5.42.0-dev.13 [skip ci] # [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) ### Bug Fixes * **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](https://github.com/ReVanced/revanced-patches/commit/19949e1695cc252ff0f94a33b6e3fb62e967d7fd)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e92508d4b2..a48f5721ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) + + +### Bug Fixes + +* **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](https://github.com/ReVanced/revanced-patches/commit/19949e1695cc252ff0f94a33b6e3fb62e967d7fd)) + # [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) diff --git a/gradle.properties b/gradle.properties index 5586b7d240..6293cff5ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.12 +version = 5.42.0-dev.13 From 20c413120bad97af6121718e76b22a1b5540aa44 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:40:37 +0200 Subject: [PATCH 09/20] feat(Instagram): Add `Custom share domain` patch (#5998) --- .../domain/ChangeLinkSharingDomainPatch.java | 33 ++++++++++++ .../privacy/SanitizeSharingLinksPatch.java | 15 ++++++ patches/api/patches.api | 8 +++ .../misc/privacy/SanitizeSharingLinksPatch.kt | 50 +++---------------- .../misc/share/EditShareLinksPatch.kt | 31 ++++++++++++ ...PermalinkResponseJsonParserFingerprint.kt} | 2 +- .../domain/ChangeLinkSharingDomainPatch.kt | 42 ++++++++++++++++ .../misc/share/domain/Fingerprint.kt | 16 ++++++ .../privacy/SanitizeSharingLinksPatch.kt | 33 ++++++++++++ .../patches/shared/SharedPatchNames.kt | 3 ++ .../links/ChangeLinkSharingDomainPatch.kt | 6 ++- 11 files changed, 192 insertions(+), 47 deletions(-) create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt rename patches/src/main/kotlin/app/revanced/patches/instagram/misc/{privacy/Fingerprints.kt => share/PermalinkResponseJsonParserFingerprint.kt} (93%) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java new file mode 100644 index 0000000000..77eea7e847 --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java @@ -0,0 +1,33 @@ +package app.revanced.extension.instagram.misc.share.domain; + +import android.net.Uri; +import app.revanced.extension.shared.Logger; + +@SuppressWarnings("unused") +public final class ChangeLinkSharingDomainPatch { + + private static String getCustomShareDomain() { + // Method is modified during patching. + throw new IllegalStateException(); + } + + /** + * Injection point. + */ + public static String setCustomShareDomain(String url) { + try { + Uri uri = Uri.parse(url); + Uri.Builder builder = uri + .buildUpon() + .authority(getCustomShareDomain()) + .clearQuery(); + + String patchedUrl = builder.build().toString(); + Logger.printInfo(() -> "Domain change from : " + url + " to: " + patchedUrl); + return patchedUrl; + } catch (Exception ex) { + Logger.printException(() -> "setCustomShareDomain failure with " + url, ex); + return url; + } + } +} diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java new file mode 100644 index 0000000000..9b3aa6347a --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java @@ -0,0 +1,15 @@ +package app.revanced.extension.instagram.misc.share.privacy; + +import app.revanced.extension.shared.privacy.LinkSanitizer; + +@SuppressWarnings("unused") +public final class SanitizeSharingLinksPatch { + private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh"); + + /** + * Injection point. + */ + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); + } +} diff --git a/patches/api/patches.api b/patches/api/patches.api index 806d7a46e6..c12b7a9bd3 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -292,6 +292,14 @@ public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLi public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatchKt { + public static final fun getChangeLinkSharingDomainPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatchKt { + public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt index 54d7e9c031..9e5930af8c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -1,50 +1,12 @@ package app.revanced.patches.instagram.misc.privacy -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch -import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS -import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS -import app.revanced.util.indexOfFirstInstructionOrThrow -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction - -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch;" +@Deprecated( + "Patch was moved to a different package", + ReplaceWith("app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch") +) @Suppress("unused") -val sanitizeSharingLinksPatch = bytecodePatch( - name = PATCH_NAME_SANITIZE_SHARING_LINKS, - description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, -) { - compatibleWith("com.instagram.android") - - dependsOn(sharedExtensionPatch) - - execute { - arrayOf( - permalinkResponseJsonParserFingerprint, - storyUrlResponseJsonParserFingerprint, - profileUrlResponseJsonParserFingerprint, - liveUrlResponseJsonParserFingerprint - ).forEach { fingerprint -> - fingerprint.method.apply { - val putSharingUrlIndex = indexOfFirstInstructionOrThrow( - fingerprint.stringMatches!!.first().index, - Opcode.IPUT_OBJECT - ) - - val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA - - addInstructions( - putSharingUrlIndex, - """ - invoke-static { v$sharingUrlRegister }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$sharingUrlRegister - """ - ) - } - } - } +val sanitizeSharingLinksPatch = bytecodePatch { + dependsOn(app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch) } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt new file mode 100644 index 0000000000..b6d968c652 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt @@ -0,0 +1,31 @@ +package app.revanced.patches.instagram.misc.share + +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.util.indexOfFirstInstruction +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +context(BytecodePatchContext) +internal fun editShareLinksPatch(block: MutableMethod.(index: Int, register: Int) -> Unit) { + val fingerprintsToPatch = arrayOf( + permalinkResponseJsonParserFingerprint, + storyUrlResponseJsonParserFingerprint, + profileUrlResponseJsonParserFingerprint, + liveUrlResponseJsonParserFingerprint + ) + + for (fingerprint in fingerprintsToPatch) { + fingerprint.method.apply { + val putSharingUrlIndex = indexOfFirstInstruction( + permalinkResponseJsonParserFingerprint.stringMatches!!.first().index, + Opcode.IPUT_OBJECT + ) + + val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA + + block(putSharingUrlIndex, sharingUrlRegister) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt similarity index 93% rename from patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt rename to patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt index 78ac35f85c..9e0d8e64d2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.instagram.misc.privacy +package app.revanced.patches.instagram.misc.share import app.revanced.patcher.fingerprint diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt new file mode 100644 index 0000000000..1e476b73b4 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt @@ -0,0 +1,42 @@ +package app.revanced.patches.instagram.misc.share.domain + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.stringOption +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.instagram.misc.share.editShareLinksPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.util.returnEarly + +@Suppress("unused") +val changeLinkSharingDomainPatch = bytecodePatch( + name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN, + description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN, + use = false +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + val customDomainHost by stringOption( + key = "domainName", + default = "imginn.com", + title = "Domain name", + description = "The domain name to use when sharing links." + ) + + getCustomShareDomainFingerprint.method.returnEarly(customDomainHost!!) + + editShareLinksPatch { index, register -> + addInstructions( + index, + """ + invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setCustomShareDomain(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$register + """ + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt new file mode 100644 index 0000000000..1337520001 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt @@ -0,0 +1,16 @@ +package app.revanced.patches.instagram.misc.share.domain + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch;" + +internal val getCustomShareDomainFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { method, classDef -> + method.name == "getCustomShareDomain" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt new file mode 100644 index 0000000000..a73099a225 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt @@ -0,0 +1,33 @@ +package app.revanced.patches.instagram.misc.share.privacy + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.instagram.misc.share.editShareLinksPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch;" + +@Suppress("unused") +val sanitizeSharingLinksPatch = bytecodePatch( + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + editShareLinksPatch { index, register -> + addInstructions( + index, + """ + invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$register + """ + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt index 34b91a59c4..39e3e8cf5d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt @@ -9,3 +9,6 @@ internal const val PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION = "Removes the check internal const val PATCH_NAME_SANITIZE_SHARING_LINKS = "Sanitize sharing links" internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the tracking query parameters from shared links." + +internal const val PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN = "Change link sharing domain" +internal const val PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN = "Replaces the domain name of shared links." diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index 982fdb5a4f..db33e715b6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -6,6 +6,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption +import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappings @@ -29,8 +31,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/li @Suppress("unused") val changeLinkSharingDomainPatch = bytecodePatch( - name = "Change link sharing domain", - description = "Replaces the domain name of Twitter links when sharing them.", + name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN, + description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN ) { dependsOn( changeLinkSharingDomainResourcePatch, From 277a8b6b4752b0691d9455e1308450be9be46485 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 11:45:19 +0000 Subject: [PATCH 10/20] chore: Release v5.42.0-dev.14 [skip ci] # [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) ### Features * **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](https://github.com/ReVanced/revanced-patches/commit/20c413120bad97af6121718e76b22a1b5540aa44)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a48f5721ec..e7f0d56938 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) + + +### Features + +* **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](https://github.com/ReVanced/revanced-patches/commit/20c413120bad97af6121718e76b22a1b5540aa44)) + # [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 6293cff5ff..01b1b9f2e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.13 +version = 5.42.0-dev.14 From 2154d89242fd8d7f7460145d5d35a4f1986944a3 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:37:20 +0200 Subject: [PATCH 11/20] feat(Instagram): Add `Enable developer menu` patch (#6043) --- patches/api/patches.api | 4 ++ .../misc/devmenu/EnableDeveloperMenuPatch.kt | 37 +++++++++++++++++++ .../instagram/misc/devmenu/Fingerprints.kt | 12 ++++++ 3 files changed, 53 insertions(+) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index c12b7a9bd3..79abfd5ab7 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -280,6 +280,10 @@ public final class app/revanced/patches/instagram/hide/stories/HideStoriesKt { public static final fun getHideStoriesPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatchKt { + public static final fun getEnableDeveloperMenuPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/extension/SharedExtensionPatchKt { public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt new file mode 100644 index 0000000000..4f594478dd --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt @@ -0,0 +1,37 @@ +package app.revanced.patches.instagram.misc.devmenu + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.Utils.trimIndentMultiline +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionReversedOrThrow +import app.revanced.util.returnEarly +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +@Suppress("unused") +val enableDeveloperMenuPatch = bytecodePatch( + name = "Enable developer menu", + description = """ + Enables the developer menu, which can be found at the bottom of settings menu with name 'Internal Settings'. + + It is recommended to use this patch with an alpha/beta Instagram release. Patching a stable release works, but the developer menu shows the developer flags as numbers and does not show a human readable description. + """.trimIndentMultiline(), + use = false +) { + compatibleWith("com.instagram.android") + + execute { + with(clearNotificationReceiverFingerprint.method) { + indexOfFirstInstructionReversedOrThrow(clearNotificationReceiverFingerprint.stringMatches!!.first().index) { + val reference = getReference() + Opcode.INVOKE_STATIC == opcode && + reference?.parameterTypes?.size == 1 && + reference.parameterTypes.first() == "Lcom/instagram/common/session/UserSession;" && + reference.returnType == "Z" + }.let { index -> + navigate(this).to(index).stop().returnEarly(true) + } + } + } +} + diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt new file mode 100644 index 0000000000..8b84606f00 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt @@ -0,0 +1,12 @@ + +package app.revanced.patches.instagram.misc.devmenu + +import app.revanced.patcher.fingerprint + +internal val clearNotificationReceiverFingerprint = fingerprint { + custom { method, classDef -> + method.name == "onReceive" && + classDef.type == "Lcom/instagram/notifications/push/ClearNotificationReceiver;" + } + strings("NOTIFICATION_DISMISSED") +} From fe16433f20991129f98485eb6aa04f8f6c584686 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 12:42:11 +0000 Subject: [PATCH 12/20] chore: Release v5.42.0-dev.15 [skip ci] # [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) ### Features * **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](https://github.com/ReVanced/revanced-patches/commit/2154d89242fd8d7f7460145d5d35a4f1986944a3)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7f0d56938..0f23c7e465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) + + +### Features + +* **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](https://github.com/ReVanced/revanced-patches/commit/2154d89242fd8d7f7460145d5d35a4f1986944a3)) + # [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 01b1b9f2e2..adf346b95d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.14 +version = 5.42.0-dev.15 From f03256c471e1ee6a12267c1b56b531ca8f89278c Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:15:37 +0400 Subject: [PATCH 13/20] fix(YouTube - Spoof video streams): Add "Allow Android VR AV1" setting (#6071) --- .../shared/spoof/SpoofVideoStreamsPatch.java | 15 +++++---- .../patches/spoof/SpoofVideoStreamsPatch.java | 18 ++++++---- .../extension/youtube/settings/Settings.java | 8 +++++ ...oofStreamingDataSideEffectsPreference.java | 10 ++---- patches/api/patches.api | 5 --- .../misc/spoof/SpoofVideoStreamsPatch.kt | 18 ++++------ .../misc/spoof/SpoofVideoStreamsPatch.kt | 20 +++++++---- .../misc/spoof/SpoofVideoStreamsPatch.kt | 33 +++++++++---------- .../resources/addresources/values/arrays.xml | 4 +-- .../resources/addresources/values/strings.xml | 9 ++++- 10 files changed, 76 insertions(+), 64 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index a1de3d0bec..53664881b7 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -19,6 +19,14 @@ import app.revanced.extension.shared.spoof.requests.StreamingDataRequest; @SuppressWarnings("unused") public class SpoofVideoStreamsPatch { + + public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability { + @Override + public boolean isAvailable() { + return BaseSettings.SPOOF_VIDEO_STREAMS.get() && !preferredClient.useAuth; + } + } + /** * Domain used for internet connectivity verification. * It has an empty response body and is only used to check for a 204 response code. @@ -321,11 +329,4 @@ public class SpoofVideoStreamsPatch { return videoFormat; } - - public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability { - @Override - public boolean isAvailable() { - return BaseSettings.SPOOF_VIDEO_STREAMS.get() && !preferredClient.useAuth; - } - } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java index e9672d1fff..eaf2f3e14b 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java @@ -8,29 +8,35 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS; import java.util.List; +import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.shared.spoof.ClientType; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") public class SpoofVideoStreamsPatch { + public static final class SpoofClientAv1Availability implements Setting.Availability { + @Override + public boolean isAvailable() { + return Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.isAvailable() + && Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ANDROID_VR_1_43_32; + } + } + /** * Injection point. */ public static void setClientOrderToUse() { ClientType client = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - - if (Settings.FORCE_AVC_CODEC.get() && client == ANDROID_VR_1_61_48) { - // VR 1.61 uses VP9/AV1, and cannot force AVC. Use 1.43 instead. - client = ANDROID_VR_1_43_32; + if (client == ANDROID_VR_1_43_32 && Settings.SPOOF_VIDEO_STREAMS_AV1.get()) { + client = ANDROID_VR_1_61_48; } List availableClients = List.of( + ANDROID_CREATOR, ANDROID_VR_1_43_32, VISIONOS, - ANDROID_CREATOR, - ANDROID_VR_1_61_48, IPADOS); app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index e8c21aca17..d131cfee22 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -21,6 +21,7 @@ import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerT import static app.revanced.extension.youtube.patches.OpenShortsInRegularPlayerPatch.ShortsPlayerType; import static app.revanced.extension.youtube.patches.SeekbarThumbnailsPatch.SeekbarThumbnailsHighQualityAvailability; import static app.revanced.extension.youtube.patches.components.PlayerFlyoutMenuItemsFilter.HideAudioFlyoutMenuAvailability; +import static app.revanced.extension.youtube.patches.spoof.SpoofVideoStreamsPatch.SpoofClientAv1Availability; import static app.revanced.extension.youtube.patches.theme.ThemePatch.SplashScreenAnimationStyle; import static app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController.SponsorBlockDuration; import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.IGNORE; @@ -357,6 +358,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting SPOOF_DEVICE_DIMENSIONS = new BooleanSetting("revanced_spoof_device_dimensions", FALSE, true, "revanced_spoof_device_dimensions_user_dialog_message"); public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_43_32, true, parent(SPOOF_VIDEO_STREAMS)); + public static final BooleanSetting SPOOF_VIDEO_STREAMS_AV1 = new BooleanSetting("revanced_spoof_video_streams_av1", FALSE, true, + "revanced_spoof_video_streams_av1_user_dialog_message", new SpoofClientAv1Availability()); public static final BooleanSetting DEBUG_PROTOBUFFER = new BooleanSetting("revanced_debug_protobuffer", FALSE, false, "revanced_debug_protobuffer_user_dialog_message", parent(BaseSettings.DEBUG)); @@ -524,6 +527,11 @@ public class Settings extends BaseSettings { SPOOF_APP_VERSION.resetToDefault(); } + // VR 1.61 is not selectable in the settings, and it's selected by spoof stream patch if needed. + if (SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_VR_1_61_48) { + SPOOF_VIDEO_STREAMS_CLIENT_TYPE.resetToDefault(); + } + // RYD requires manually migrating old settings since the lack of // a "revanced_" on the old setting causes duplicate key exceptions during export. SharedPrefCategory revancedPrefs = Setting.preferences; diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java index 919aed6c61..bf66edbd4c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java @@ -87,13 +87,9 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference { summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") + '\n' + str("revanced_spoof_video_streams_about_no_av1") + '\n' + str("revanced_spoof_video_streams_about_no_force_original_audio"); - case ANDROID_VR_1_43_32 -> - summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") - + '\n' + str("revanced_spoof_video_streams_about_no_av1"); - case ANDROID_VR_1_61_48 -> - summary = str("revanced_spoof_video_streams_about_dropped_frames") - + '\n' + summary - + '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); + // VR 1.61 is not exposed in the UI and should never be reached here. + case ANDROID_VR_1_43_32, ANDROID_VR_1_61_48 -> + summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); case IPADOS -> summary = str("revanced_spoof_video_streams_about_playback_failure") + '\n' + str("revanced_spoof_video_streams_about_no_av1"); diff --git a/patches/api/patches.api b/patches/api/patches.api index 79abfd5ab7..d45ee2c762 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1026,11 +1026,6 @@ public final class app/revanced/patches/shared/misc/settings/preference/TextPref public fun serialize (Lorg/w3c/dom/Document;Lkotlin/jvm/functions/Function1;)Lorg/w3c/dom/Element; } -public final class app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatchKt { - public static final fun spoofVideoStreamsPatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; - public static synthetic fun spoofVideoStreamsPatch$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; -} - public final class app/revanced/patches/shared/misc/spoof/UserAgentClientSpoofPatchKt { public static final fun userAgentClientSpoofPatch (Ljava/lang/String;)Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt index b01f74ccab..93c2944804 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.music.misc.spoof -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch @@ -16,12 +15,13 @@ import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPref import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;" - val spoofVideoStreamsPatch = spoofVideoStreamsPatch( - fixMediaFetchHotConfigChanges = { true }, - fixMediaFetchHotConfigAlternativeChanges = { is_8_11_or_greater && !is_8_15_or_greater }, + extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", + mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, + fixMediaFetchHotConfig = { true }, + fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater }, fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater }, + block = { dependsOn( sharedExtensionPatch, @@ -38,6 +38,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) }, + executeBlock = { addResources("music", "misc.fix.playback.spoofVideoStreamsPatch") @@ -51,10 +52,5 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) ) - - musicActivityOnCreateFingerprint.method.addInstruction( - 0, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V" - ) } -) \ No newline at end of file +) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index c03e8022ce..7c1c58410d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,5 +1,6 @@ package app.revanced.patches.shared.misc.spoof +import app.revanced.patcher.Fingerprint import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels @@ -36,11 +37,13 @@ internal const val EXTENSION_CLASS_DESCRIPTOR = private lateinit var buildRequestMethod: MutableMethod private var buildRequestMethodUrlRegister = -1 -fun spoofVideoStreamsPatch( - block: BytecodePatchBuilder.() -> Unit = {}, - fixMediaFetchHotConfigChanges: BytecodePatchBuilder.() -> Boolean = { false }, - fixMediaFetchHotConfigAlternativeChanges: BytecodePatchBuilder.() -> Boolean = { false }, +internal fun spoofVideoStreamsPatch( + extensionClassDescriptor: String, + mainActivityOnCreateFingerprint: Fingerprint, + fixMediaFetchHotConfig: BytecodePatchBuilder.() -> Boolean = { false }, + fixMediaFetchHotConfigAlternative: BytecodePatchBuilder.() -> Boolean = { false }, fixParsePlaybackResponseFeatureFlag: BytecodePatchBuilder.() -> Boolean = { false }, + block: BytecodePatchBuilder.() -> Unit = {}, executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( name = "Spoof video streams", @@ -53,6 +56,11 @@ fun spoofVideoStreamsPatch( execute { addResources("shared", "misc.fix.playback.spoofVideoStreamsPatch") + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $extensionClassDescriptor->setClientOrderToUse()V" + ) + // region Enable extension helper method used by other patches patchIncludedExtensionMethodFingerprint.method.returnEarly(true) @@ -308,14 +316,14 @@ fun spoofVideoStreamsPatch( // region turn off stream config replacement feature flag. - if (fixMediaFetchHotConfigChanges()) { + if (fixMediaFetchHotConfig()) { mediaFetchHotConfigFingerprint.method.insertLiteralOverride( MEDIA_FETCH_HOT_CONFIG_FEATURE_FLAG, "$EXTENSION_CLASS_DESCRIPTOR->useMediaFetchHotConfigReplacement(Z)Z" ) } - if (fixMediaFetchHotConfigAlternativeChanges()) { + if (fixMediaFetchHotConfigAlternative()) { mediaFetchHotConfigAlternativeFingerprint.method.insertLiteralOverride( MEDIA_FETCH_HOT_CONFIG_ALTERNATIVE_FEATURE_FLAG, "$EXTENSION_CLASS_DESCRIPTOR->useMediaFetchHotConfigReplacement(Z)Z" diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt index 0131c9e599..2192f80162 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.youtube.misc.spoof -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.shared.misc.settings.preference.ListPreference import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference @@ -16,9 +15,20 @@ import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch;" - val spoofVideoStreamsPatch = spoofVideoStreamsPatch( + extensionClassDescriptor = "Lapp/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch;", + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + fixMediaFetchHotConfig = { + is_19_34_or_greater + }, + fixMediaFetchHotConfigAlternative = { + // In 20.14 the flag was merged with 20.03 start playback flag. + is_20_10_or_greater && !is_20_14_or_greater + }, + fixParsePlaybackResponseFeatureFlag = { + is_20_03_or_greater + }, + block = { compatibleWith( "com.google.android.youtube"( @@ -35,16 +45,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( versionCheckPatch ) }, - fixMediaFetchHotConfigChanges = { - is_19_34_or_greater - }, - fixMediaFetchHotConfigAlternativeChanges = { - // In 20.14 the flag was merged with 20.03 start playback flag. - is_20_10_or_greater && !is_20_14_or_greater - }, - fixParsePlaybackResponseFeatureFlag = { - is_20_03_or_greater - }, + executeBlock = { addResources("youtube", "misc.fix.playback.spoofVideoStreamsPatch") @@ -61,6 +62,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( summaryKey = null, tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference" ), + SwitchPreference("revanced_spoof_video_streams_av1"), ListPreference( key = "revanced_spoof_video_streams_language", // Language strings are declared in Setting patch. @@ -72,10 +74,5 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) ) - - mainActivityOnCreateFingerprint.method.addInstruction( - 0, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V" - ) } ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index b2fa4a885b..3faa7cdbeb 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -137,15 +137,13 @@ - Android VR 1.43 - Android VR 1.61 + Android VR Android Studio visionOS iPadOS ANDROID_VR_1_43_32 - ANDROID_VR_1_61_48 ANDROID_CREATOR VISIONOS IPADOS diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 0bdd13f864..2461191bbf 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1681,13 +1681,20 @@ Limitations: Slide to seek is not enabled + Allow Android VR AV1 + "Video codec is AVC (H.264), VP9, or AV1 + +Playback may stutter or drop frames" + Video codec is AVC (H.264) or VP9 + "Enabling this setting may use software AV1 decoding. + +Video playback with AV1 may stutter or drop frames." Spoofing side effects • Experimental client and may stop working anytime • Video may stop at 1:00, or may not be available in some regions • Audio track menu is missing • No AV1 video codec • Stable volume is not available - • Playback may stutter or drop frames • Kids videos may not play when logged out or in incognito mode • Force original audio is not available From bb222d7a26fb0641c47bda5af016fe908ca89a2a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 15:19:06 +0000 Subject: [PATCH 14/20] chore: Release v5.42.0-dev.16 [skip ci] # [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) ### Bug Fixes * **YouTube - Spoof video streams:** Add "Allow Android VR AV1" setting ([#6071](https://github.com/ReVanced/revanced-patches/issues/6071)) ([f03256c](https://github.com/ReVanced/revanced-patches/commit/f03256c471e1ee6a12267c1b56b531ca8f89278c)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f23c7e465..4942f73a77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Add "Allow Android VR AV1" setting ([#6071](https://github.com/ReVanced/revanced-patches/issues/6071)) ([f03256c](https://github.com/ReVanced/revanced-patches/commit/f03256c471e1ee6a12267c1b56b531ca8f89278c)) + # [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index adf346b95d..577bf84ab5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.15 +version = 5.42.0-dev.16 From 63be54dd0921ffff588334cbd2b0174772816d55 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:39:54 +0400 Subject: [PATCH 15/20] chore: Remove unneeded binary compatibility for code that was never released to main --- patches/api/patches.api | 4 ---- .../misc/privacy/SanitizeSharingLinksPatch.kt | 12 ------------ 2 files changed, 16 deletions(-) delete mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index d45ee2c762..c85acef50f 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -292,10 +292,6 @@ public final class app/revanced/patches/instagram/misc/links/OpenLinksExternally public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatchKt { - public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; -} - public final class app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatchKt { public static final fun getChangeLinkSharingDomainPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt deleted file mode 100644 index 9e5930af8c..0000000000 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.instagram.misc.privacy - -import app.revanced.patcher.patch.bytecodePatch - -@Deprecated( - "Patch was moved to a different package", - ReplaceWith("app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch") -) -@Suppress("unused") -val sanitizeSharingLinksPatch = bytecodePatch { - dependsOn(app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch) -} From f51b260d1d7d365e4dad047a39445279c4f8d907 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:40:18 +0400 Subject: [PATCH 16/20] chore: Sync translations (#6073) --- .../resources/addresources/values-ar-rSA/strings.xml | 9 ++++++++- .../resources/addresources/values-az-rAZ/strings.xml | 9 ++++++++- .../resources/addresources/values-be-rBY/strings.xml | 9 ++++++++- .../resources/addresources/values-bg-rBG/strings.xml | 9 ++++++++- .../resources/addresources/values-bn-rBD/strings.xml | 9 ++++++++- .../resources/addresources/values-cs-rCZ/strings.xml | 9 ++++++++- .../resources/addresources/values-da-rDK/strings.xml | 9 ++++++++- .../resources/addresources/values-de-rDE/strings.xml | 9 ++++++++- .../resources/addresources/values-el-rGR/strings.xml | 9 ++++++++- .../resources/addresources/values-es-rES/strings.xml | 7 ++++++- .../resources/addresources/values-et-rEE/strings.xml | 9 ++++++++- .../resources/addresources/values-fi-rFI/strings.xml | 9 ++++++++- .../resources/addresources/values-fil-rPH/strings.xml | 9 ++++++++- .../resources/addresources/values-fr-rFR/strings.xml | 9 ++++++++- .../resources/addresources/values-ga-rIE/strings.xml | 9 ++++++++- .../resources/addresources/values-hu-rHU/strings.xml | 9 ++++++++- .../resources/addresources/values-hy-rAM/strings.xml | 9 ++++++++- .../resources/addresources/values-in-rID/strings.xml | 9 ++++++++- .../resources/addresources/values-it-rIT/strings.xml | 9 ++++++++- .../resources/addresources/values-iw-rIL/strings.xml | 9 ++++++++- .../resources/addresources/values-ja-rJP/strings.xml | 9 ++++++++- .../resources/addresources/values-ko-rKR/strings.xml | 9 ++++++++- .../resources/addresources/values-lt-rLT/strings.xml | 9 ++++++++- .../resources/addresources/values-lv-rLV/strings.xml | 9 ++++++++- .../resources/addresources/values-nl-rNL/strings.xml | 9 ++++++++- .../resources/addresources/values-pl-rPL/strings.xml | 9 ++++++++- .../resources/addresources/values-pt-rBR/strings.xml | 9 ++++++++- .../resources/addresources/values-pt-rPT/strings.xml | 9 ++++++++- .../resources/addresources/values-ro-rRO/strings.xml | 9 ++++++++- .../resources/addresources/values-ru-rRU/strings.xml | 9 ++++++++- .../resources/addresources/values-sk-rSK/strings.xml | 9 ++++++++- .../resources/addresources/values-sl-rSI/strings.xml | 9 ++++++++- .../resources/addresources/values-sq-rAL/strings.xml | 9 ++++++++- .../resources/addresources/values-sr-rCS/strings.xml | 9 ++++++++- .../resources/addresources/values-sr-rSP/strings.xml | 9 ++++++++- .../resources/addresources/values-sv-rSE/strings.xml | 9 ++++++++- .../resources/addresources/values-th-rTH/strings.xml | 9 ++++++++- .../resources/addresources/values-tr-rTR/strings.xml | 9 ++++++++- .../resources/addresources/values-uk-rUA/strings.xml | 9 ++++++++- .../resources/addresources/values-vi-rVN/strings.xml | 9 ++++++++- .../resources/addresources/values-zh-rCN/strings.xml | 9 ++++++++- .../resources/addresources/values-zh-rTW/strings.xml | 9 ++++++++- 42 files changed, 334 insertions(+), 42 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 763ba32349..e05f29d234 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -1604,13 +1604,20 @@ Second \"item\" text" تم تعطيل التمرير للتقديم أو الترجيع + السماح لـ Android VR AV1 + "برنامج ترميز الفيديو هو AVC (H.264) أو VP9 أو AV1 + +قد يحدث تقطيع أو فقدان للإطارات أثناء التشغيل" + برنامج ترميز الفيديو هو AVC (H.264) أو VP9 + "قد يؤدي تمكين هذا الإعداد إلى استخدام فك ترميز AV1 برمجيًا. + +قد يتلعثم تشغيل الفيديو بتقنية AV1 أو يفقد بعض الإطارات." التأثيرات الجانبية للتزييف • عميل تجريبي وقد يتوقف عن العمل في أي وقت • قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق • قائمة المقطع الصوتي مفقودة • لا يوجد ترميز الفيديو AV1 • مستوى الصوت الثابت غير متاح - • قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات • قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي • فرض الصوت الأصلي غير متاح diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 457b64433c..f5362e7e39 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -1603,13 +1603,20 @@ Məhdudiyyətlər: Axtarmaq üçün sürüşdürmə aktiv deyil + Android VR AV1-ə icazə ver + "Video kodek AVC (H.264), VP9 və ya AV1-dir + +Oxutma kəsilə bilər və ya kadrlar atıla bilər" + Video kodek AVC (H.264) və ya VP9-dur + "Bu ayarı aktivləşdirmək proqram təminatı AV1 dekodlaşdırmasından istifadə edə bilər. + +AV1 ilə video oxutma kəsilə bilər və ya kadrlar atıla bilər." Saxtakarlıq yan təsirləri • Təcrübi qəbuledici və hər vaxt işləməyi dayandıra bilər • Video 01:00-da dayana bilər və ya bəzi bölgələrdə mövcud olmaya bilər • Səs treki menyusu çatışmır • AV1 video kodlayıcı yoxdur • Sabit səs yoxdur - • Oynatma qarışa bilər və ya kadrlar ötürülə bilər • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz • \"Orijinal səsi zorla\" əlçatmazdır diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 935ec76ca9..96a3e1206b 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -1605,13 +1605,20 @@ Second \"item\" text" Слайд для пошуку не ўключаны + Дазволіць Android VR AV1 + "Відэакодэк — AVC (H.264), VP9 або AV1 + +Праграмаванне можа заікацца або прапускаць кадры" + Відэакодэк — AVC (H.264) або VP9 + "Уключэнне гэтай налады можа выкарыстоўваць праграмнае дэкадаванне AV1. + +Прайграванне відэа з AV1 можа заікацца або прапускаць кадры." Пабочныя эфекты падробкі • Эксперыментальны кліент і можа спыніць працу ў любы час • Відэа можа спыніцца на 1:00, ці можа быць недаступным у некаторых рэгіёнах • Меню аўдыядарожкі адсутнічае • Няма відэакідавання AV1 • Стабільная гучнасць недаступная - • Прайграванне можа заікацца або прапускаць кадры • Дзіцячыя відэа могуць не прайгравацца ў стане выхаду з акаўнта або ў рэжыме інкогніта • Прымусовы арыгінальны аўдыё недаступны diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 3ebb4c4536..074bc17b64 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -1604,13 +1604,20 @@ Second \"item\" text" Слайд за превъртане е деактивиран + Разрешаване на Android VR AV1 + "Видеокодекът е AVC (H.264), VP9 или AV1 + +Възпроизвеждането може да заеква или да пропуска кадри" + Видеокодекът е AVC (H.264) или VP9 + "Разрешаването на тази настройка може да използва софтуерно AV1 декодиране. + +Възпроизвеждането на видео с AV1 може да заеква или да пропуска кадри." Странични ефекти от подменянето • Експериментален клиент и може да спре да работи по всяко време • Видеото може да спре на 1:00 или може да не е налично в някои региони • Менюто за аудиозаписи липсва • Без AV1 видео кодек • Стабилният звук не е наличен - • Възпроизвеждането може да заеква или да пропуска кадри • Детските видеоклипове може да не се възпроизвеждат, когато сте излезли от профила си или в режим \"инкогнито\" • Принудителният оригинален звук не е наличен diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 864d56a917..ed6a3d48e7 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -1600,13 +1600,20 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট ভিডিওর নির্দিষ্ট অংশে যেতে টানুন সক্রিয় করা হয়নি + অ্যান্ড্রয়েড VR AV1 অনুমতি দিন + "ভিডিও কোডেক হল AVC (H.264), VP9, অথবা AV1 + +প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে" + ভিডিও কোডেক হল AVC (H.264) অথবা VP9 + "এই সেটিংটি চালু করলে সফটওয়্যার AV1 ডিকোডিং ব্যবহার হতে পারে। + +AV1 সহ ভিডিও প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে।" স্পুফিংয়ের পার্শ্বপ্রতিক্রিয়া • পরীক্ষামূলক ক্লায়েন্ট এবং যেকোনো সময় কাজ করা বন্ধ করতে পারে • ভিডিও ১:০০ মিনিটে বন্ধ হতে পারে, অথবা কিছু অঞ্চলে উপলব্ধ নাও হতে পারে • অডিও ট্র্যাক মেনু অনুপস্থিত • কোনো AV1 ভিডিও কোডেক নেই • স্থিতিশীল ভলিউম উপলব্ধ নেই - • প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে • লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে • মূল অডিও জোরপূর্বক উপলব্ধ নেই diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index c500e47c5e..c061911e47 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -1604,13 +1604,20 @@ Omezení: Posun pro hledání není povolen + Povolit Android VR AV1 + "Video kodek je AVC (H.264), VP9 nebo AV1 + +Přehrávání se může zasekávat nebo přeskakovat snímky" + Video kodek je AVC (H.264) nebo VP9 + "Povolení tohoto nastavení může využívat softwarové dekódování AV1. + +Přehrávání videa s AV1 se může sekat nebo vypadávat snímky." Vedlejší účinky maskování • Experimentální klient a může kdykoli přestat fungovat • Video se může zastavit v 1:00 nebo nemusí být dostupné v některých oblastech • Chybí nabídka zvukových stop • Žádný video kodek AV1 • Stabilní hlasitost není k dispozici - • Přehrávání se může sekat nebo ztrácet snímky • Dětská videa se nemusí přehrávat, když jste odhlášení nebo v anonymním režimu • Vynutit původní zvuk není k dispozici diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 79182d6970..9ceec5b9cb 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -1606,13 +1606,20 @@ Begrænsninger: Dias til søgning er ikke aktiveret + Tillad Android VR AV1 + "Videocodec er AVC (H.264), VP9 eller AV1 + +Afspilning kan hakke eller miste billeder" + Videocodec er AVC (H.264) eller VP9 + "Aktivering af denne indstilling kan bruge software AV1-afkodning. + +Videoafspilning med AV1 kan hakke eller tabe billeder." Bivirkninger ved spoofing • Eksperimentel klient og kan stoppe med at fungere når som helst • Videoen kan stoppe ved 1:00, eller er muligvis ikke tilgængelig i visse regioner • Lydspormenu mangler • Intet AV1-videokodek • Stabil lydstyrke er ikke tilgængelig - • Afspilning kan hakke eller tabe billeder • Videoer til børn afspilles muligvis ikke, når du er logget ud eller i inkognitotilstand • Tving original lyd er ikke tilgængelig diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index b018f4faf2..a4e4f4dc1a 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -1601,13 +1601,20 @@ Einschränkungen: Slide zum Suchen ist nicht aktiviert + Android VR AV1 zulassen + "Video-Codec ist AVC (H.264), VP9 oder AV1 + +Die Wiedergabe kann stottern oder Frames verlieren" + Video-Codec ist AVC (H.264) oder VP9 + "Durch Aktivierung dieser Einstellung kann Software-AV1-Decodierung verwendet werden. + +Die Videowiedergabe mit AV1 kann stottern oder Bilder überspringen." Nebenwirkungen des Spoofings • Experimenteller Client und kann jederzeit aufhören zu funktionieren • Video kann um 1:00 Uhr stoppen oder ist möglicherweise in einigen Regionen nicht verfügbar • Audiotrack-Menü fehlt • Kein AV1-Videocodec • Stabile Lautstärke ist nicht verfügbar - • Die Wiedergabe kann stottern oder Bilder überspringen • Kinder-Videos werden möglicherweise nicht abgespielt, wenn du abgemeldet bist oder den Inkognito-Modus verwendest. • Originalton erzwingen ist nicht verfügbar diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 88f27c5b2f..8c1f816470 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -1603,13 +1603,20 @@ Second \"item\" text" Η χειρονομία συρσίματος για αναζήτηση στη γραμμή προόδου είναι απενεργοποιημένη + Να επιτρέπεται το Android VR AV1 + "Ο κωδικοποιητής βίντεο είναι AVC (H.264), VP9 ή AV1 + +Η αναπαραγωγή ενδέχεται να κολλήσει ή να χάσει καρέ" + Ο κωδικοποιητής βίντεο είναι AVC (H.264) ή VP9 + "Η ενεργοποίηση αυτής της ρύθμισης ενδέχεται να χρησιμοποιήσει αποκωδικοποίηση AV1 λογισμικού. + +Η αναπαραγωγή βίντεο με AV1 ενδέχεται να έχει διακοπές ή να χάνει καρέ." Παρενέργειες παραποίησης • Πειραματικός πελάτης και μπορεί να σταματήσει να λειτουργεί ανά πάσα στιγμή • Το βίντεο μπορεί να σταματήσει στο 1:00 ή να μην είναι διαθέσιμο σε ορισμένες περιοχές • Το μενού «Κομμάτι ήχου» λείπει • Δεν υπάρχει ο κωδικοποιητής βίντεο AV1 • Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη - • Η αναπαραγωγή μπορεί να κομπιάζει ή να χάνει καρέ • Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης • Ο εξαναγκασμός αρχικής γλώσσας ήχου δεν είναι διαθέσιμος diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 05998beab7..e2808ffe4b 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -1595,13 +1595,18 @@ Limitaciones: Slide to seek no está activado + Permitir Android VR AV1 + "El códec de video es AVC (H.264), VP9 o AV1 + +La reproducción puede tartamudear o perder fotogramas" + El códec de video es AVC (H.264) o VP9 + "Habilitar esta configuración puede usar la decodificación de software AV1.\n\nLa reproducción de video con AV1 puede tartamudear o perder fotogramas." Efectos secundarios de la falsificación • El cliente es experimental y puede dejar de funcionar en cualquier momento • El video puede detenerse en 1:00, o puede no estar disponible en algunas regiones • Falta el menú de la pista de audio • Sin códec de vídeo AV1 • Volumen estable no disponible - • La reproducción podría tartamudear o perder fotogramas • Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito • Forzar audio original no está disponible diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 3ceaec10d6..7072527635 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -1604,13 +1604,20 @@ Piirangud: Libistamine otsimiseks on keelatud + Luba Android VR AV1 + "Videokodek on AVC (H.264), VP9 või AV1 + +Taasesitus võib hakata kokutama või kaotada kaadreid" + Videokodek on AVC (H.264) või VP9 + "Selle seade lubamine võib kasutada tarkvara AV1 dekodeerimist. + +AV1-ga videotaasesitus võib hakitud olla või kaadreid vahele jätta." Võltsimise kõrvalmõjud • Eksperimentaalne klient ja võib igal ajal töötamast lakata • Video võib peatuda kell 1:00 või ei pruugi olla teatud piirkondades saadaval • Heliraja menüü puudub • Puuduv AV1 videokoodek • Stabiilne helitugevus pole saadaval - • Taasesitus võib katkendlik olla või kaadreid vahele jätta • Video lastele ei pruugi taasesitada, kui olete välja logitud või inkognito režiimis • Sunni algne heli pole saadaval diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 4f9b72353a..04220491f1 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -1604,13 +1604,20 @@ Rajoitukset: Kelaus liu\'uttamalla ei ole käytössä + Salli Android VR AV1 + "Videokoodekki on AVC (H.264), VP9 tai AV1 + +Toisto voi nykiä tai pudottaa kehyksiä" + Videokoodekki on AVC (H.264) tai VP9 + "Tämän asetuksen ottaminen käyttöön saattaa käyttää ohjelmistopohjaista AV1-dekoodausta. + +AV1-videon toisto saattaa pätkiä tai pudottaa kuvia." Naamioimisen sivuvaikutukset • Kokeellinen asiakasohjelma, joka saattaa lakata toimimasta milloin tahansa • Video saattaa pysähtyä aikaan 1:00, tai ei välttämättä ole saatavilla joillakin alueilla • Ääniraitavalikko puuttuu • Ei AV1-videokoodekkia • Tasainen äänenvoimakkuus ei ole käytettävissä - • Toisto saattaa pätkiä tai pudottaa kuvia • Lasten videot eivät ehkä toistu, kun olet kirjautunut ulos tai incognito-tilassa • Pakota alkuperäinen ääni ei ole käytettävissä diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index cce1c246a0..13a99b5af4 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -1602,13 +1602,20 @@ Mga Limitasyon: Hindi pinagana ang slide to seek + Payagan ang Android VR AV1 + "Ang video codec ay AVC (H.264), VP9, o AV1 + +Maaaring mag-stutter o mag-drop ng frames ang playback" + Ang video codec ay AVC (H.264) o VP9 + "Ang pagpapagana sa setting na ito ay maaaring gumamit ng software AV1 decoding. + +Maaaring mag-stutter o mag-drop ng frames ang pag-playback ng video na may AV1." Mga epekto ng pagpapanggap • Pang-eksperimentong kliyente at maaaring huminto sa paggana anumang oras • Maaaring huminto ang video sa 1:00, o maaaring hindi available sa ilang rehiyon • Nawawala ang menu ng audio track • Walang AV1 video codec • Hindi available ang stable volume - • Maaaring mag-stutter ang pag-playback o bumaba ang mga frame • Mga video ng mga bata ay maaaring hindi ma-play kapag naka-log out o nasa incognito mode • Ang Pilitin ang orihinal na audio ay hindi magagamit diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index ae8e618fa6..88b85b6265 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1605,13 +1605,20 @@ Limitations : Glisser pour rechercher est désactivé + Autoriser Android VR AV1 + "Le codec vidéo est AVC (H.264), VP9 ou AV1 + +La lecture peut saccader ou perdre des images" + Le codec vidéo est AVC (H.264) ou VP9 + "L'activation de ce paramètre peut utiliser le décodage AV1 logiciel. + +La lecture vidéo avec AV1 peut saccader ou perdre des images." Effets secondaires de la falsification • Client expérimental, peut cesser de fonctionner à tout moment • Les vidéos sont susceptibles de s\'arrêter à 1:00, ou de ne pas être disponibles dans certaines régions • Le menu Piste audio est absent • Codec vidéo AV1 indisponible • Le volume stable n\'est pas disponible - • Il est possible que la lecture soit saccadée ou que des images soient perdues • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée • Forcer la langue audio d\'origine n\'est pas disponible diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 7854cfb81d..6141389a05 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -1604,13 +1604,20 @@ Teorainneacha: Níl sleamhnán le lorg cumasaithe + Ceadaigh Android VR AV1 + "Is é an códac físeáin AVC (H.264), VP9, nó AV1 + +D'fhéadfadh go mbeadh fadhbanna le hathsheinm nó go gcaillfí frámaí" + Is é an códac físeáin AVC (H.264) nó VP9 + "Má chumasaítear an socrú seo, d'fhéadfadh sé díchódú bogearraí AV1 a úsáid. + +D'fhéadfadh athsheinm físe AV1 leacadh nó frámaí a scaoileadh." Fo-éifeachtaí a fhalsúa • Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith • Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe • Tá an roghchlár rian fuaime in easnamh • Níl aon cóideac físe AV1 • Níl toirt chobhsaí ar fáil - • D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh • Seans nach seinnfear físeáin do pháistí nuair a bhíonn siad logáilte amach nó i mód go hanaithnid • Níl an fuaim bhunaidh iallach ar fáil diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 058a2f9f85..bc71281b59 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -1601,13 +1601,20 @@ Korlátozások: A csúsztatás a kereséshez nincs engedélyezve + Android VR AV1 engedélyezése + "A videó kodek AVC (H.264), VP9 vagy AV1 + +A lejátszás akadozhat vagy képkockákat ejthet" + A videokodek AVC (H.264) vagy VP9 + "Ennek a beállításnak az engedélyezése szoftveres AV1 dekódolást használhat. + +Az AV1-es videólejátszás akadozhat vagy képkockákat ejthet." Hamisítás mellékhatásai • Kísérleti kliens, és bármikor leállhat • A videó megállhat 1:00-nál, vagy előfordulhat, hogy egyes régiókban nem elérhető • Hiányzik az hangsáv menü • Nincs AV1 videokodek • Stabil hangerő nem elérhető - • A lejátszás akadozhat vagy képkockákat dobhat. • A gyermekeknek szóló videók nem játszódnak le, ha a felhasználó kijelentkezett, vagy inkognitómódban van. • Eredeti hang kényszerítése nem érhető el diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index bb723e17cf..d4e4b4c862 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -1605,13 +1605,20 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Սահելը համար ընտրելը անջատված է + Թույլատրել Android VR AV1 + "Տեսակոդեկը AVC (H.264), VP9 կամ AV1 է + +Նվագարկումը կարող է կանգ առնել կամ կորցնել կադրեր" + Տեսակոդեկը AVC (H.264) կամ VP9 է + "Այս կարգավորումը միացնելը կարող է օգտագործել AV1 ծրագրային ապակոդավորում: + +AV1-ով տեսանյութի նվագարկումը կարող է ընդհատվել կամ կորցնել կադրեր:" Կեղծելու կողմնակի ազդեցություններ • Փորձնական հաճախորդ է և կարող է ցանկացած պահի դադարել աշխատել • Տեսանյութը կարող է դադարել 1:00-ին կամ հասանելի չլինել որոշ տարածաշրջաններում • Ձայնային ուղու մենյուն բացակայում է • Հեռացված բոլոր AV1 վիդեո կոդեկները • Կայուն ձայնի մակարդակը հասանելի չէ - • Նվագարկումը հնարավոր է ընդհատվի կամ բաց թողնի կադրեր Երեխաների տեսանյութերը կարող են չհամապատասխանել հետևյալ պահանջներին՝ եթե արտոնագրման խախտումներ կան։ • Բնօրինակ ձայնի պարտադրումը հասանելի չէ diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 54a548f0e7..db621a6735 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -1603,13 +1603,20 @@ Batasan: Geser untuk mencari tidak diaktifkan + Izinkan Android VR AV1 + "Codec video adalah AVC (H.264), VP9, atau AV1 + +Pemutaran mungkin tersendat atau kehilangan bingkai" + Codec video adalah AVC (H.264) atau VP9 + "Mengaktifkan pengaturan ini mungkin menggunakan decoding AV1 perangkat lunak. + +Pemutaran video dengan AV1 mungkin tersendat atau kehilangan bingkai." Efek samping pemalsuan • Klien eksperimental dan dapat berhenti berfungsi kapan saja • Video mungkin berhenti pada 1:00, atau mungkin tidak tersedia di beberapa wilayah • Menu trek audio tidak ada • Tidak ada codec video AV1 • Volume stabil tidak tersedia - • Pemutaran mungkin tersendat-sendat atau terjadi penurunan kualitas gambar • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran • Paksa audio asli tidak tersedia diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 65f0b05511..509208cec0 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -1603,13 +1603,20 @@ Limitazioni: Scorri per avanzare non è abilitato + Consenti Android VR AV1 + "Il codec video è AVC (H.264), VP9 o AV1 + +La riproduzione potrebbe subire interruzioni o perdere fotogrammi" + Il codec video è AVC (H.264) o VP9 + "Abilitando questa impostazione potrebbe essere utilizzata la decodifica AV1 via software. + +La riproduzione video con AV1 potrebbe rallentare o perdere fotogrammi." Effetti collaterali della falsificazione • Client sperimentale e potrebbe smettere di funzionare in qualsiasi momento • Il video potrebbe interrompersi all\'1:00, o potrebbe non essere disponibile in alcune regioni • Manca il menu delle tracce audio • Nessun codec video AV1 • Il volume stabile non è disponibile - • La riproduzione potrebbe scattare o perdere fotogrammi • I video dei bambini potrebbero non essere riprodotti quando si è disconnessi o in modalità di navigazione in incognito • L\'audio originale forzato non è disponibile diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 14b253e798..5bc713abba 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -1606,13 +1606,20 @@ Second \"item\" text" החלק כדי לדלג אינו מופעל + אפשר Android VR AV1 + "מקודד וידאו הוא AVC (H.264), VP9, או AV1 + +ההפעלה עשויה לגמגם או לדלג על פריימים" + מקודד וידאו הוא AVC (H.264) או VP9 + "הפעלת הגדרה זו עשויה להשתמש בפענוח תוכנה של AV1. + +הפעלת וידאו עם AV1 עלולה לגרום לגמגום או לדלוג על פריימים." תופעות לוואי של התחזות • לקוח ניסיוני ועשוי להפסיק לפעול בכל עת • הווידאו עשוי להיעצר בדקה 1:00, או ייתכן שלא יהיה זמין באזורים מסוימים • תפריט ערוץ השמע חסר • אין קודק וידאו מסוג AV1 • עוצמת קול יציבה אינה זמינה - • ההפעלה עלולה לגמגם או להפיל פריימים • ייתכן שסרטוני Kids לא יופעלו כשאתה מנותק או במצב פרטי • כפיית שמע מקורי אינה זמינה diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index c4084ad6eb..6bfffc2bc3 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -1606,13 +1606,20 @@ Automotive レイアウト スライドによるシークは無効です。プレーヤー画面を左右にスライドしても、前後にシークしません + Android VR AV1 を許可する + "ビデオコーデックはAVC (H.264)、VP9、またはAV1です + +再生中に途切れたり、フレームがドロップすることがあります" + ビデオコーデックはAVC (H.264) またはVP9です + "この設定を有効にすると、ソフトウェアAV1デコードが使用される可能性があります。 + +AV1での動画再生は、途切れたりフレームが落ちたりする場合があります。" 偽装による副作用 • 実験的なクライアントであり、いつでも動作しなくなる可能性がある • 動画が 01:00 で停止する、または一部の地域で利用できない可能性がある •「音声トラック」がフライアウト メニューに表示されない • AV1 コーデックが利用できない •「一定音量」が利用できない - • 再生がカクつく、またはコマ落ちが発生する場合がある • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 040d5e4cb9..cc83dbb368 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -1611,13 +1611,20 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 슬라이드하여 탐색을 비활성화합니다 + Android VR AV1 허용 + "비디오 코덱은 AVC (H.264), VP9 또는 AV1입니다 + +재생이 끊기거나 프레임이 떨어질 수 있습니다" + 비디오 코덱은 AVC (H.264) 또는 VP9입니다 + "이 설정을 활성화하면 소프트웨어 AV1 디코딩을 사용할 수 있습니다. + +AV1을 사용한 비디오 재생 시 끊김 또는 프레임 드롭이 발생할 수 있습니다." 변경에 따른 부작용 • 실험용 클라이언트이며 언제든지 작동이 중단될 수 있습니다 • 동영상이 1:00에 멈출 수 있으며, 일부 지역에서는 이용이 불가능할 수 있습니다 • 오디오 트랙 메뉴가 표시되지 않습니다 • AV1 코덱이 지원되지 않습니다 • 안정적인 볼륨을 사용할 수 없습니다 - • 재생이 끊기거나 프레임이 손실될 수 있습니다 • Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다 • 원본 오디오를 강제로 활성화할 수 없습니다 diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 0655defd0a..f9ec6a0321 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -1605,13 +1605,20 @@ Apribojimai: Slinkimas, kad ieškotumėte, neišjungtas + Leisti Android VR AV1 + "Vaizdo kodekas yra AVC (H.264), VP9 arba AV1 + +Gali strigti arba praleisti kadrus" + Vaizdo kodekas yra AVC (H.264) arba VP9 + "Įjungus šį nustatymą, gali būti naudojamas programinės įrangos AV1 dekodavimas. + +Vaizdo įrašo atkūrimas su AV1 gali strigti arba praleisti kadrus." Klastojimo šalutiniai efektai • Eksperimentinis klientas ir bet kada gali nustoti veikti • Vaizdo įrašas gali sustoti ties 1:00 arba gali būti nepasiekiamas kai kuriuose regionuose • Trūksta garso takelio meniu • Nėra AV1 vaizdo kodeko • Stabili garso apimtis nepasiekiama - • Atkūrimas gali strigti arba praleisti kadrus • Vaikų vaizdo įrašai gali būti neatkuriami, kai atsijungiama arba naudojamas inkognito režimas • Priverstinai naudoti originalų garsą nepasiekiama diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index c3d85901e0..3c7c46ff66 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -1605,13 +1605,20 @@ Ierobežojumi: Slīdēšana, lai meklētu, nav iespējota + Atļaut Android VR AV1 + "Video kodeks ir AVC (H.264), VP9 vai AV1 + +Atskaņošana var raustīties vai izlaist kadrus" + Video kodeks ir AVC (H.264) vai VP9 + "Šī iestatījuma iespējošana var izmantot programmatūras AV1 dekodēšanu. + +AV1 video atskaņošana var raustīties vai izlaist kadrus." Viltotu straumju blakusparādības • Eksperimentāls klients un jebkurā brīdī var pārtraukt darbu • Video var apstāties pulksten 1:00 vai nebūt pieejams dažos reģionos • Trūkst audio celiņa izvēlnes • Nav pieejams AV1 video kodeks • Nav pieejams stabils skaļums - • Atskaņošana var raustīties vai izlaist kadrus • Bērnu videoklipi var netikt atskaņoti, kad esat izrakstījies vai inkognito režīmā. • Piespiest oriģinālo skaņu nav pieejams diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index f8310b78a3..e04887afff 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -1602,13 +1602,20 @@ Beperkingen: Schuiven om te zoeken is niet ingeschakeld + Sta Android VR AV1 toe + "Videocodec is AVC (H.264), VP9 of AV1 + +Afspelen kan haperen of frames overslaan" + Videocodec is AVC (H.264) of VP9 + "Het inschakelen van deze instelling kan gebruikmaken van softwarematige AV1-decodering. + +Het afspelen van video met AV1 kan haperen of frames overslaan." Spoofing-neveneffecten • Experimentele client en kan elk moment stoppen met werken • Video kan stoppen om 1:00, of is mogelijk niet beschikbaar in sommige regio\'s • Audiotrack-menu ontbreekt • Geen AV1-videocodec • Stabiel volume is niet beschikbaar - • Het afspelen kan haperen of frames overslaan • \"Kinder\"​-Video’s worden mogelijk niet afgespeeld wanneer u bent uitgelogd of de incognitomodus gebruikt • Oorspronkelijke audio forceren is niet beschikbaar diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 6faa4a5450..9a08c81d02 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -1600,13 +1600,20 @@ Ograniczenia: Przesuń, aby przeszukiwać nie jest włączony + Zezwól na Android VR AV1 + "Kodek wideo to AVC (H.264), VP9 lub AV1 + +Odtwarzanie może się zacinać lub gubić klatki" + Kodek wideo to AVC (H.264) lub VP9 + "Włączenie tego ustawienia może używać programowego dekodowania AV1. + +Odtwarzanie wideo z AV1 może powodować zacinanie się lub gubienie klatek." Skutki uboczne fałszowania • Eksperymentalny klient i może przestać działać w każdej chwili • Wideo może zatrzymać się o 1:00 lub może być niedostępne w niektórych regionach • Brakuje menu ścieżek audio • Žádný video kodek AV1 • Stabilna głośność nie jest dostępna - • Odtwarzanie może się zacinać lub gubić klatki • Filmy dla dzieci mogą nie być odtwarzane po wylogowaniu lub w trybie incognito • Wymuś oryginalny dźwięk jest niedostępny diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index dab1f26cca..3b07fe7001 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -1601,13 +1601,20 @@ Limitações: Gesto na barra de busca está desativado + Permitir Android VR AV1 + "O codec de vídeo é AVC (H.264), VP9 ou AV1 + +A reprodução pode engasgar ou perder quadros" + O codec de vídeo é AVC (H.264) ou VP9 + "Ativar esta configuração pode usar decodificação de software AV1. + +A reprodução de vídeo com AV1 pode gaguejar ou perder quadros." Efeitos colaterais da falsificação • Cliente experimental e pode parar de funcionar a qualquer momento • O vídeo pode parar em 1:00, ou pode não estar disponível em algumas regiões • O menu da faixa de áudio está faltando • Sem codec de vídeo AV1 • Volume estável não está disponível - • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando estiver desconectado ou no modo de navegação anônima • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 51259330af..f974231f3e 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -1604,13 +1604,20 @@ Limitações: Deslize para procurar não está habilitado + Permitir Android VR AV1 + "O codec de vídeo é AVC (H.264), VP9 ou AV1 + +A reprodução pode gaguejar ou perder quadros" + O codec de vídeo é AVC (H.264) ou VP9 + "Ativar esta configuração pode usar descodificação AV1 por software. + +A reprodução de vídeo com AV1 pode apresentar soluços ou perder quadros." Efeitos colaterais da falsificação • Cliente experimental e pode parar de funcionar a qualquer momento • O vídeo pode parar em 1:00, ou pode não estar disponível em algumas regiões • O menu da faixa de áudio está faltando • Nenhum codec de vídeo AV1 • O volume estável não está disponível - • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando desconectado ou no modo anônimo • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 4d6570aadd..48bfb037e7 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -1601,13 +1601,20 @@ Limitări: Slide pentru a căuta nu este activat + Permite Android VR AV1 + "Codecul video este AVC (H.264), VP9 sau AV1 + +Redarea poate sacada sau pierde cadre" + Codecul video este AVC (H.264) sau VP9 + "Activarea acestei setări poate folosi decodarea software AV1. + +Redarea video cu AV1 poate sacada sau pierde cadre." Efecte secundare ale simulării • Client experimental și se poate opri din funcționare oricând • Videoclipul se poate opri la 1:00, sau poate să nu fie disponibil în unele regiuni • Meniul pistei audio lipsește • Fara codec video AV1 • Volumul stabil nu este disponibil - • Redarea poate sacada sau pierde cadre • Copiii nu pot urmări videoclipuri atunci când sunt deconectați sau în modul incognito • Forțarea sunetului original nu este disponibilă diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 76362f907d..7f2ba6f8ce 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -1611,13 +1611,20 @@ Second \"item\" text" Перемотка видео слайдом отключена (ускорение видео \"2x\" при нажатии и удержании включено) + Разрешить Android VR AV1 + "Видеокодек: AVC (H.264), VP9 или AV1 + +Воспроизведение может зависать или пропускать кадры" + Видеокодек: AVC (H.264) или VP9 + "Включение этой настройки может использовать программное декодирование AV1. + +Воспроизведение видео с AV1 может прерываться или пропускать кадры." Побочные эффекты подмены • Клиент экспериментальный и может перестать работать в любое время • Видео может остановиться на 1:00 или может быть недоступно в некоторых регионах • Пункт \"Звуковая дорожка\" отсутствует • Отсутствует видеокодек AV1 • Постоянный уровень громкости недоступен - • Воспроизведение может зависать или пропускать кадры • Видео для детей могут не воспроизводиться при выходе из системы или в режиме инкогнито • Принудительная оригинальная звуковая дорожка недоступна diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index a48be437db..15dd6f3a8b 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -1597,13 +1597,20 @@ Obmedzenia: Nie je povolené posúvanie + Povoliť Android VR AV1 + "Videokodek je AVC (H.264), VP9 alebo AV1 + +Prehrávanie sa môže sekať alebo môžu vypadávať snímky" + Videokodek je AVC (H.264) alebo VP9 + "Povolenie tohto nastavenia môže použiť softvérové AV1 dekódovanie. + +Prehrávanie videa s AV1 môže sekať alebo vynechávať snímky." Vedľajšie účinky podvrhnutia • Experimentálny klient a môže kedykoľvek prestať fungovať • Video sa môže zastaviť o 1:00, alebo nemusí byť dostupné v niektorých regiónoch • Chýba ponuka zvukovej stopy • Žiadny video kodek AV1 • Stabilná hlasitosť nie je dostupná - • Prehrávanie môže sekať alebo vynechávať snímky • Videá pre deti sa nemusia prehrávať, keď ste odhlásení alebo v režime inkognito • Vynútenie pôvodného zvuku nie je k dispozícii diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index f85bab4b27..c0b902a88a 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -1604,13 +1604,20 @@ Omejitve: Drsno iskanje ni omogočeno + Dovoli Android VR AV1 + "Video kodek je AVC (H.264), VP9 ali AV1 + +Predvajanje se lahko zatika ali izpušča sličice" + Video kodek je AVC (H.264) ali VP9 + "Omogočanje te nastavitve lahko uporablja programsko dekodiranje AV1. + +Predvajanje videa z AV1 se lahko zatika ali izpušča sličice." Stranski učinki ponarejanja • Eksperimentalni odjemalec in lahko kadar koli preneha delovati • Video se lahko ustavi ob 1:00, ali pa morda ne bo na voljo v nekaterih regijah • Meni z zvočnimi posnetki manjka • Brez kodeka videa AV1 • Stabilna glasnost ni na voljo - • Predvajanje se lahko zatika ali izpušča sličice • Posnetki za otroke se mogoče ne bodo predvajali, ko ste odjavljeni ali v načinu brez beleženja zgodovine • Vsili izvirni zvok ni na voljo diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index a7df4ef550..541bd7c657 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -1602,13 +1602,20 @@ Kufizimet: Rrëshqitja për kërkim nuk është e aktivizuar + Lejo Android VR AV1 + "Kodeku i videos është AVC (H.264), VP9, ose AV1 + +Luajtja mund të bllokojë ose të humbasë korniza" + Kodeku i videos është AVC (H.264) ose VP9 + "Aktivizimi i këtij cilësimi mund të përdorë dekodimin softuerik AV1. + +Luajtja e videos me AV1 mund të ngecë ose të humbasë korniza." Efektet anësore të falsifikimit • Klient eksperimental dhe mund të ndalojë së funksionuari në çdo kohë • Videoja mund të ndalojë në 1:00, ose mund të mos jetë e disponueshme në disa rajone • Menuja e gjurmës audio mungon • Nuk ka codec video AV1 • Volumi i qëndrueshëm nuk është i disponueshëm - • Riprodhimi mund të ndërpritet ose të humbasë kornizat • Video për fëmijë mund të mos luajnë kur jeni jashtë llogarisë ose në modalitetin incognito • Detyro audio origjinale nuk është i disponueshëm diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 9f4a490a1c..2a67499e80 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1603,13 +1603,20 @@ Ograničenja: Prevlaćenje za premotavanje nije omogućeno + Dozvoli Android VR AV1 + "Video kodek je AVC (H.264), VP9 ili AV1 + +Reprodukcija može da secka ili gubi okvire" + Video kodek je AVC (H.264) ili VP9 + "Omogućavanje ovog podešavanja može koristiti softversko AV1 dekodiranje. + +Reprodukcija video zapisa sa AV1 može seckati ili ispuštati frejmove." Neželjeni efekti lažiranja • Eksperimentalni klijent i može prestati da radi bilo kada • Video se može zaustaviti u 1:00 ili možda neće biti dostupan u nekim regionima • Meni „Audio snimak” nedostaje • Nema video kodeka AV1 • Opcija „Ujednačena jačina zvuka” nije dostupna - • Reprodukcija može zastajkivati ili preskakati kadrove • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja • Prisiljavanje originalnog zvuka nije dostupno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index b1198cc439..76d8678fe1 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1606,13 +1606,20 @@ Second \"item\" text" Превлачење за премотавање није омогућено + Дозволи Андроид VR AV1 + "Видео кодек је AVC (H.264), VP9 или AV1 + +Репродукција може сецкати или испуштати кадрове" + Видео кодек је AVC (H.264) или VP9 + "Омогућавање ове поставке може користити софтверско AV1 декодирање. + +Репродукција видеа са AV1 може успорити или испуштати кадрове." Нежељени ефекти лажирања • Експериментални клијент и може престати да ради било када • Видео се може зауставити на 1:00 или можда неће бити доступан у неким регионима • Мени „Аудио снимак” недостаје • Нема видео кодека AV1 • Опција „Уједначена јачина звука” није доступна - • Репродукција може застајкивати или прескакати кадрове • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања • Присиљавање оригиналног звука није доступно diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 662f075c1a..e5dbeb6714 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -1603,13 +1603,20 @@ Begränsningar: Dra för att söka är inaktiverat + Tillåt Android VR AV1 + "Videokodeken är AVC (H.264), VP9 eller AV1 + +Uppspelningen kan hacka eller tappa bildrutor" + Videokodeken är AVC (H.264) eller VP9 + "Aktivering av denna inställning kan använda programvarubaserad AV1-avkodning. + +Videouppspelning med AV1 kan hacka eller tappa bildrutor." Bieffekter av förfalskning • Experimentell klient och kan sluta fungera när som helst • Videor kan stanna vid 1:00 eller kanske inte är tillgängliga i vissa regioner • Menyn Ljudspår saknas • Ingen AV1-videokodek • Stabil volym är inte tillgängligt - • Uppspelningen kan hacka eller tappa bildrutor • Videor för barn kanske inte spelas upp när du är utloggad eller i inkognitoläge • Tvinga ursprungligt ljud är inte tillgängligt diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 9cb06ce49b..e67f747f5e 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -1606,13 +1606,20 @@ User id ของคุณเหมือนกับรหัสผ่าน เลื่อนเพื่อค้นหาไม่ได้เปิดใช้งาน + อนุญาต Android VR AV1 + "ตัวแปลงสัญญาณวิดีโอคือ AVC (H.264), VP9 หรือ AV1 + +การเล่นอาจกระตุกหรือเฟรมตก" + ตัวแปลงสัญญาณวิดีโอคือ AVC (H.264) หรือ VP9 + "การเปิดใช้งานการตั้งค่านี้อาจใช้ซอฟต์แวร์ถอดรหัส AV1 + +การเล่นวิดีโอด้วย AV1 อาจกระตุกหรือเฟรมตก" ผลข้างเคียงของการปลอมแปลง • ไคลเอนต์ทดลองและอาจหยุดทำงานได้ตลอดเวลา • วิดีโออาจหยุดที่ 1:00 หรืออาจไม่สามารถรับชมได้ในบางภูมิภาค • เมนูแทร็กเสียงหายไป • ไม่มีตัวแปลงสัญญาณวิดีโอ AV1 • ระดับเสียงคงที่ไม่พร้อมใช้งาน - • การเล่นอาจสะดุดหรือเฟรมตก • วิดีโอเด็กอาจไม่เล่นเมื่อลงชื่อออกหรืออยู่ในโหมดไม่ระบุตัวตน • บังคับใช้เสียงต้นฉบับไม่พร้อมใช้งาน diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 54dc3841b9..c5c12c3c0e 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -1611,13 +1611,20 @@ Sınırlamalar: Kaydırarak sardırma etkin değil + Android VR AV1\'e İzin Ver + "Video kodeği AVC (H.264), VP9 veya AV1'dir + +Oynatma takılabilir veya kare atlayabilir" + Video kodeği AVC (H.264) veya VP9\'dur + "Bu ayarı etkinleştirmek yazılım tabanlı AV1 kod çözmeyi kullanabilir. + +AV1 ile video oynatma takılabilir veya kare atlayabilir." Taklit yan etkileri • Deneysel istemci ve her an çalışmayı durdurabilir • Video 1:00\'da durabilir veya bazı bölgelerde kullanılamayabilir • Ses parçası menüsü eksik • AV1 video kodeği yok • Sabit ses mevcut değil - • Oynatma takılabilir veya kare atlayabilir • Çocuk videoları oturum açılmadığında veya gizli modda oynatılamayabilir • Orijinal sesi zorlama mevcut değil diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 44ecb133ff..1c7e081216 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -1603,13 +1603,20 @@ Second \"item\" text" Перемотку пересуванням вимкнено\n\nУвімкнено поведінку нового інтерфейсу прискорення \"2х >>\" при утриманні на екрані + Дозволити Android VR AV1 + "Відеокодек: AVC (H.264), VP9 або AV1 + +Відтворення може затинатися або пропускати кадри" + Відеокодек: AVC (H.264) або VP9 + "Увімкнення цього параметра може використовувати програмне декодування AV1. + +Відтворення відео з AV1 може заїкатися або пропускати кадри." Побічні ефекти підміни • Експериментальний клієнт, який може припинити працювати будь-якої миті • Відео може зупинитися на 1:00, або може бути недоступним у деяких регіонах • Пункт меню \"Звукова доріжка\" відсутній • Відеокодек AV1 відсутній • Пункт меню \"Стабілізувати гучність\" недоступний - • Відтворення може заїкатися або пропускати кадри • Відео для дітей можуть не відтворюватися, якщо вийти з облікового запису або перейти в анонімний режим • Примусово оригінальна мова звукової доріжки\" недоступна diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 5ff8a78233..419cf71025 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -1610,13 +1610,20 @@ Hạn chế: Vuốt để tua không được bật + Cho phép Android VR AV1 + "Bộ giải mã video là AVC (H.264), VP9 hoặc AV1 + +Quá trình phát có thể bị giật hoặc bỏ khung hình" + Bộ giải mã video là AVC (H.264) hoặc VP9 + "Bật cài đặt này có thể sử dụng giải mã AV1 bằng phần mềm. + +Phát lại video bằng AV1 có thể bị giật hoặc bỏ khung hình." Hạn chế khi giả mạo • Ứng dụng khách đang trong giai đoạn thử nghiệm và có thể ngừng hoạt động bất cứ lúc nào • Video có thể dừng ở 1:00, hoặc có thể không khả dụng ở một số khu vực • Trình đơn bản âm thanh bị thiếu • Không có codec video AV1 • Âm lượng ổn định không khả dụng - • Có thể gặp hiện tượng giật lag hoặc tụt fps khi phát video • Video dành cho trẻ em có thể không phát được khi đăng xuất hoặc ở chế độ ẩn danh • Buộc âm thanh gốc không khả dụng diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index ca23c4f56b..1f3c17fd65 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -1609,13 +1609,20 @@ Second \"item\" text" 滑动拖动进度条未启用 + 允许 Android VR AV1 + "视频编解码器为 AVC (H.264)、VP9 或 AV1 + +播放可能会卡顿或掉帧" + 视频编解码器为 AVC (H.264) 或 VP9 + "启用此设置可能会使用软件 AV1 解码。 + +使用 AV1 播放视频可能会卡顿或丢帧。" 欺骗的副作用 • 实验性客户端,可能随时停止工作 • 视频可能会在 1:00 停止,或者在某些地区可能无法播放 • 音轨菜单缺失 • 不支持 AV1 视频编解码器 • 稳定音量不可用 - • 播放可能会卡顿或掉帧 • 注销或使用无痕模式时,儿童视频可能无法播放 • 强制原始音频不可用 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 0622ca1897..ac8c7ea915 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -1614,13 +1614,20 @@ Second \"item\" text" 未啟用滑動預覽 + 允許 Android VR AV1 + "視訊轉碼器為 AVC (H.264)、VP9 或 AV1 + +播放可能會卡頓或掉幀" + 視訊轉碼器為 AVC (H.264) 或 VP9 + "啟用此設定可能會使用軟體 AV1 解碼。 + +AV1 視訊播放可能會卡頓或掉幀。" 欺騙的副作用 • 實驗性用戶端,隨時可能停止運作 • 影片可能會在 1:00 停止,或在某些地區無法播放 • 音軌選單遺失 • 沒有 AV1 影片解碼器 • 穩定音量無法使用 - • 播放可能會卡頓或掉幀 • 在登出或無痕模式下,兒童影片可能無法播放 • 強制原始音訊不可用 From bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:41:32 +0400 Subject: [PATCH 17/20] fix(YouTube - Force original audio): Change patch to default on (#6070) --- .../java/app/revanced/extension/youtube/settings/Settings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index d131cfee22..747a4f048f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -56,7 +56,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting ADVANCED_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_advanced_video_quality_menu", TRUE); public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE); public static final BooleanSetting FORCE_AVC_CODEC = new BooleanSetting("revanced_force_avc_codec", FALSE, true, "revanced_force_avc_codec_user_dialog_message"); - public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, true); + public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", TRUE, true); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2); public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE); From 64d22a9c31639e8df1be966269e448f8fb95b60f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 15:46:50 +0000 Subject: [PATCH 18/20] chore: Release v5.42.0-dev.17 [skip ci] # [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) ### Bug Fixes * **YouTube - Force original audio:** Change patch to default on ([#6070](https://github.com/ReVanced/revanced-patches/issues/6070)) ([bd4ba2d](https://github.com/ReVanced/revanced-patches/commit/bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4942f73a77..c0a4a57421 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) + + +### Bug Fixes + +* **YouTube - Force original audio:** Change patch to default on ([#6070](https://github.com/ReVanced/revanced-patches/issues/6070)) ([bd4ba2d](https://github.com/ReVanced/revanced-patches/commit/bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6)) + # [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 577bf84ab5..f85091c925 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.16 +version = 5.42.0-dev.17 From a50f3b5177808f07d84041c946caccb5a08ad387 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:21:12 +0300 Subject: [PATCH 19/20] feat(Custom branding): Add in-app settings to change icon and name (#6059) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../extension/shared/GmsCoreSupport.java | 28 +- .../shared/patches/CustomBrandingPatch.java | 136 ++++++ .../shared/settings/BaseSettings.java | 4 + .../preference/ReVancedAboutPreference.java | 22 +- patches/api/patches.api | 1 + .../layout/branding/CustomBrandingPatch.kt | 30 +- .../patches/music/misc/gms/Constants.kt | 2 + .../branding/BaseCustomBrandingPatch.kt | 434 +++++++++++++----- .../shared/layout/branding/Fingerprints.kt | 13 + .../shared/layout/theme/BaseThemePatch.kt | 2 +- .../patches/shared/misc/gms/Fingerprints.kt | 25 +- .../shared/misc/gms/GmsCoreSupportPatch.kt | 36 +- .../misc/spoof/SpoofVideoStreamsPatch.kt | 2 +- .../layout/branding/CustomBrandingPatch.kt | 59 +-- .../branding/header/ChangeHeaderPatch.kt | 20 +- .../hide/shorts/HideShortsComponentsPatch.kt | 5 +- .../patches/youtube/misc/gms/Constants.kt | 2 + .../kotlin/app/revanced/util/ResourceUtils.kt | 14 +- .../resources/addresources/values/arrays.xml | 88 ++++ .../resources/addresources/values/strings.xml | 25 +- .../revanced_header_logo_minimal_dark.png | Bin 3490 -> 3354 bytes .../revanced_header_logo_minimal_light.png | Bin 3101 -> 2986 bytes .../revanced_header_logo_minimal_dark.png | Bin 2240 -> 2126 bytes .../revanced_header_logo_minimal_light.png | Bin 1997 -> 1924 bytes .../revanced_header_logo_minimal_dark.png | Bin 4676 -> 4506 bytes .../revanced_header_logo_minimal_light.png | Bin 4216 -> 4048 bytes .../revanced_header_logo_minimal_dark.png | Bin 7648 -> 7384 bytes .../revanced_header_logo_minimal_light.png | Bin 6882 -> 6540 bytes .../revanced_header_logo_minimal_dark.png | Bin 7966 -> 7457 bytes .../revanced_header_logo_minimal_light.png | Bin 6895 -> 6735 bytes .../revanced_adaptive_background_minimal.xml | 2 + .../revanced_adaptive_background_rounded.xml | 2 + .../revanced_adaptive_background_scaled.xml | 2 + .../revanced_adaptive_foreground_minimal.xml | 36 ++ .../revanced_adaptive_foreground_rounded.xml | 50 ++ .../revanced_adaptive_foreground_scaled.xml | 36 ++ .../revanced_adaptive_monochrome_custom.xml} | 8 +- .../revanced_adaptive_monochrome_minimal.xml} | 8 +- .../revanced_adaptive_monochrome_rounded.xml | 22 + .../revanced_adaptive_monochrome_scaled.xml} | 0 .../revanced_launcher_custom.xml | 7 + .../revanced_launcher_minimal.xml | 7 + .../revanced_launcher_rounded.xml | 7 + .../revanced_launcher_scaled.xml | 7 + .../revanced_adaptive_background_custom.png | Bin 0 -> 94 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1276 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 92 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 858 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 98 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1747 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 108 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 2771 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 118 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 3930 bytes ...ube_music_2024_q4_background_color_108.png | Bin 98 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 1447 -> 0 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2876 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 92 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 943 -> 0 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1802 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 100 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 2000 -> 0 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 4077 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 108 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3163 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 6256 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 118 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4429 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8744 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 98 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 1447 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2876 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2876 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 92 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 943 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1802 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1802 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 100 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2000 -> 0 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 4077 -> 0 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 4077 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 108 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3163 -> 0 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 6256 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6256 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 118 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4429 -> 0 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8744 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8744 -> 0 bytes 89 files changed, 925 insertions(+), 217 deletions(-) create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml rename patches/src/main/resources/custom-branding/{youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_custom.xml} (90%) rename patches/src/main/resources/custom-branding/{youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_minimal.xml} (90%) create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml rename patches/src/main/resources/custom-branding/{music/drawable/ic_app_icons_themed_youtube_music.xml => drawable/revanced_adaptive_monochrome_scaled.xml} (100%) create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java index 978ee7131a..993634eaba 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java @@ -31,9 +31,6 @@ import app.revanced.extension.shared.ui.CustomDialog; @SuppressWarnings("unused") public class GmsCoreSupport { - private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube"; - private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music"; - private static final String GMS_CORE_PACKAGE_NAME = getGmsCoreVendorGroupId() + ".android.gms"; private static final Uri GMS_CORE_PROVIDER @@ -53,6 +50,20 @@ public class GmsCoreSupport { @Nullable private static volatile Boolean DONT_KILL_MY_APP_MANUFACTURER_SUPPORTED; + private static String getOriginalPackageName() { + return null; // Modified during patching. + } + + /** + * @return If the current package name is the same as the original unpatched app. + * If `GmsCore support` was not included during patching, this returns true; + */ + public static boolean isPackageNameOriginal() { + String originalPackageName = getOriginalPackageName(); + return originalPackageName == null + || originalPackageName.equals(Utils.getContext().getPackageName()); + } + private static void open(String queryOrLink) { Logger.printInfo(() -> "Opening link: " + queryOrLink); @@ -113,11 +124,10 @@ public class GmsCoreSupport { // Verify the user has not included GmsCore for a root installation. // GmsCore Support changes the package name, but with a mounted installation // all manifest changes are ignored and the original package name is used. - String packageName = context.getPackageName(); - if (packageName.equals(PACKAGE_NAME_YOUTUBE) || packageName.equals(PACKAGE_NAME_YOUTUBE_MUSIC)) { + if (isPackageNameOriginal()) { Logger.printInfo(() -> "App is mounted with root, but GmsCore patch was included"); - // Cannot use localize text here, since the app will load - // resources from the unpatched app and all patch strings are missing. + // Cannot use localize text here, since the app will load resources + // from the unpatched app and all patch strings are missing. Utils.showToastLong("The 'GmsCore support' patch breaks mount installations"); // Do not exit. If the app exits before launch completes (and without @@ -250,8 +260,8 @@ public class GmsCoreSupport { }; } - // Modified by a patch. Do not touch. private static String getGmsCoreVendorGroupId() { - return "app.revanced"; + // Modified during patching. + throw new IllegalStateException(); } } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java new file mode 100644 index 0000000000..79a4d54849 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java @@ -0,0 +1,136 @@ +package app.revanced.extension.shared.patches; + +import android.content.ComponentName; +import android.content.Context; +import android.content.pm.PackageManager; + +import java.util.ArrayList; +import java.util.List; + +import app.revanced.extension.shared.GmsCoreSupport; +import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; +import app.revanced.extension.shared.settings.BaseSettings; + +/** + * Patch shared by YouTube and YT Music. + */ +@SuppressWarnings("unused") +public class CustomBrandingPatch { + + // Important: In the future, additional branding themes can be added but all existing and prior + // themes cannot be removed or renamed. + // + // This is because if a user has a branding theme selected, then only that launch alias is enabled. + // If a future update removes or renames that alias, then after updating the app is effectively + // broken and it cannot be opened and not even clearing the app data will fix it. + // In that situation the only fix is to completely uninstall and reinstall again. + // + // The most that can be done is to hide a theme from the UI and keep the alias with dummy data. + public enum BrandingTheme { + /** + * Original unpatched icon. Must be first enum. + */ + ORIGINAL("revanced_original"), + ROUNDED("revanced_rounded"), + MINIMAL("revanced_minimal"), + SCALED("revanced_scaled"), + /** + * User provided custom icon. Must be the last enum. + */ + CUSTOM("revanced_custom"); + + public final String themeAlias; + + BrandingTheme(String themeAlias) { + this.themeAlias = themeAlias; + } + + private String packageAndNameIndexToClassAlias(String packageName, int appIndex) { + if (appIndex <= 0) { + throw new IllegalArgumentException("App index starts at index 1"); + } + return packageName + '.' + themeAlias + '_' + appIndex; + } + } + + /** + * Injection point. + * + * The total number of app name aliases, including dummy aliases. + */ + private static int numberOfPresetAppNames() { + // Modified during patching. + throw new IllegalStateException(); + } + + /** + * Injection point. + */ + @SuppressWarnings("ConstantConditions") + public static void setBranding() { + try { + if (GmsCoreSupport.isPackageNameOriginal()) { + Logger.printInfo(() -> "App is root mounted. Cannot dynamically change app icon"); + return; + } + + Context context = Utils.getContext(); + PackageManager pm = context.getPackageManager(); + String packageName = context.getPackageName(); + + BrandingTheme selectedBranding = BaseSettings.CUSTOM_BRANDING_ICON.get(); + final int selectedNameIndex = BaseSettings.CUSTOM_BRANDING_NAME.get(); + ComponentName componentToEnable = null; + ComponentName defaultComponent = null; + List componentsToDisable = new ArrayList<>(); + + for (BrandingTheme theme : BrandingTheme.values()) { + // Must always update all aliases including custom alias (last index). + final int numberOfPresetAppNames = numberOfPresetAppNames(); + + // App name indices starts at 1. + for (int index = 1; index <= numberOfPresetAppNames; index++) { + String aliasClass = theme.packageAndNameIndexToClassAlias(packageName, index); + ComponentName component = new ComponentName(packageName, aliasClass); + if (defaultComponent == null) { + // Default is always the first alias. + defaultComponent = component; + } + + if (index == selectedNameIndex && theme == selectedBranding) { + componentToEnable = component; + } else { + componentsToDisable.add(component); + } + } + } + + if (componentToEnable == null) { + // User imported a bad app name index value. Either the imported data + // was corrupted, or they previously had custom name enabled and the app + // no longer has a custom name specified. + Utils.showToastLong("Custom branding reset"); + BaseSettings.CUSTOM_BRANDING_ICON.resetToDefault(); + BaseSettings.CUSTOM_BRANDING_NAME.resetToDefault(); + + componentToEnable = defaultComponent; + componentsToDisable.remove(defaultComponent); + } + + for (ComponentName disable : componentsToDisable) { + // Use info logging because if the alias status become corrupt the app cannot launch. + Logger.printInfo(() -> "Disabling: " + disable.getClassName()); + pm.setComponentEnabledSetting(disable, + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); + } + + ComponentName componentToEnableFinal = componentToEnable; + Logger.printInfo(() -> "Enabling: " + componentToEnableFinal.getClassName()); + pm.setComponentEnabledSetting(componentToEnable, + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0); + } catch (Exception ex) { + Logger.printException(() -> "setBranding failure", ex); + } + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index 1eff30361d..3bc16e313c 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -2,6 +2,7 @@ package app.revanced.extension.shared.settings; import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; +import static app.revanced.extension.shared.patches.CustomBrandingPatch.BrandingTheme; import static app.revanced.extension.shared.settings.Setting.parent; import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability; @@ -40,4 +41,7 @@ public class BaseSettings { public static final BooleanSetting REPLACE_MUSIC_LINKS_WITH_YOUTUBE = new BooleanSetting("revanced_replace_music_with_youtube", FALSE); public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false); + + public static final EnumSetting CUSTOM_BRANDING_ICON = new EnumSetting<>("revanced_custom_branding_icon", BrandingTheme.ORIGINAL, true); + public static final IntegerSetting CUSTOM_BRANDING_NAME = new IntegerSetting("revanced_custom_branding_name", 1, true); } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java index be14e4a635..4f4d3ef928 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java @@ -5,6 +5,7 @@ import static app.revanced.extension.shared.Utils.dipToPixels; import static app.revanced.extension.shared.requests.Route.Method.GET; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; @@ -125,6 +126,8 @@ public class ReVancedAboutPreference extends Preference { { setOnPreferenceClickListener(pref -> { + Context context = pref.getContext(); + // Show a progress spinner if the social links are not fetched yet. if (!AboutLinksRoutes.hasFetchedLinks() && Utils.isNetworkConnected()) { // Show a progress spinner, but only if the api fetch takes more than a half a second. @@ -137,17 +140,18 @@ public class ReVancedAboutPreference extends Preference { handler.postDelayed(showDialogRunnable, delayToShowProgressSpinner); Utils.runOnBackgroundThread(() -> - fetchLinksAndShowDialog(handler, showDialogRunnable, progress)); + fetchLinksAndShowDialog(context, handler, showDialogRunnable, progress)); } else { // No network call required and can run now. - fetchLinksAndShowDialog(null, null, null); + fetchLinksAndShowDialog(context, null, null, null); } return false; }); } - private void fetchLinksAndShowDialog(@Nullable Handler handler, + private void fetchLinksAndShowDialog(Context context, + @Nullable Handler handler, Runnable showDialogRunnable, @Nullable ProgressDialog progress) { WebLink[] links = AboutLinksRoutes.fetchAboutLinks(); @@ -164,7 +168,17 @@ public class ReVancedAboutPreference extends Preference { if (handler != null) { handler.removeCallbacks(showDialogRunnable); } - if (progress != null) { + + // Don't continue if the activity is done. To test this tap the + // about dialog and immediately press back before the dialog can show. + if (context instanceof Activity activity) { + if (activity.isFinishing() || activity.isDestroyed()) { + Logger.printDebug(() -> "Not showing about dialog, activity is closed"); + return; + } + } + + if (progress != null && progress.isShowing()) { progress.dismiss(); } new WebViewDialog(getContext(), htmlDialog).show(); diff --git a/patches/api/patches.api b/patches/api/patches.api index c85acef50f..15b955acb8 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1919,6 +1919,7 @@ public final class app/revanced/util/ResourceUtilsKt { public static final fun forEachChildElement (Lorg/w3c/dom/Node;Lkotlin/jvm/functions/Function1;)V public static final fun insertFirst (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V public static final fun iterateXmlNodeChildren (Lapp/revanced/patcher/patch/ResourcePatchContext;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static final fun removeFromParent (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; } public final class app/revanced/util/resource/ArrayResource : app/revanced/util/resource/BaseResource { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt index 530e981303..6f0f460263 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -4,6 +4,10 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME +import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME +import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint +import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch @@ -50,24 +54,18 @@ private val disableSplashAnimationPatch = bytecodePatch { } } -private const val APP_NAME = "YT Music ReVanced" - @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YT Music ReVanced" to APP_NAME, - "Music ReVanced" to "Music ReVanced", - "Music" to "Music", - "YT Music" to "YT Music", - ), - resourceFolder = "custom-branding/music", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_music_2024_q4_background_color_108", - "adaptiveproduct_youtube_music_2024_q4_foreground_color_108", - "ic_launcher_release", - ), - monochromeIconFileNames = arrayOf("ic_app_icons_themed_youtube_music.xml"), + addResourcePatchName = "music", + originalLauncherIconName = "ic_launcher_release", + originalAppName = "@string/app_launcher_name", + originalAppPackageName = MUSIC_PACKAGE_NAME, + copyExistingIntentsToAliases = false, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, + mainActivityName = MUSIC_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME, + preferenceScreen = PreferenceScreen.GENERAL, block = { dependsOn(disableSplashAnimationPatch) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt index f4114a00b2..39dda22aa2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.music.misc.gms object Constants { + internal const val MUSIC_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.music.activities.MusicActivity" + internal const val REVANCED_MUSIC_PACKAGE_NAME = "app.revanced.android.apps.youtube.music" internal const val MUSIC_PACKAGE_NAME = "com.google.android.apps.youtube.music" } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt index d865b2081c..d8356aee03 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt @@ -1,173 +1,387 @@ package app.revanced.patches.shared.layout.branding +import app.revanced.patcher.Fingerprint +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.ResourcePatch import app.revanced.patcher.patch.ResourcePatchBuilder import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption +import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.ListPreference import app.revanced.util.ResourceGroup import app.revanced.util.Utils.trimIndentMultiline import app.revanced.util.copyResources +import app.revanced.util.findElementByAttributeValueOrThrow +import app.revanced.util.removeFromParent +import app.revanced.util.returnEarly +import org.w3c.dom.Element +import org.w3c.dom.Node +import org.w3c.dom.NodeList import java.io.File -import java.nio.file.Files import java.util.logging.Logger -private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. - -internal val mipmapDirectories = arrayOf( +private val mipmapDirectories = arrayOf( // Target app does not have ldpi icons. - "mdpi", - "hdpi", - "xhdpi", - "xxhdpi", - "xxxhdpi", -).map { "mipmap-$it" }.toTypedArray() + "mipmap-mdpi", + "mipmap-hdpi", + "mipmap-xhdpi", + "mipmap-xxhdpi", + "mipmap-xxxhdpi" +) -private fun formatResourceFileList(resourceNames: Array) = resourceNames.joinToString("\n") { "- $it" } +private val iconStyleNames = arrayOf( + "rounded", + "minimal", + "scaled" +) -/** - * Attempts to fix unescaped and invalid characters not allowed for an Android app name. - */ -private fun escapeAppName(name: String): String? { - // Remove ASCII control characters. - val cleanedName = name.filter { it.code >= 32 } +private const val ORIGINAL_USER_ICON_STYLE_NAME = "original" +private const val CUSTOM_USER_ICON_STYLE_NAME = "custom" - // Replace invalid XML characters with escaped equivalents. - val escapedName = cleanedName - .replace("&", "&") // Must be first to avoid double-escaping. - .replace("<", "<") - .replace(">", ">") - .replace(Regex("(?, - resourceFolder: String, - iconResourceFileNames: Array, - monochromeIconFileNames: Array, - block: ResourcePatchBuilder.() -> Unit = {}, + addResourcePatchName: String, + originalLauncherIconName: String, + originalAppName: String, + originalAppPackageName: String, + copyExistingIntentsToAliases: Boolean, + numberOfPresetAppNames: Int, + mainActivityOnCreateFingerprint: Fingerprint, + mainActivityName: String, + activityAliasNameWithIntents: String, + preferenceScreen: BasePreferenceScreen.Screen, + block: ResourcePatchBuilder.() -> Unit, executeBlock: ResourcePatchContext.() -> Unit = {} ): ResourcePatch = resourcePatch( name = "Custom branding", - description = "Applies a custom app name and icon. Defaults to \"$defaultAppName\" and the ReVanced logo.", - use = false, + description = "Adds options to change the app icon and app name. " + + "Branding cannot be changed for mounted (root) installations." ) { - val iconResourceFileNamesPng = iconResourceFileNames.map { "$it.png" }.toTypedArray() - - val appName by stringOption( - key = "appName", - default = defaultAppName, - values = appNameValues, + val customName by stringOption( + key = "customName", title = "App name", - description = "The name of the app.", + description = "Custom app name." ) - val iconPath by stringOption( - key = "iconPath", - default = REVANCED_ICON, - values = mapOf("ReVanced Logo" to REVANCED_ICON), - title = "App icon", + val customIcon by stringOption( + key = "customIcon", + title = "Custom icon", description = """ - The icon to apply to the app. + Folder with images to use as a custom icon. - If a path to a folder is provided, the folder must contain the following folders: - - ${formatResourceFileList(mipmapDirectories)} - - Each of these folders must contain the following files: - - ${formatResourceFileList(iconResourceFileNamesPng)} + The folder must contain one or more of the following folders, depending on the DPI of the device: + ${mipmapDirectories.joinToString("\n") { "- $it" }} - Optionally, a 'drawable' folder with the monochrome icon files: - - ${formatResourceFileList(monochromeIconFileNames)} - """.trimIndentMultiline(), + Each of the folders must contain all of the following files: + ${USER_CUSTOM_ADAPTIVE_FILE_NAMES.joinToString("\n")} + + Optionally, the path can contain a 'drawable' folder with the monochrome icon file: + $USER_CUSTOM_MONOCHROME_NAME + """.trimIndentMultiline() ) block() + dependsOn( + addResourcesPatch, + bytecodePatch { + execute { + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setBranding()V" + ) + + numberOfPresetAppNamesExtensionFingerprint.method.returnEarly(numberOfPresetAppNames) + } + } + ) + + finalize { + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + if (setOrGetFallbackPackageName(originalAppPackageName) == originalAppPackageName) { + if (useCustomName || useCustomIcon) { + Logger.getLogger(this::class.java.name).warning( + "Custom branding does not work with root installation. No changes applied." + ) + } + return@finalize + } + + preferenceScreen.addPreferences( + if (useCustomName) { + ListPreference( + key = "revanced_custom_branding_name", + entriesKey = "revanced_custom_branding_name_custom_entries", + entryValuesKey = "revanced_custom_branding_name_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_name") + }, + if (useCustomIcon) { + ListPreference( + key = "revanced_custom_branding_icon", + entriesKey = "revanced_custom_branding_icon_custom_entries", + entryValuesKey = "revanced_custom_branding_icon_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_icon") + } + ) + } + execute { - val mipmapIconResourceGroups = mipmapDirectories.map { directory -> - ResourceGroup( - directory, - *iconResourceFileNamesPng, + addResources("shared", "layout.branding.baseCustomBrandingPatch") + addResources(addResourcePatchName, "layout.branding.customBrandingPatch") + + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + iconStyleNames.forEach { style -> + copyResources( + "custom-branding", + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$style.xml" + ), + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$style.xml" + ) ) } - val iconPathTrimmed = iconPath!!.trim() - if (iconPathTrimmed == REVANCED_ICON) { - // Replace mipmap icons with preset patch icons. - mipmapIconResourceGroups.forEach { groupResources -> - copyResources(resourceFolder, groupResources) - } + // Copy template user icon, because the aliases must be added even if no user icon is provided. + copyResources( + "custom-branding", + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ), + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ) + ) - // Replace monochrome icons. - monochromeIconFileNames.forEach { fileName -> - copyResources( - resourceFolder, - ResourceGroup("drawable", fileName) + // Copy template icon png files. + mipmapDirectories.forEach { dpi -> + copyResources( + "custom-branding", + ResourceGroup( + dpi, + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + ) + ) + } + + if (useCustomIcon) { + // Copy user provided files + val iconPathFile = File(customIcon!!.trim()) + + if (!iconPathFile.exists()) { + throw PatchException( + "The custom icon path cannot be found: " + iconPathFile.absolutePath ) } - } else { - val filePath = File(iconPathTrimmed) + + if (!iconPathFile.isDirectory) { + throw PatchException( + "The custom icon path must be a folder: " + iconPathFile.absolutePath + ) + } + + val sourceFolders = iconPathFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + iconPathFile.absolutePath) + val resourceDirectory = get("res") + var copiedFiles = false - // Replace - mipmapIconResourceGroups.forEach { groupResources -> - val groupResourceDirectoryName = groupResources.resourceDirectoryName - val fromDirectory = filePath.resolve(groupResourceDirectoryName) - val toDirectory = resourceDirectory.resolve(groupResourceDirectoryName) + // For each source folder, copy the files to the target resource directories. + sourceFolders.forEach { dpiSourceFolder -> + val targetDpiFolder = resourceDirectory.resolve(dpiSourceFolder.name) + if (!targetDpiFolder.exists()) return@forEach - groupResources.resources.forEach { iconFileName -> - Files.write( - toDirectory.resolve(iconFileName).toPath(), - fromDirectory.resolve(iconFileName).readBytes(), - ) + val customFiles = dpiSourceFolder.listFiles { file -> + file.isFile && file.name in USER_CUSTOM_ADAPTIVE_FILE_NAMES + }!! + + if (customFiles.size > 0 && customFiles.size != USER_CUSTOM_ADAPTIVE_FILE_NAMES.size) { + throw PatchException("Must include all required icon files " + + "but only found " + customFiles.map { it.name }) + } + + customFiles.forEach { imgSourceFile -> + val imgTargetFile = targetDpiFolder.resolve(imgSourceFile.name) + imgSourceFile.copyTo(target = imgTargetFile, overwrite = true) + + copiedFiles = true } } - // Copy all monochrome icons if provided. - monochromeIconFileNames.forEach { fileName -> - val replacementMonochrome = filePath.resolve("drawable").resolve(fileName) - if (replacementMonochrome.exists()) { - Files.write( - resourceDirectory.resolve("drawable").resolve(fileName).toPath(), - replacementMonochrome.readBytes(), - ) - } + // Copy monochrome if it provided. + val monochromeRelativePath = "drawable/$USER_CUSTOM_MONOCHROME_NAME" + val monochromeFile = iconPathFile.resolve(monochromeRelativePath) + if (monochromeFile.exists()) { + monochromeFile.copyTo( + target = resourceDirectory.resolve(monochromeRelativePath), + overwrite = true + ) + copiedFiles = true + } + + if (!copiedFiles) { + throw PatchException("Could not find any replacement images in " + + "patch option path: " + iconPathFile.absolutePath) } } - // Change the app name. - escapeAppName(appName!!)?.let { escapedAppName -> - val newValue = "android:label=\"$escapedAppName\"" + document("AndroidManifest.xml").use { document -> + // Create launch aliases that can be programmatically selected in app. + fun createAlias( + aliasName: String, + iconMipmapName: String, + appNameIndex: Int, + useCustomName: Boolean, + enabled: Boolean, + intents: NodeList + ): Element { + val label = if (useCustomName) { + if (customName == null) { + "Custom" // Dummy text, and normally cannot be seen. + } else { + customName!! + } + } else if (appNameIndex == 1) { + // Indexing starts at 1. + originalAppName + } else { + "@string/revanced_custom_branding_name_entry_$appNameIndex" + } + val alias = document.createElement("activity-alias") + alias.setAttribute("android:name", aliasName) + alias.setAttribute("android:enabled", enabled.toString()) + alias.setAttribute("android:exported", "true") + alias.setAttribute("android:icon", "@mipmap/$iconMipmapName") + alias.setAttribute("android:label", label) + alias.setAttribute("android:targetActivity", mainActivityName) - val manifest = get("AndroidManifest.xml") - val original = manifest.readText() - val replacement = original - // YouTube - .replace("android:label=\"@string/application_name\"", newValue) - // YT Music - .replace("android:label=\"@string/app_launcher_name\"", newValue) + // Copy all intents from the original alias so long press actions still work. + if (copyExistingIntentsToAliases) { + for (i in 0 until intents.length) { + alias.appendChild( + intents.item(i).cloneNode(true) + ) + } + } else { + val intentFilter = document.createElement("intent-filter").apply { + val action = document.createElement("action") + action.setAttribute("android:name", "android.intent.action.MAIN") + appendChild(action) - if (original == replacement) { - Logger.getLogger(this::class.java.name).warning( - "Could not replace manifest app name" + val category = document.createElement("category") + category.setAttribute("android:name", "android.intent.category.LAUNCHER") + appendChild(category) + } + alias.appendChild(intentFilter) + } + + return alias + } + + val intentFilters = document.childNodes.findElementByAttributeValueOrThrow( + "android:name", + activityAliasNameWithIntents + ).childNodes + + val application = document.getElementsByTagName("application").item(0) as Element + + for (appNameIndex in 1 .. numberOfPresetAppNames) { + fun aliasName(name: String): String = ".revanced_" + name + '_' + appNameIndex + + val useCustomNameLabel = (useCustomName && appNameIndex == numberOfPresetAppNames) + + // Original icon. + application.appendChild( + createAlias( + aliasName = aliasName(ORIGINAL_USER_ICON_STYLE_NAME), + iconMipmapName = originalLauncherIconName, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = (appNameIndex == 1), + intentFilters + ) + ) + + // Bundled icons. + iconStyleNames.forEachIndexed { index, style -> + application.appendChild( + createAlias( + aliasName = aliasName(style), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + style, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) + ) + } + + // User provided custom icon. + // + // Must add all aliases even if the user did not provide a custom icon of their own. + // This is because if the user installs with an option, then repatches without the option, + // the alias must still exist because if it was previously enabled and then it's removed + // the app will become broken and cannot launch. Even if the app data is cleared + // it still cannot be launched and the only fix is to uninstall the app. + // To prevent this, always include all aliases and use dummy data if needed. + application.appendChild( + createAlias( + aliasName = aliasName(CUSTOM_USER_ICON_STYLE_NAME), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + CUSTOM_USER_ICON_STYLE_NAME, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) ) } - manifest.writeText(replacement) + // Remove the main action from the original alias, otherwise two apps icons + // can be shown in the launcher. Can only be done after adding the new aliases. + intentFilters.findElementByAttributeValueOrThrow( + "android:name", + "android.intent.action.MAIN" + ).removeFromParent() } - executeBlock() // Must be after the main code to rename the new icons for YouTube 19.34+. + executeBlock() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt new file mode 100644 index 0000000000..c46cb1a883 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.shared.layout.branding + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal val numberOfPresetAppNamesExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("I") + parameters() + custom { method, classDef -> + method.name == "numberOfPresetAppNames" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt index de070fb89f..40fb779806 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt @@ -79,7 +79,7 @@ internal val darkThemeBackgroundColorOption = stringOption( */ internal fun baseThemePatch( extensionClassDescriptor: String, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {} ) = bytecodePatch( name = "Theme", diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt index b5f613d541..27eebb8ab0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt @@ -1,16 +1,11 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.fingerprint +import app.revanced.patches.shared.misc.gms.EXTENSION_CLASS_DESCRIPTOR import com.android.tools.smali.dexlib2.AccessFlags const val GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME = "getGmsCoreVendorGroupId" -internal val gmsCoreSupportFingerprint = fingerprint { - custom { _, classDef -> - classDef.endsWith("GmsCoreSupport;") - } -} - internal val googlePlayUtilityFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("I") @@ -28,3 +23,21 @@ internal val serviceCheckFingerprint = fingerprint { parameters("L", "I") strings("Google Play Services not available") } + +internal val gmsCoreSupportFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { method, classDef -> + method.name == "getGmsCoreVendorGroupId" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} + +internal val originalPackageNameExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { methodDef, classDef -> + methodDef.name == "getOriginalPackageName" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt index ef8743fda4..fb773457f8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt @@ -1,10 +1,18 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.Fingerprint -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.instructions import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction -import app.revanced.patcher.patch.* +import app.revanced.patcher.patch.BytecodePatchBuilder +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.patch.Option +import app.revanced.patcher.patch.Patch +import app.revanced.patcher.patch.ResourcePatchBuilder +import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.patch.stringOption import app.revanced.patches.all.misc.packagename.changePackageNamePatch import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName import app.revanced.patches.all.misc.resources.addResources @@ -12,7 +20,8 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.shared.misc.gms.Constants.ACTIONS import app.revanced.patches.shared.misc.gms.Constants.AUTHORITIES import app.revanced.patches.shared.misc.gms.Constants.PERMISSIONS -import app.revanced.util.* +import app.revanced.util.getReference +import app.revanced.util.returnEarly import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction21c import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -23,6 +32,8 @@ import com.android.tools.smali.dexlib2.util.MethodUtil import org.w3c.dom.Element import org.w3c.dom.Node +internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/GmsCoreSupport;" + private const val PACKAGE_NAME_REGEX_PATTERN = "^[a-z]\\w*(\\.[a-z]\\w*)+\$" /** @@ -201,19 +212,18 @@ fun gmsCoreSupportPatch( googlePlayUtilityFingerprint.method.returnEarly(0) } + // Set original and patched package names for extension to use. + originalPackageNameExtensionFingerprint.method.returnEarly(fromPackageName) + // Verify GmsCore is installed and whitelisted for power optimizations and background usage. - mainActivityOnCreateFingerprint.method.apply { - addInstructions( - 0, - "invoke-static/range { p0 .. p0 }, Lapp/revanced/extension/shared/GmsCoreSupport;->" + - "checkGmsCore(Landroid/app/Activity;)V", - ) - } + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->" + + "checkGmsCore(Landroid/app/Activity;)V" + ) // Change the vendor of GmsCore in the extension. - gmsCoreSupportFingerprint.classDef.methods - .single { it.name == GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME } - .replaceInstruction(0, "const-string v0, \"$gmsCoreVendorGroupId\"") + gmsCoreSupportFingerprint.method.returnEarly(gmsCoreVendorGroupId!!) executeBlock() } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 7c1c58410d..7395c3983d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -43,7 +43,7 @@ internal fun spoofVideoStreamsPatch( fixMediaFetchHotConfig: BytecodePatchBuilder.() -> Boolean = { false }, fixMediaFetchHotConfigAlternative: BytecodePatchBuilder.() -> Boolean = { false }, fixParsePlaybackResponseFeatureFlag: BytecodePatchBuilder.() -> Boolean = { false }, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( name = "Spoof video streams", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index ca028c4388..2294ef9b20 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -1,38 +1,28 @@ package app.revanced.patches.youtube.layout.branding import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch -import app.revanced.patches.shared.layout.branding.mipmapDirectories -import java.nio.file.Files - -private const val APP_NAME = "YouTube ReVanced" - -private val youtubeIconResourceFileNames_19_34 = mapOf( - "adaptiveproduct_youtube_foreground_color_108" to "adaptiveproduct_youtube_2024_q4_foreground_color_108", - "adaptiveproduct_youtube_background_color_108" to "adaptiveproduct_youtube_2024_q4_background_color_108", -) +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_MAIN_ACTIVITY_NAME +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_PACKAGE_NAME +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YouTube ReVanced" to APP_NAME, - "YT ReVanced" to "YT ReVanced", - "YT" to "YT", - "YouTube" to "YouTube", - ), - resourceFolder = "custom-branding/youtube", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_background_color_108", - "adaptiveproduct_youtube_foreground_color_108", - "ic_launcher", - "ic_launcher_round", - ), - monochromeIconFileNames = arrayOf( - "adaptive_monochrome_ic_youtube_launcher.xml", - "ringo2_adaptive_monochrome_ic_youtube_launcher.xml" - ), + addResourcePatchName = "youtube", + originalLauncherIconName = "ic_launcher", + originalAppName = "@string/application_name", + originalAppPackageName = YOUTUBE_PACKAGE_NAME, + copyExistingIntentsToAliases = true, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + mainActivityName = YOUTUBE_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = "com.google.android.youtube.app.honeycomb.Shell\$HomeActivity", + preferenceScreen = PreferenceScreen.GENERAL_LAYOUT, block = { + dependsOn(sharedExtensionPatch) + compatibleWith( "com.google.android.youtube"( "19.34.42", @@ -41,20 +31,5 @@ val customBrandingPatch = baseCustomBrandingPatch( "20.14.43", ) ) - }, - - executeBlock = { - val resourceDirectory = get("res") - - mipmapDirectories.forEach { directory -> - val targetDirectory = resourceDirectory.resolve(directory) - - youtubeIconResourceFileNames_19_34.forEach { (old, new) -> - val oldFile = targetDirectory.resolve("$old.png") - val newFile = targetDirectory.resolve("$new.png") - - Files.write(newFile.toPath(), oldFile.readBytes()) - } - } } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt index fa02fcc296..26a10aacf2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -136,8 +136,21 @@ val changeHeaderPatch = resourcePatch( ) if (custom != null) { - val sourceFolders = File(custom!!).listFiles { file -> file.isDirectory } - ?: throw PatchException("The provided path is not a directory: $custom") + val customFile = File(custom!!) + if (!customFile.exists()) { + throw PatchException("The custom icon path cannot be found: " + + customFile.absolutePath + ) + } + + if (!customFile.isDirectory) { + throw PatchException("The custom icon path must be a folder: " + + customFile.absolutePath) + } + + val sourceFolders = customFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + customFile.absolutePath) val customResourceFileNames = getLightDarkFileNames(CUSTOM_HEADER_RESOURCE_NAME) @@ -166,7 +179,8 @@ val changeHeaderPatch = resourcePatch( } if (!copiedFiles) { - throw PatchException("No custom header images found in the provided path: $custom") + throw PatchException("No custom header images found in " + + "the provided path: " + customFile.absolutePath) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index f94b27099b..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -27,6 +27,7 @@ import app.revanced.util.forEachLiteralValueInstruction import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.indexOfFirstLiteralInstruction +import app.revanced.util.removeFromParent import app.revanced.util.returnLate import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.MethodReference @@ -127,7 +128,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsAppShortcut == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } @@ -138,7 +139,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsWidget == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt index c532c57d4a..19f0454bad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.youtube.misc.gms internal object Constants { + internal const val YOUTUBE_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.app.watchwhile.MainActivity" + const val YOUTUBE_PACKAGE_NAME = "com.google.android.youtube" const val REVANCED_YOUTUBE_PACKAGE_NAME = "app.revanced.android.youtube" } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt index 61d7be3502..b2d8ba287f 100644 --- a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt @@ -14,6 +14,13 @@ import java.nio.file.StandardCopyOption private val classLoader = object {}.javaClass.classLoader +/** + * Removes a node from its parent. + * + * @return The node that was removed (object this method was called on). + */ +fun Node.removeFromParent() : Node = parentNode.removeChild(this) + /** * Returns a sequence for all child nodes. */ @@ -70,8 +77,13 @@ fun ResourcePatchContext.copyResources( for (resourceGroup in resources) { resourceGroup.resources.forEach { resource -> val resourceFile = "${resourceGroup.resourceDirectoryName}/$resource" + val stream = inputStreamFromBundledResource(sourceResourceDirectory, resourceFile) + if (stream == null) { + throw IllegalArgumentException("Could not find resource: $resourceFile " + + "in directory: $sourceResourceDirectory") + } Files.copy( - inputStreamFromBundledResource(sourceResourceDirectory, resourceFile)!!, + stream, targetResourceDirectory.resolve(resourceFile).toPath(), StandardCopyOption.REPLACE_EXISTING, ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index 3faa7cdbeb..980f0c20c5 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -1,5 +1,33 @@ + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + @string/revanced_custom_branding_icon_entry_5 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + CUSTOM + + @string/revanced_language_DEFAULT @@ -123,6 +151,36 @@ + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR @@ -135,6 +193,36 @@ + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 2461191bbf..1b464b3829 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -19,6 +19,19 @@ Second \"item\" text" --> + + App name + + Custom + App icon + Original + ReVanced + + ReVanced minimal + ReVanced scaled + + Custom + Checks failed Open official website @@ -1484,13 +1497,18 @@ Swipe to expand or close" The accent color of the seekbar Invalid seekbar color value + + YouTube ReVanced + YT ReVanced + YT + Header logo Default Regular Premium ReVanced - + ReVanced minimal Custom @@ -1708,6 +1726,11 @@ Video playback with AV1 may stutter or drop frames." + + YT Music ReVanced + Music ReVanced + Music + About Ads diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index c2995578d9904564df539bb0c396aecc217b3d07..bf0c300aabcf468b11a15ffa63cc768ef2f01e45 100644 GIT binary patch delta 3352 zcmV+z4d?Qr8=4xBBYzCxNklF}lRNph3)ZUux5z!rFJlr(A5Du~PK?d|QU{C^i=z(8PNU;qrhC5-(q zgf|g}!RSdaI5?OD#WOySK>TBb8}N76prD`>%Fhl124K+1fQbm7NCvM-E)M+t7F-VI zP<}!fFpvPo+XH-N!T5EF0?(f@Q%v;r^>tSa82CwifTS?mjrs+kPY}tICl}#q_!GGm z0|w%`FOUU>dw)Y6#lJb#a$m!DsHnt87%%|i%nT!aWW5OV&km}yT|tRYFkm1cARrKi zd7X*iM~LA)m|cl4Fkk@d_H{o>1bmqUU*x>MzrUMeYZx#9V{G*!MZhT>XozsKVgW>y z0Q8HAi3v1A-|N?}J1XB8qTJXz-o1P0t0xZ;dB^4v?SEDbX!Wf-? z=`84Mt0mDuJ+lGCLT+wugzFO&loZc_J~GK2bPe>TfTTg>=j%tVuC9dg$&$#_`a>*q zmb}jsust!K)q%Ss71zFbfNJkI$ZZ3I$RG#c%jiI8lJB!6)awu1VTbWM83G} zAZ?6;5Js3uyOX7RiojE2q%Vv3Ip8kvD7Xn617_8++^MKhcL^z7bEzCReAX7i`U5-& zih4JK6Tm_mWtIZ_s?176c2QAL?eQFn{C_8j=p>&11{>%wyu3(15#d(#op*w>F_@IK zFe}<4U43vFxF0+Mt^#`@E=WhcCBV7hZty7Dy&7RF@Ynbtgrj<$WNdL#h71|#{rmTH z_}F3c_w}d6)tAtgCfjLk!*#T&@n#Ce3=!;;oR)?xC4rJ9OOltDmu{z7+*3a2YazkjwkL`$3Qq(536r8;@rQkqPuC@egTcJJOz9v&XT zxOJBgMx#C1zJU-r%0iGv zQG4)NBd`G25IoKDeg;#qyltgjsk{n9czAeDX@u*|@=hZLbvf1@OPp5fk|CVMT|(es zP6+CfrXM&M?{L9{K{>Jf4S%Kh&)_`N-A7&OL`m_jVucOvmEwK_tAT~U&Zzqdi#rcG zvU+PtdA}h2M9dz-mum{{wz&{sbor#&K=&5vh7B8p0a1>enJG=G0@SztWy+Vc0R<-Z zre{x|(bcP030F2^ooqei4s#=&LRf+zBf_jIGlNCsX&8TRU}Yo$-+!~X-5O^A&smzG zEPpESGm9G{wQ&FwSd?fNi^~M|6o!Sk6(-(qEGzdN7%U4x-nEjJZI_85R;2&_`)?vV zALk-KP?qP1AR4py2ym`iZW(FNm~PU4VM2nDS75Wj9zJ6rs44p$NOQubLV!^hvgQy? zEO)9`uTBCpXUrf+Cx1uEoTV(ex_MB?jvYv#XV0GG;^JcMm5UZSg%Ayffe|XhHKyBg ztc*rd+;CMyxnhY?Jquqt;d#3>)$eC<2c%fISEESu|%RXXU@=@H*Y9Snl$9;=|aA~K6L*41$y=B6{Sv{ zTFeO63ZeeDI7dKQfnib^W27_@s-QTcCBwPQkNt%c&Emqrw9K%-$Uclba*O<8goa^! zA_-Et88n3O9DjkQj@_ze>gQFY&%4H9YjYd#PqaA_jFAu}qWHG9nzyj@S|c^;C}dM1 z!0^(+=srucg6^%<4jnp>K%YK+NZ3KGTD3@E+O%oHskZvM1%y^k=Zp{qeo>7ki~tEO zO*n3INI&@Ys~rj`*;HP+p9R$0q;J_w zwofB(xA<_NHq2Tfh*3XVwruqFE#6f{g$fnmFL-{ zn14-5Qw#hIUIUkaWlZgqNK3S}(sHSWR(dr)ooq)u;orar4@vE9B;{=^Z9>dc z^Olu%jl`_xCkbe{+TPRPbTKHfayRpOfrirH!}ynj&-eI}|`2BL`pUtT8@^|0pd|#^S(a~k z>U`&gQodmDy3V{^O)Mj4lTHYc*-8jvR%iqvSZ%;U47g7u?jni5tzH(P9V0DV`tn4l zzGa;@gQb(F+ZSx~4HF};^yNB={D0sVjW6UqILg8~Ks{n$Ge}zv;bf2xy|{CYpe7eO zW{k}It`U2mcN#*-CzaXGM4Hh;fEsNG1E&hnn#h+7TxG_9?}E*=ep!gPNnoT#-Ya}- z7<5%^1UrnzCv5OjO+Fhufe`$3+~cD1>O?muua?zriiwZ|Y8qpW5!~!l75MdU$XnSKp^8 zHYI9G#>&fX1U6CArqbw}OkjWTPrUbL@Ne~OBfE}Wq{83`FjVcYp$$zX+l#S-L_yK<_B|gA_0T|_2808QD;XcBDm3RaL1`@$2 z*Fp?Gawa&3pMV-aV~k%g0EgENM!NHRi$N{_Dwbr)m3RyT#(x45s$PlyF3TaYWeWx? z@f`*Xz)**ZyFcG*c2I>SxY+oo;SKz34s=0qr!ZhEX9)fuhMa=9s(&d4eqtDcr~)J2 zgfNW%uQ@9DnSdZS{%CMN^0tOk?4n|dpsK2> is;a80s;a80ssMoJArU<2+t3jJ00002J_~ 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 P00000NkvXXu0mjf0{ol; diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 9bd381fc75fd7e54e72e939c9487bd8b3de5e1fd..7434d79a54dde9383a4efb3b4dc22dce8e72beff 100644 GIT binary patch delta 2952 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 delta 3068 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 delta 2228 zcmV;l2ut_Q5Wo?TB!7oVL_t(|0qntn00000fS~=U7pVdO0001h*|iGTNOC259A@V1 zznL5bmzkM)kC~a7nVFfHnVFfHd6~mW{a4a!sbqCJxo9G3qH*+OyIihrS3OftdLWgR zm8BOK7gy!y=Z{oqxwN!2qn8gmmeSJF(u<0U_C~;;M*c4#D1VDW%fJ%gS?Xl=vf;;4 zVPWCE2<~qsB_#rwz!M|{+qM2D`W(;;h8|10#3P`OIe`y`Aq2{gNB61_oBde`;)e`o zx4^z17Zem^N1q2`X=9M!m2MNj0IP|>)~m3&2@pjowhElA!Lz}HOmcH`rLYKjVZI;G zMjhz7M8Ilrs(;_JL}a7(_Vz5~*%pv>Ya0=f4beA;b~f!mXA^Cw-bT?FBgb!>Mbvm+ zUS2r@*QootB|v$3xr8giQjnJ~m1QB>x^#1~P+1|`R7Z6!5ooIs1o@x)JPf1=_#0RW ztOnKqYei%g^3Q?eOrW|-f@f*(B0n9-Phq2)M$jHc$ z2@@vB;$=%^@|f}R!l={a$643OS2L~@g_d6&b-GL*HC|L_;>3yC$M1Y_k64|9+$s^>GKE2y`*Bd;?A8sxOqn6?qdsqxxIdwqPIz8U1H#?DsS9|*a+Mkhf; zYLO2Fas%{oRi~+`saD@3An@tX8$kaQ0n0g#xqlHO0Rq?G2F@ZeF;NaY@IcX2RZ}hJ zO}tzl-|1!GCAnbIl~P$%CGGe-_~3&jAt9l|t0OR=BN8+>HxG5%ih(8$bh42T0$vxB zxCMmhtc_9rhVs*_O%Uxkt`fhaEspkf0e&*Jn$Z3d@~{cOxu`D&E&`sky1*^&z6{y^ zz<t&!KE8{)71-4PhdWume7Rh7 z`2`X#=qFe0{()S*$A?l;*k3NV^julFa;3nAt{NR)8PUFL011XW%+E(#qa}gPEI4yL zWov;CfYq%3fGnMMFQM!M=Xq~Zek1D(g?|Zl>rwyRIQkhNBnr2gP4rH$YcX+cD`HsfHm6Tm;WQQS3Ltce<`*gL%?1j&Ow^PdGAvGv{`EZq3i(4_6CH@Z-(<8LxKH(>%G;2xHv_E!-n0e_bJgIyB1 zh>MGp>#n;_mMvQ*+1VMAm6a|_moAkXZn#0)y7C3_5I+*oA?@x>L6>bk;ZwK21SINz zVr<_@*;A}P&iZ3UXA1`1wbO3SDV78;I$PEP%GdDbaR5!M0@6D2HOBgO7sk>D*vr^U zcYOD3PpkyfJNb&+wEgzm%c4b#L{qg zfLGWPxpB}%z&KzUFcBCD4AC=#(O*PzE#ql^G5hZ6T^G^zI%P|N^MFafSfJG<0pIZ@ z=l$og|7y0Q$hv>&|v)|pvXB0$IL z%yzC`YrWZToLNSD>FDR}-_y+vVmD!ONdSG91oI6E5|M|@WIord7`vkF7vOnb^^Wvr zILh1DXQO^839%vaN`GNO+bN!&UMK0d$dZ7E!xuZ-64KMtW%%&n;-!%zN2-kNf#-pj zeXc$w+~@UNG0w;{fn{|3t;R_^nv?Rk(0K&;&&E+ZIplcGIn}@AwSE8n_i-8+I`VN~ zN8o&_x+J)c{a@~Y1Z#jC%I-EMUPYfLylsxx#?83j|7i|~kAFk&Rr8*&=t@O<4+@i( zf$M-36!i!R=92`0$j;7|qmMpXjydKSEqC=7#RYy}3;`htCc2+@%|NT|70h0{ydZ!8 zhx(B0Ku6ELoooj*J48`J{9son)Ngi4WVak1X!9sbf!-s2=M|vB%;sudLtVYcfJ|pX zyx^nPz~X|Q_VKBd7r|?>hs5rJHd^#+xF6St+(C`0UnLj;RNJ&B7a_?Wd#3Z zQ0000m_yX5ERS5UY$-fI9}D=#lknHibNEy`DFewNY-vICe8EDNm5%~h~{ znXaK3HgSUIBP_;JEW>g$KLPh52menl#}a&v?(k-NEXG`vBVO}17UNpPE)?tLV5b2Z zK+Vm~8nyklYALPOQMKFZ;OY?p%mR zLHG&X5U=?L!dM% z6?wguCHy$e4}!F>eA2eOS0Vf~2G*oq5KY8a@6W)ojwB`w#gNU#YgTQU8ql zTW6njw%8`@Eh9hU@Gwnq5xn^g!gc0#8cbt=^_U8w1C1cg9uQWc7;dhEFdE&k89E_j z8h<(SC-U^AR$6=-h| z=VAzRQ4KfGL3q=;Ls$agP_wKX{_yzOaVut+5Egac0?pknuF~QHXaSbXog< z4PgTMBORwe#$L!pN08><1)b=yE?R%Ij#q{57=#5IVkEf46e^@XefsE*JMPdAKYXjy zj69{L=jprezR_KG-4$5JHjzex%fd84C)T0eOlACzzMg-`UpNvc;{-ejVV-r%^nWIV z7tQNxbV2aLP8|-yt#}73A)MoBf_BgOy%926kcoB($HUHEsD%$FKm+PMks<~ zuo+~GfSn6A#7MAnG@lXpd_KMU>Z^L{si*YB6Hn;%*IyUQqI!&sUBWcM9Vo}9_z=P` zaMJ^0Abf;j*aIXnURs9VZ(;W&4>{r#IlG@ zV2)i9<%MAzWY`yzPe7Q09Jo0bH)3drd+84_2f}`E^Cg7a;bt?ejIs$TtR@&`mQ9B6 ziPey`n1~-R6ayf1;V8Iiz<&cc7^&!sDG=U+nIBaZ5UzloPaupzFSD!)s~{}E>-YgO9)g_%K+j(Lz#1&6!^8K0WhYay((PHU$^#+SGoe}6&7?Xhlxy`yOY z3M!rn1TY`%CyM(x!Sg$WYhcF@8OOrSHkbf;JdED3(;u>Y06R690a<>>hn{B_heB9` zEV!wJjGf@-8ni=}x!4_U((y9n@hAGj&Yh6Q5(xKfh))oIinb9DZ3Fyl&gsE20De@! zn^yQy2Ro_Q3m4%u41YwhbVD0Pz>jixQ-I@e84iRG1@NO34#|ffZRiO%J`9B)S+G-u z6L1L*K|X?|8K>bQ?1nxFmPVX~^DqRJ@MAN?Hryo);QF8)rjYB;9HYH}r;$z~arbfZ z5z&96DEv2!XsV-}MB?|mg%q-DeZE}cHW0@+(TV#c8etU09Byrj8uh!M=@>?UZJmuH ziSR{{6pDH-#+o7r#X4ae&2RyC4XMt?mqebVfQF*-kccB_;Ax{gm;{@r>;E z?eWamMx6#a*A7nJHL>H%vn~+j+c+=Um?kUV1Q0@v#*2C0F77vKxZsmxHrH%l_XV zPZ7U0#cUSy-0xFUQxk&kXv<4Gn&1Pg0h*23MC|KB_SqgSD8X4^BE^$kOx7tWDM@MR z{7p;ohHYjHV}IR^z-%zt&mm)w;1Z9HXij30fN=Oq0+JAdmYQhmbp|fU$;mksuF^gS zps32p$x&|CT%{(bs36;;ysR#^hIMIdV@$(XyAjO3DrtuQ^KsaBP>#LWhy7-G6;>hv z|4SyL0-vHS+&Kp2*p6(p)Vzvv%tYWqvF5u!24Z7lRexGqs_naW>X_jrdS~bqtvdNG z{dVGVp<(∓L9t(2|BRWo2dJIo{3>7Wg>qcaR@nA_Ps%2*@aaJNH2N25rz%^BII? zfxHP6LZQ~VuLM$3Qp60QjT<-Wp(h{Fg`N}j_xW$>+q0e(8kR5eoTLXHe@L4*Zx-Vl z*!wX1Tz}6oycP3H2>(Hm(G$~A58*VplYxH7cNH@P8z9^PJDso&!dTe(e+)o3FEdDc zL|N;zF&KsLm!r@ho#88C=#Jiqhp)6pkr@|-cOWc6U_#+~*@d%(g@x&c8*Y$D;lGMB zr);TSzVLm#r+G&&S3zN+>iKumO*bhtG}Py%BY%4PX@aqE=V!<@<)z?p9EOY^aV(tN z2jK(Q83-BwHtTxh3&`>_PJokBunkXR1!^GUV`RZjF}{L~D!dL4?A(HNkg*Fhy)@y; z_!Tm?VrRgcfY0%ZeO(dIAmZdsyLa!_f~E76o7z(=F8f9+FaK6u(|T#%;@K)MFBkg| zvww!qOGdU|;-?A5!JQu<%rcLotj3Vpz8*p?`j~O2LO6tUIGF|E543>?b&#{_KOiHpO+cYW`@1X*2?^2E zsZ&)|RjKr>B%OZrQk`+ka;0S^>G0u0ntwihx){^geSQHNUVr1fiSe|cz&Uf6XcW`YU+njkSTQ67&+)z#ISFmaqBB7YMV z5tXR%RY4>wm7hv}@NcB_zZuK0Zb}cka|Z_uM14HRTTC&3>Ao z9yPA%`3t1EPwEFl%57E#ZhJrx%h*Ju;qM1Ma`umsuY zg0~@j2Pf_DCxmw}6vyLOvpfL((a|bU6@h85hCh8Y!5+lINj45! z$4G;WGhinaP9{M(WX2tf<1qq*(I1KE>Sup*1KtEQKst?Z*c8q0xxq8fJfqdCS8LU( zReJ8Z=d5!9-^{)ma=0x~%*?;7wpo4&QC;BOxXx zMuP?ol9M4rhKO}$yWjJH_kA4pD+p6y=RF92qJvqNheHr{;YHV_*nd5+GZwP!M-rSo z2H`hcg4<9I86({v2VR<>60$B)uYrtT@FI3VMxGh>3S_)*9#=s)Xnm~RB4|;D2_E!eDepF+2!txJu~3 z`9Td#A)C+aqlTMJT-Ua=1iwzcwCTSn^8X7Xnu-&j7MtL23n^rMbADXnG!XmX21iRz zun|fq<{wR+6&NEk_D^Pjvfw+|O2Vz+2#Puqf0-hC#Wvw@nqdq#l{j$=rqv}cFRvp7 z9>(l2j=zuMZ8+mmia(LRBlvEi(|_Bc0~r7S0DwXM*5~+E2$=!^0001hg#a-^x*x`V Ru}A;_002ovPDHLkV1g_xsW$)s diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png index 8586ec0363f7c8bf509752fd51e9d98aff3e6339..b33a7c41fe14e964da5846dc36c67bc56978ec31 100644 GIT binary patch delta 4472 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 delta 4628 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 KMNUMnLSTYc>7X6} diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index f9f9db247b2baa1c50048c8c56f9623d5c5a0df5..d1d98ed2dde3fd73a9fa5edaacef028525fba4a2 100644 GIT binary patch delta 4029 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 LW`;HTE|LEOo?Y%R diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png index 4bd24b995f300600b3e38d7f9a6c8764a1aad1c9..f189bbd385ae8a2b2592b94fbb8bab31e147022a 100644 GIT binary patch delta 7296 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 JGFh{4{|ARYkOu$& diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index f157928cd21ccd17411eb477546b5e8dee5aeb00..725e73c23ebe05ea2afe4f4c024b0475c3f0ee2d 100644 GIT binary patch delta 6472 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 i0UeP+FBt#;0PsKi8#$s{S^rW10000G) delta 6817 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 P00000NkvXXu0mjfewWts diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index 4e65b42c65614abe0b648d43b02281900677c9ea..beecb30b539e572c1dccf09c953c99a63050657f 100644 GIT binary patch literal 7457 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 U?Vk{n&3`_6TE?2i8jkq?0i9iwQUCw| literal 7966 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 diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index 566290423ab4c06218fccc12e9913cd89817909b..590b0b63e5c5078be53d9f20a0f9c626cc03b6db 100644 GIT binary patch literal 6735 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 literal 6895 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 diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml new file mode 100644 index 0000000000..ab5fb737ef --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml new file mode 100644 index 0000000000..ab5fb737ef --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml new file mode 100644 index 0000000000..6098eed222 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml new file mode 100644 index 0000000000..41345de3a6 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml new file mode 100644 index 0000000000..2864f3769e --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml new file mode 100644 index 0000000000..0e81a1d359 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml index 72cd56f5a7..7a65401447 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml index 72cd56f5a7..7a65401447 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml new file mode 100644 index 0000000000..bcb70d260c --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml similarity index 100% rename from patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml new file mode 100644 index 0000000000..3746c061df --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml new file mode 100644 index 0000000000..f21fbb1f3b --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml new file mode 100644 index 0000000000..a5b8aef86b --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml new file mode 100644 index 0000000000..f5126df718 --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc5dbe712d02c114b792ac94582307628a3cbd6 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^i$ItWNHDzW)ZPZ9R6SiBLn;`Pe)O}-FlF-Z+_ut+C%G!G!>{=xBNaM(5w#Ks5 z%=-!9&%S+H{$q`E?R&#*jTL=LjB7Nqn2!`Q%`Dh?cBXah7FBQepT;q}^vn19STKIf zX%J1VeS$JdumN!{9_@k#l@BN^M-dZ+FMDHD$IiK#xp))bm-?sA9BjltGAy#lW^wsw#N>PO>i$1h=KNKe zv+U`M@N?BV>m5W63qFl}?({yLf_Dp>*`7;knWvp_ zaF63v=$h0qagE3g_Kz}-Q7lpu@_)qEe(tki<-9oa-_N$YukY4N$+T7QDX1oCtY&iw zyjWR!+I&~p_nO5jDnH$?7Ci~&T(qK3;`A=gbcK1n9xV>CUA&%`HUHn3EBm>Bs>0iM z^XgNgQulqY>Uge`=g5;*+OA<&9JiL+N8{G60~MTZtDA(oEIys$2`q8$Nweh*^eKs( zsvYikW6OglmcHD6lYY$H^WajcOr>v=#yn@9bl-N3c?EG_xqRz3)-BW&S1f#BG&!y? z?u&+=lg;IXqZO8lU4DKm(;mLOt62Er-4`oo5lf(G=LW$?mc9Qi*S~5_yBD+b#G1zf z8Gd1UCV$PIyZ%3@*^zE6bU5}yMn)wAt$ zw5gtWr?Pftaaz~CBATbwp@qmX)~wgD+yvHsXc*H|s1-6gV2~ zw=&@5(eI+VTXRY;PC6YHYxU;Ky*7=uLz}MLYt(3S`*S!qGS2(aKWX0o_xGm$oZ6r< ztF4e_g@lf`exIlA@ri~(lUsDWS8KU^^p#MX6yBJ6boKwoJ~EphJI&0kVEf;mdUW?X z0aw2xp?V#QxOKEw%xls}Q&^YgBy#@1rlvfgHk&IiBs-FfbhMXjau%^&;AX4XwPwSb z30^I{0_P*|aP6O6DE8=PiwjWbH`k&Socp5$j!xgOMp}!v&%uU$BG+}V&c6cZ1D7Eakt n!I->2NP=~7f=EwOpaB;HTL=SV$nU~EVj-`bXY8-#BE{GL-}zVm3&x3@l%swdsQ z@%c~OL)~_Mg_`E8iLc5k?~3o9_wS1M?m6o=eUQ3Uem_b%iut}%h5Tuy>~w3VgEu$K zXO|27|4%Qy{?os8>8o}29OF;!TWP*%^TGu7Et}WKy?1^WuESQH`~7p9)6llAw3e-G5l8YJ7J0?&DS7@88u;z4dtAyYSc~ zIo_tG$rGmD)cV0)q`!czta$$FX}eY)FSU2d{qos&Z+@3|!+EE5EmtR&I+;5ky!I^i z;_tTF^>0cS-&*u>-tuvd=2XT>x+iZ4Q_Ennj?`ysjK0`Q? zQI>@@SZB-m1McTVs5Z2uW#0 zlqrk6=~!0Q)Fd77aMRlb55!DLwMBBexu#!zzzS3$cFpbO{&umHs}}+^e%#cQ=vw0i zj9jO)KV&v5uU^F0Fl(dzCavtkKWwf)WWAMEAJS`3n$y3=D_T_E>7DbMS@zyvzm``Q iD1g)ZlmE9kR-pnd=AsviN{`5aAr*{oPbvaMd6+hQ*RK^) mD4cz__W7LRbCz&o=UG;x%bS|#J>-lBY4&vWb6Mw<&;$SgKOf8h literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..2119d70cf3923efec77d0e8071cfaf99c9c83f2c GIT binary patch literal 1747 zcmbuA|3A}<9>@0$!{(SRxyoc%iJiWPkZ|%DDG8-vrI9b^vT5fKJK5}`bbUD;yQ|Z} zqa5X&F2y$Awo|)i2*-Ts)Gfx!c65}Z7}7Qgm%rh>9*_6?`F_8Dc>VJJ;Z+hD5sJ33 zw}3z(=&-{;^g2}=g*097CEG|d5Qu4I81U6e7W92b!TJpXRZ_3*#usS`m8nlb%zScT%cH~j>CR2=-)S2I0Jlg1(LuDPGyfD9m z*s!)7ZVUY!qS{W3wgUx)4W|0mwZ=t>U*3~8>GT^G?z;CbxokRtpE0&M_E;<&>xNRi zGbS__|HBX?!t#=$9lnPobQwz5&1r!&bYgSC?f2a9t1tYMrdPa%!yk%F$uGz18skGl zg=wKQVq!)Cyk1-k;cCB+d;IHihCFa}H6E9OofUnoB17Vg`O;1o*ew*@wO&LH=hl7_ z*5GSB58}zs>z#6AUcMrL`GpL4L~|z**3y+*LPl|_6NbfR(@{7ySDZOO04?WRTkmdz zy}Trv zmL4!4m(c?*4U$J3vac=beF$gAec)lKCq?ra`4$_APPx5Y|OsxHD< zx4px2*9W5uEF9Ba)@$#Oj#11iY&r!n88r$E4d^xem{Jpb>H|f6^XsoVh8J!q29Cd8 z9w>!lv`m_FBDP?Lbaw)~DK|al{$$}PS88<7vCLem?2HFYWn~wtB5Du2e+ht(jG4{! zeWcMhWvQ;z6V_gCuRiG&_0rc5&UKd{nNWF|?eDeO>KydZR@a~2{W&mZuIVO5zl3n+ zZZk$}DfeI3T{tS$;CSrxthQ)}A>;tdRQ!W@oEW_ox`%zkqdKIbEU?G<>`wK(Sz3?M zh~LMbK&qhSAu3ZXtv}>r(IXx87y4Urj53?ZBQ@B(6LV>Dc)^9jK}b#uj_BvE7n*#I z5xzUY70etNpI-RcQ=Ml_@Z=}CEnV-(3SK7JciYd*Wjvg9p5XWQu(KHk2YA*DVt_~| ziQ7wXxr*~fWxOJHQg(JJc&SP~!T(=AyLP#CD135mCA}^P;bX2kqKeF7#|SCcMg0as zk(amG?qV@R;U?G#fWt;%6DU#|d_R4#;0*UT_YHI7g>SzZ@}RuVNT~x5zhcf}v)GGF z&69wOwT@vich>&%22wd8>v(o`s$ONQWmy`hN}OcvhRC%F-NAhzVsL4yVm8mubE_rY ziQY2A{>24~?=rOcj!*JI(fkmG(+2!v?&+sQO^5*|=x>*iqnQM9lN&viE zfG#`+&)MDU$wP~l25Ov*nkr6qGCB*QhMz#Hky}&iA`rD#boeZPy=p2L&t*SX_Bw9q zZjWF2&AH2JzZr9vyi#BVfFI^BND=sp-@b47;$Xl6EahP~yLQ|OvKj5otciw$nj8@zsUaJGAjZL=|GMgfIu4C=Cyk32s@)+;9ma LM*zY@v`ha7$$0}2 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..be663ad72749e1e0f5bfe1dc198ad5aa48676266 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrNQ$s>;+|NrGjq)!03DxNNm uAr*0N4={29d4~*sFE=}$7%c;2!@&VYQw;{j<#utdAR$jzKbLh*2~7Y#IT@z_ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..b0254084a56155696c51a3b8cf110964ca39d922 GIT binary patch literal 2771 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..addcbda14f86107d587bf3490f3e60c21adc9a49 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%0jLblhPYsJQffRFqPl)UP|NoaCkv;+B>Up|2 vhE&A8J=h53FdSa+J9vHq+f^nI2NN7%jJd$TDAd)u86@ZF>gTe~DWM4f#>X7m literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..88f8ebc40bb5c344f5e5df39d23d8f168370b0a5 GIT binary patch literal 3930 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 W78A$%HX^8+*%mF?juF}%dQ=*D(fm|t17srqa s#C-z|b&@l{?S2%9V7dxM4z3 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 aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png deleted file mode 100644 index 8fb88d36762582d219d994be40074203324784d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ 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 s#C-z|b&@l{?S2%9V7dxM4z3 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 aaQ_dS4$3ZTO#gWR0000( zP1Qez?w*K*l?e3E8Ibb+70i<7)7hR*WYZCrk#~*tncL;QtD_ zCfEvSn`@GFLS3VkG5ji`N6DRwkB{%j3U4tQVj_bagpg)Bz6IAd>s0;;7~m}`Dk_DQ ze9cUZ+;u(3Er6)kpo>{Q%eN*?ns^wzW;!c&QIytCj2Y%@UV=_0U9Bf4H8nMem3f~* zKuk=`RqV?XCLPv6N730za(KK_mlfD0N=bgH5U?4D+Qr^f&kB+x@$tpGz>PI{jV^Dx z#J{_W4LUuCFE-GWgsH+pbd=vi#1;+Yz;in5B}YF=(b3V}olTOvA?IAuPL6((U_(Ra zgqs>egocI&BH5YAsiY)fzdI->C`4>@lpvIH>l3op#Etz1S&MS8Voj?mcXXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJ zTBp^A9LR%Q$ftn=2jY5Vu47|!&-BNpyB8m_(CCNqZ%6lGn#Cw=vy8r(B zDJLff%G2e`m#I^yPLvRzKxe>uby~M>?Px_i&I96j;i3rd8Re|9zHZ$*G2)+p{-F*XI^Z~sYciNV z@BbowG2o>V1MMd?9g6<&9?Htf64|(p6P9s_OaA1-y+}QjIwKKe-R^sZgIC^0b+=cof$q;-Sdp!I{_EEZ_jF}*$dQBqP8?ccv&WPbSJ zhr|yU9rhqa&|zO+-xwn&=8TxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#X zzv~MH&Nr|5Zvw7Urw%+uWc~W=x?7ZjRd+#l}w3n^izhcfqE(&hk=wl}nBzOM6fdgXL z`t|Ek@^Ox8aoJwNUUFx~_Iy~xrM+fqT_M`&J^S|UqxAH2oO3oopEDPp23{l?d2@rm zbs?6HK`TP4vGK+_G5!A0=Kf98DpkBRt=^zM|?1+z#j|>>)pWxu&WM=QQE`l(3+O%nt7lT|GKW`_`rYh?3l}b2unWN8@*2)p(R7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4 zRlx++xG<(GNqc*HCxa7nnGaxsw3T@y9)J9CG5W}nBZcOap+kqFVi^a9IIf$ZY&;4y z69o7%L7!OhaIky#?wEy3(!KlcyYr2RF{yp(si%aT!-o&kwbx#2mZf8$_$B7;!i!<5 z;lpMA1<^dYSgF^Di{qLHVk|G-!kvv z=Yg59S(0-JHg85O=c0G2@(WbzIoNvG3Y$y&hFJiw&9=o7WEFb_PbwEXz!@GKcY>|P z+*2Aaie`pas8GwPLLQWZ(Bfir6KrJol=TZ`Fq_IV+)W^uR^`q|qB}w>n{8?W+axhNu=z5gcuBSg@=+!K6anO%Wn22dCS{xB8$Lzg zT|Dnc@m;W0){j~E2HQCAjK`-Zu*sQ!q`)PZH{K`nZYoHsB;h7Hf*jU;CTvjOX}IY4 zfER*Onf)<*!P9w3uOcU8Ma~)JIjM|LogezT@?+UB-ly=sH1Nigp3*VMm~*To$yd#SYxw#3b>TbqJ}YWoYq4n#C8?&$ zYu2$YU7?fG&9^+rF%Krg7>SHJTq#C!*nNmfXIKre30aPLRxV^1|ICFN;oERcu1=$& zgVH6e^z$qI-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4 zYl>b42!v}ZW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>om zsJofKsL80u2DRfb7{hn{HhzNn2AAN^8Go_S2iO~q;|(_ezi|xb&<1VM2Yn#}-lAkC zs%r#TMU0NYr57Va84|B%(6tzKdBWI;(F{g&V(rXxq;3Fy;~1Z7iZ*Dg`lKltQA(zl z-qLM7S)S@{hcY4=(JD0Jl{X|Q;CH+_7p>Zcs=l5|R+Zme41cW6LwSR@0)Bg_bFSr? aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 827bd124b1c75ebc815c52162695359ea3f62579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmV+l2le=gP)7#EY&dWWB6JXZ8GK8vG?^ zq)e46l^##y)1|psn}~lY7`h(~czSv|1P2HEdV70^0%)V}CvtRPs=9(=I-wzzhfoNXHxPmo_%|`ucvt)6|nUvUWfAkoVS% zJPU8m_$)SO^NY4>K$fHk+RbGST96+rHp8h27tk1A6xpO;yv0h$*?>=HjyQD%6weU* zz%p|Y3+5`3Tsrx22~1u<-fx27WNKjRlz?rfHF*_Ew3N6R&GR6iRt{J^6A1q+!fVo(MwUA*nJ1J?K ze0+Qw%Ur)ZeV$||-mu2G0vhG-1L73JVLPM*kF{jk&s-ghqcCq0rD!8b5wK zK}PM`wM}_X;Ca!_&CN-0{_gbIOjS(v`^uFolfhu1XV0Ed(V|7EC4OKFv*gQgf-*FjkDyv z00pMYB|iR=vjV#;QJ_$vLUi};-MCO~P2MTD1ss z@7%dV1q&9mRDr#65R2Q@B})_t3=E{TYu6G;?c2AHqNAfJC@_SY6rVvotL`EIZS=*& z#L$5Q2QU|Fu+|a<5YShgot<6d6mWNU_h$>-x3qL9P@n*P{P>YxzI;g)DpVl!rTME6 zHLJ3NfHZ#>BJ{yRuV23=%*~%aKl&_H;DL*aOGumoUS3||Jn+;~1!7}kNj_Qh1qX#w zk%FTMKpTAKeqI57a0S6%|FuM4vx@rqQEElU(DVjf{h_t5>g5L_`Go)ws|@ zj)Cwv1rQLdz$LZiGhS?P5s<{oO7y2spPp{tzKt=w1LQT9W}zz%4h~*&Eo99K>{hD) z+(hK~R;^ma^>^&pk}Sq)g1ipk&S`2D;7^FOXwf19*&|1e5Znqi z)2UOZ2z~SC&xbpyR)CYvZ04*7Z}B=#&Vk%mDkT821PEaG`kOaz2xW5p`t=dGNS&yc zRDHD&r343XD{%g*l;FJjF9*j9wN^lVv~}xN!il3?2GCx=em%z2d^-~E^U}%5DZTI> zxtw<3Nn5qJN+M0ZefyR`9C-EW71gOzM~kZ^6xe~h^X*kY2e2D8(ZY>zLpyWkOq>FU zfsl|8E!{^4e0Qa^wY3ezwN1XpSqS()0vW*dQ;ScJIQ>gDHZ~zYyVye`8@5764Xl8> z0Ztu2Ta(lG@bKscj^O&M&nmvG>ER^ySp}){C@zl1J~KiyYtBf;S>q2HxRNHW11?-G zlmRz}-jq*^F6>HuU^c~khD0E55U#_O=Kyd5H*lJp2P<^A6(4+ zRWpTRs!$fN5`u(D6VPoyel>Fl0~bqvBftXqTsTMnTnJ34A2^hZgOiT{2UA_=r$NmK zfgiHq_hK{66!}IL_TZP*KRh+kw2_hQ+JFMu}sForppi#6g_rJlHYi|F|3 s2)_k{b?h0A0NT5H`T$W4M?f?J)07*qoM6N<$f-*m5YXATM diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 8fb88d36762582d219d994be40074203324784d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ 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 S`%7B@0000 Date: Tue, 7 Oct 2025 19:25:25 +0000 Subject: [PATCH 20/20] chore: Release v5.42.0-dev.18 [skip ci] # [5.42.0-dev.18](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.17...v5.42.0-dev.18) (2025-10-07) ### Features * **Custom branding:** Add in-app settings to change icon and name ([#6059](https://github.com/ReVanced/revanced-patches/issues/6059)) ([a50f3b5](https://github.com/ReVanced/revanced-patches/commit/a50f3b5177808f07d84041c946caccb5a08ad387)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0a4a57421..47b6693720 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.18](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.17...v5.42.0-dev.18) (2025-10-07) + + +### Features + +* **Custom branding:** Add in-app settings to change icon and name ([#6059](https://github.com/ReVanced/revanced-patches/issues/6059)) ([a50f3b5](https://github.com/ReVanced/revanced-patches/commit/a50f3b5177808f07d84041c946caccb5a08ad387)) + # [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index f85091c925..7608a77173 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.17 +version = 5.42.0-dev.18