# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.1.1
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
#
# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with
# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and
# will be ignored by new version of the Android plugin for Gradle.

# Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file
# instead of this one, which turns off the optimization flags.
# Adding optimization introduces certain risks, since for example not all optimizations performed by
# ProGuard works on all versions of Dalvik.  The following flags turn off various optimizations
# known to have issues, but the list may not be complete or up to date. (The "arithmetic"
# optimization can be used if you are only targeting Android 2.0 or later.)  Make sure you test
# thoroughly if you go this route.
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

# Preserve some attributes that may be required for reflection.
-keepattributes AnnotationDefault,
                EnclosingMethod,
                InnerClasses,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations,
                Signature

-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class com.google.android.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
-dontnote com.google.vending.licensing.ILicensingService
-dontnote com.google.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

# Keep setters in Views so that animations can still work.
-keepclassmembers public class * extends android.view.View {
    void set*(***);
    *** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick.
-keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keepclassmembers class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

# Preserve annotated Javascript interface methods.
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

# The support libraries contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontnote android.support.**
-dontnote androidx.**
-dontwarn android.support.**
-dontwarn androidx.**

# This class is deprecated, but remains for backward compatibility.
-dontwarn android.util.FloatMath

# Understand the @Keep support annotation.
-keep class android.support.annotation.Keep
-keep class androidx.annotation.Keep

-keep @android.support.annotation.Keep class * {*;}
-keep @androidx.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <init>(...);
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <init>(...);
}

# These classes are duplicated between android.jar and org.apache.http.legacy.jar.
-dontnote org.apache.http.**
-dontnote android.net.http.**

# These classes are duplicated between android.jar and core-lambda-stubs.jar.
-dontnote java.lang.invoke.**

# End of content from /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.1.1
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/proguard-rules.pro
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

# As per missing_rules.txt - no idea why these are being referenced via ACRA etc (see deps - com.google.auto.service:auto-service)
-dontwarn javax.annotation.processing.AbstractProcessor
-dontwarn javax.annotation.processing.SupportedOptions
-dontwarn javax.crypto.spec.ChaCha20ParameterSpec

# Kodein as per https://kosi-libs.org/kodein/7.19/framework/android.html#_proguard_configuration
-keep, allowobfuscation, allowoptimization class org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest

-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest

# Bouncycastle
-keep class org.bouncycastle.jcajce.provider.** { *; }
-keep class org.bouncycastle.jce.provider.** { *; }

-dontwarn javax.naming.**

#Try remove debug log calls
-assumenosideeffects interface net.luminis.quic.log.Logger {
    void logDebug(...);
    void logRaw(...);
    void logDecrypted(...);
    void debug(...);
    void debugWithHexBlock(...);
    void received(...);
    void sent(...);
    void raw(...);
    void decrypted(...);
    void encrypted(...);
    void receivedPacketInfo(...);
    void sentPacketInfo(...);
}


# As per Android Gradle Plugin 8 (2/May/2023) - probably OKHTTP related
-dontwarn org.bouncycastle.jsse.BCSSLParameters
-dontwarn org.bouncycastle.jsse.BCSSLSocket
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
-dontwarn org.slf4j.impl.StaticLoggerBinder

# End of content from /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/proguard-rules.pro
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
-keep class androidx.core.content.FileProvider { <init>(); }
-keep class androidx.profileinstaller.ProfileInstallReceiver { <init>(); }
-keep class androidx.startup.InitializationProvider { <init>(); }
-keep class com.journeyapps.barcodescanner.CaptureActivity { <init>(); }
-keep class com.ustadmobile.meshrabiya.testapp.App { <init>(); }
-keep class com.ustadmobile.meshrabiya.testapp.CodeScannerActivity { <init>(); }
-keep class com.ustadmobile.meshrabiya.testapp.VNetTestActivity { <init>(); }
-keep class org.acra.attachment.AcraContentProvider { <init>(); }
-keep class org.acra.dialog.CrashReportDialog { <init>(); }
-keep class org.acra.sender.JobSenderService { <init>(); }
-keep class org.acra.sender.LegacySenderService { <init>(); }
-keep class android.widget.Space { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.app.AlertController$RecycleListView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ActionMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ExpandedMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ListMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarContainer { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarContextView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarOverlayLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActivityChooserView$InnerLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.AlertDialogLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ButtonBarLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ContentFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.DialogTitle { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.FitWindowsFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.FitWindowsLinearLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.SearchView$SearchAutoComplete { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.Toolbar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ViewStubCompat { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.core.widget.NestedScrollView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.journeyapps.barcodescanner.BarcodeView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.journeyapps.barcodescanner.DecoratedBarcodeView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.journeyapps.barcodescanner.ViewfinderView { <init>(android.content.Context, android.util.AttributeSet); }


# End of content from /home/jenkins/.jenkins/workspace/Meshrabiya/test-app/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Meshrabiya/lib-meshrabiya/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt

# End of content from /home/jenkins/.jenkins/workspace/Meshrabiya/lib-meshrabiya/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/efc85de57179b9d7f2c980cba7a78d12/transformed/acra-core-5.11.0/proguard.txt
# Restore some Source file names and restore approximate line numbers in the stack traces,
# otherwise the stack traces are pretty useless
-keepattributes SourceFile,LineNumberTable

# ACRA loads Plugins using reflection
-keep class * implements org.acra.plugins.Plugin {*;}

# ACRA uses enum fields in json
-keep enum org.acra.** {*;}

# autodsl accesses constructors using reflection
-keepclassmembers class * implements org.acra.config.Configuration { <init>(...); }

# ACRA creates a proxy for this interface
-keep interface org.acra.ErrorReporter

-dontwarn android.support.**

-dontwarn com.faendir.kotlin.autodsl.DslInspect
-dontwarn com.faendir.kotlin.autodsl.DslMandatory
-dontwarn com.google.auto.service.AutoService
# End of content from /home/jenkins/.gradle/caches/transforms-3/efc85de57179b9d7f2c980cba7a78d12/transformed/acra-core-5.11.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/ce5f45fffb7cd062073a95c392869afc/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**

# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform

# End of content from /home/jenkins/.gradle/caches/transforms-3/ce5f45fffb7cd062073a95c392869afc/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5d41903a00dd93d8c98b418bc4d5da09/transformed/rules/lib/META-INF/proguard/okio.pro
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# End of content from /home/jenkins/.gradle/caches/transforms-3/5d41903a00dd93d8c98b418bc4d5da09/transformed/rules/lib/META-INF/proguard/okio.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/94f5ad307bccb575d2611e94deecae02/transformed/appcompat-1.6.1/proguard.txt
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
-keep class androidx.appcompat.widget.SearchView { <init>(...); }

# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
  <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/94f5ad307bccb575d2611e94deecae02/transformed/appcompat-1.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/2f3e6aea9aceba692b8280030a2ef2de/transformed/fragment-1.3.6/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# The default FragmentFactory creates Fragment instances using reflection
-if public class ** extends androidx.fragment.app.Fragment
-keepclasseswithmembers,allowobfuscation public class <1> {
    public <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/2f3e6aea9aceba692b8280030a2ef2de/transformed/fragment-1.3.6/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/ce77f453ee0ae27c0cd2f1ab5186d60a/transformed/ui-release/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# We supply these as stubs and are able to link to them at runtime
# because they are hidden public classes in Android. We don't want
# R8 to complain about them not being there during optimization.
-dontwarn android.view.RenderNode
-dontwarn android.view.DisplayListCanvas

-keepclassmembers class androidx.compose.ui.platform.ViewLayerContainer {
    protected void dispatchGetDisplayList();
}

-keepclassmembers class androidx.compose.ui.platform.AndroidComposeView {
    android.view.View findViewByAccessibilityIdTraversal(int);
}

# Users can create Modifier.Node instances that implement multiple Modifier.Node interfaces,
# so we cannot tell whether two modifier.node instances are of the same type without using
# reflection to determine the class type. See b/265188224 for more context.
-keep,allowshrinking class * extends androidx.compose.ui.node.ModifierNodeElement

# End of content from /home/jenkins/.gradle/caches/transforms-3/ce77f453ee0ae27c0cd2f1ab5186d60a/transformed/ui-release/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/20beb0a8b340a5d363c80d35e2cc9463/transformed/lifecycle-process-2.6.1/proguard.txt
# this rule is need to work properly when app is compiled with api 28, see b/142778206
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
# End of content from /home/jenkins/.gradle/caches/transforms-3/20beb0a8b340a5d363c80d35e2cc9463/transformed/lifecycle-process-2.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/fd1b470c0006a17b2d474ff28a5412a0/transformed/navigation-common-2.5.3/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NavArgsLazy creates NavArgs instances using reflection
-if public class ** implements androidx.navigation.NavArgs
-keepclassmembers public class <1> {
    ** fromBundle(android.os.Bundle);
}

# Retain the @Navigator.Name annotation on each subclass of Navigator.
# R8 full mode only retains annotations on items matched by a -keep rule,
# hence the extra -keep rule for the subclasses of Navigator.
#
# A -keep rule for the Navigator.Name annotation class is not required
# since the annotation is referenced from the code.
-keepattributes RuntimeVisibleAnnotations
-keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator

# End of content from /home/jenkins/.gradle/caches/transforms-3/fd1b470c0006a17b2d474ff28a5412a0/transformed/navigation-common-2.5.3/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/def206885ec2867783a2e8ed71302e24/transformed/lifecycle-viewmodel-savedstate-2.6.1/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>(androidx.lifecycle.SavedStateHandle);
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/def206885ec2867783a2e8ed71302e24/transformed/lifecycle-viewmodel-savedstate-2.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b66c2ad61753ddafd9614bc282a70a1f/transformed/savedstate-1.2.1/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
    <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b66c2ad61753ddafd9614bc282a70a1f/transformed/savedstate-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/25351a8364efe90ef5968b51b735cd37/transformed/lifecycle-viewmodel-2.6.1/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>();
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/25351a8364efe90ef5968b51b735cd37/transformed/lifecycle-viewmodel-2.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/3b906e9244f04b6b8e76c62d80f272c2/transformed/vectordrawable-animated-1.1.0/proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
   void set*(***);
   *** get*();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/3b906e9244f04b6b8e76c62d80f272c2/transformed/vectordrawable-animated-1.1.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/83a3f93017bfeb34752b6b2313242830/transformed/core-1.11.0-beta02/proguard.txt
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
  <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/83a3f93017bfeb34752b6b2313242830/transformed/core-1.11.0-beta02/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/d3cb10c69c77a969f506869bdf122715/transformed/lifecycle-runtime-2.6.1/proguard.txt
-keepattributes AnnotationDefault,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations

-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
    <fields>;
}

-keep !interface * implements androidx.lifecycle.LifecycleObserver {
}

-keep class * implements androidx.lifecycle.GeneratedAdapter {
    <init>(...);
}

-keepclassmembers class ** {
    @androidx.lifecycle.OnLifecycleEvent *;
}

# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
# End of content from /home/jenkins/.gradle/caches/transforms-3/d3cb10c69c77a969f506869bdf122715/transformed/lifecycle-runtime-2.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/29f98c42cd3be8faf8ade9d8e7620205/transformed/runtime-release/proguard.txt
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
    void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
    void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
    void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/29f98c42cd3be8faf8ade9d8e7620205/transformed/runtime-release/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/10869f1b03823d4cc4a91cda88ec2bbc/transformed/datastore-preferences-1.0.0/proguard.txt
-keepclassmembers class * extends androidx.datastore.preferences.protobuf.GeneratedMessageLite {
    <fields>;
}
# End of content from /home/jenkins/.gradle/caches/transforms-3/10869f1b03823d4cc4a91cda88ec2bbc/transformed/datastore-preferences-1.0.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/f71a6f72097f7a0e660f2ff06a09d7f2/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
# When editing this file, update the following files as well:
# - META-INF/proguard/coroutines.pro
# - META-INF/com.android.tools/proguard/coroutines.pro

# Most of volatile fields are updated with AFU and should not be mangled
-keepclassmembers class kotlinx.coroutines.** {
    volatile <fields>;
}

# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
-keepclassmembers class kotlin.coroutines.SafeContinuation {
    volatile <fields>;
}

# These classes are only required by kotlinx.coroutines.debug.AgentPremain, which is only loaded when
# kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used.
-dontwarn java.lang.instrument.ClassFileTransformer
-dontwarn sun.misc.SignalHandler
-dontwarn java.lang.instrument.Instrumentation
-dontwarn sun.misc.Signal

# Only used in `kotlinx.coroutines.internal.ExceptionsConstructor`.
# The case when it is not available is hidden in a `try`-`catch`, as well as a check for Android.
-dontwarn java.lang.ClassValue

# An annotation used for build tooling, won't be directly accessed.
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
# End of content from /home/jenkins/.gradle/caches/transforms-3/f71a6f72097f7a0e660f2ff06a09d7f2/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/165ea8ac09b97991ea9f73298af6c18e/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# Allow R8 to optimize away the FastServiceLoader.
# Together with ServiceLoader optimization in R8
# this results in direct instantiation when loading Dispatchers.Main
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatcherLoader {
    boolean FAST_SERVICE_LOADER_ENABLED return false;
}

-assumenosideeffects class kotlinx.coroutines.internal.FastServiceLoaderKt {
    boolean ANDROID_DETECTED return true;
}

# Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt {
    boolean SUPPORT_MISSING return false;
}

# Statically turn off all debugging facilities and assertions
-assumenosideeffects class kotlinx.coroutines.DebugKt {
    boolean getASSERTIONS_ENABLED() return false;
    boolean getDEBUG() return false;
    boolean getRECOVER_STACK_TRACES() return false;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/165ea8ac09b97991ea9f73298af6c18e/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/7264b826d427be0afe89e514b491d0e6/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro
# Rule to save runtime annotations on serializable class.
# If the R8 full mode is used, annotations are removed from classes-files.
#
# For the annotation serializer, it is necessary to read the `Serializable` annotation inside the serializer<T>() function - if it is present,
# then `SealedClassSerializer` is used, if absent, then `PolymorphicSerializer'.
#
# When using R8 full mode, all interfaces will be serialized using `PolymorphicSerializer`.
#
# see https://github.com/Kotlin/kotlinx.serialization/issues/2050

 -if @kotlinx.serialization.Serializable class **
 -keep, allowshrinking, allowoptimization, allowobfuscation, allowaccessmodification class <1>

# End of content from /home/jenkins/.gradle/caches/transforms-3/7264b826d427be0afe89e514b491d0e6/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/7264b826d427be0afe89e514b491d0e6/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro
# Keep `Companion` object fields of serializable classes.
# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
-if @kotlinx.serialization.Serializable class **
-keepclassmembers class <1> {
    static <1>$Companion Companion;
}

# Keep `serializer()` on companion objects (both default and named) of serializable classes.
-if @kotlinx.serialization.Serializable class ** {
    static **$* *;
}
-keepclassmembers class <2>$<3> {
    kotlinx.serialization.KSerializer serializer(...);
}

# Keep `INSTANCE.serializer()` of serializable objects.
-if @kotlinx.serialization.Serializable class ** {
    public static ** INSTANCE;
}
-keepclassmembers class <1> {
    public static <1> INSTANCE;
    kotlinx.serialization.KSerializer serializer(...);
}

# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault

# Don't print notes about potential mistakes or omissions in the configuration for kotlinx-serialization classes
# See also https://github.com/Kotlin/kotlinx.serialization/issues/1900
-dontnote kotlinx.serialization.**

# Serialization core uses `java.lang.ClassValue` for caching inside these specified classes.
# If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning.
# However, since in this case they will not be used, we can disable these warnings
-dontwarn kotlinx.serialization.internal.ClassValueReferences

# End of content from /home/jenkins/.gradle/caches/transforms-3/7264b826d427be0afe89e514b491d0e6/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/8e405b0175dfceaca3aab7729e70bade/transformed/startup-runtime-1.1.1/proguard.txt
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
-keepnames class * extends androidx.startup.Initializer

# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
# and are a part of the primary dex file. This is because they are discovered and instantiated
# during application startup.
-keep class * extends androidx.startup.Initializer {
    # Keep the public no-argument constructor while allowing other methods to be optimized.
    <init>();
}

-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }

# End of content from /home/jenkins/.gradle/caches/transforms-3/8e405b0175dfceaca3aab7729e70bade/transformed/startup-runtime-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/63c93695bdc29d1a7706ea6b20de773b/transformed/versionedparcelable-1.1.1/proguard.txt
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl

# End of content from /home/jenkins/.gradle/caches/transforms-3/63c93695bdc29d1a7706ea6b20de773b/transformed/versionedparcelable-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/c53456fac2b21380a08da940b4307ecf/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
-keep,allowobfuscation @interface androidx.annotation.Keep
-keep @androidx.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <init>(...);
}

-keepclassmembers,allowobfuscation class * {
  @androidx.annotation.DoNotInline <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/c53456fac2b21380a08da940b4307ecf/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/hash.pro
# LittleEndianByteArray uses this
-dontwarn sun.misc.Unsafe

# Striped64 appears to make some assumptions about object layout that
# really might not be safe. This should be investigated.
-keepclassmembers class com.google.common.hash.Striped64 {
  *** base;
  *** busy;
}
-keepclassmembers class com.google.common.hash.Striped64$Cell {
  <fields>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/hash.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/io.pro
-keep class java.lang.Throwable {
  *** addSuppressed(...);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/io.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/reflect.pro
# Warning: common.reflect (like reflection in general) is typically slow and
# unreliable under Android. We do not recommend using it. This Proguard config
# exists only to avoid breaking the builds of users who already have
# common.reflect in their transitive dependencies.
#
-dontwarn com.google.common.reflect.Invokable
-dontwarn com.google.common.reflect.Invokable$ConstructorInvokable
-dontwarn com.google.common.reflect.Invokable$MethodInvokable
-dontwarn com.google.common.reflect.Parameter

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/reflect.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/base.pro
# Note: We intentionally don't add the flags we'd need to make Flags and Enums
# work. That's because the Proguard configuration required to make them work on
# optimized code would preclude lots of optimization, like converting enums
# into ints.

# Throwables uses internal APIs for lazy stack trace resolution
-dontnote sun.misc.SharedSecrets
-keep class sun.misc.SharedSecrets {
  *** getJavaLangAccess(...);
}
-dontnote sun.misc.JavaLangAccess
-keep class sun.misc.JavaLangAccess {
  *** getStackTraceElement(...);
  *** getStackTraceDepth(...);
}

# FinalizableReferenceQueue calls this reflectively
# Proguard is intelligent enough to spot the use of reflection onto this, so we
# only need to keep the names, and allow it to be stripped out if
# FinalizableReferenceQueue is unused.
-keepnames class com.google.common.base.internal.Finalizer {
  *** startFinalizer(...);
}
# However, it cannot "spot" that this method needs to be kept IF the class is.
-keepclassmembers class com.google.common.base.internal.Finalizer {
  *** startFinalizer(...);
}
-keepnames class com.google.common.base.FinalizableReference {
  void finalizeReferent();
}
-keepclassmembers class com.google.common.base.FinalizableReference {
  void finalizeReferent();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/base.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/primitives.pro
# UnsignedBytes uses this
-dontwarn sun.misc.Unsafe

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/primitives.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/concurrent.pro
# Futures.getChecked, in both of its variants, is incompatible with proguard.

# Used by AtomicReferenceFieldUpdater and sun.misc.Unsafe
-keepclassmembers class com.google.common.util.concurrent.AbstractFuture** {
  *** waiters;
  *** value;
  *** listeners;
  *** thread;
  *** next;
}
-keepclassmembers class com.google.common.util.concurrent.AtomicDouble {
  *** value;
}
-keepclassmembers class com.google.common.util.concurrent.AggregateFutureState {
  *** remaining;
  *** seenExceptions;
}

# Since Unsafe is using the field offsets of these inner classes, we don't want
# to have class merging or similar tricks applied to these classes and their
# fields. It's safe to allow obfuscation, since the by-name references are
# already preserved in the -keep statement above.
-keep,allowshrinking,allowobfuscation class com.google.common.util.concurrent.AbstractFuture** {
  <fields>;
}

# AbstractFuture uses this
-dontwarn sun.misc.Unsafe

# MoreExecutors references AppEngine
-dontnote com.google.appengine.api.ThreadManager
-keep class com.google.appengine.api.ThreadManager {
  static *** currentRequestThreadFactory(...);
}
-dontnote com.google.apphosting.api.ApiProxy
-keep class com.google.apphosting.api.ApiProxy {
  static *** getCurrentEnvironment (...);
}

-dontwarn java.lang.SafeVarargs

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/concurrent.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/cache.pro
# Striped64 uses this
-dontwarn sun.misc.Unsafe

# Striped64 appears to make some assumptions about object layout that
# really might not be safe. This should be investigated.
-keepclassmembers class com.google.common.cache.Striped64 {
  *** base;
  *** busy;
}
-keepclassmembers class com.google.common.cache.Striped64$Cell {
  <fields>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/cache.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/collect.pro
-dontwarn java.lang.SafeVarargs

# The nested FieldSettersHolder class looks these up.
#
# We use -keepclassmembernames because we want for ImmutableMultimap and its
# fields to be stripped if it's unused: -keepclassmembernames says that, *if*
# you're keeping the fields, you need to leave their names untouched. (Anyone
# who is using ImmutableMultimap will certainly be using its fields. So we
# don't need to worry that an ImmutableMultimap user will have the fields
# optimized away.)
#
# This configuration is untested....
-keepclassmembernames class com.google.common.collect.ImmutableMultimap {
  *** map;
  *** size;
}
# similarly:
-keepclassmembernames class com.google.common.collect.ConcurrentHashMultiset {
  *** countMap;
}
# similarly:
-keepclassmembernames class com.google.common.collect.ImmutableSetMultimap {
  *** emptySet;
}
# similarly:
-keepclassmembernames class com.google.common.collect.AbstractSortedMultiset {
  *** comparator;
}
# similarly:
-keepclassmembernames class com.google.common.collect.TreeMultiset {
  *** range;
  *** rootReference;
  *** header;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/b3b944edd167f9a6880668b754f82f8e/transformed/rules/lib/META-INF/proguard/collect.pro
# The proguard configuration file for the following section is <unknown>

# End of content from <unknown>