-keepattributes *Annotation*
-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
-keeppackagenames com.cleversolutions.**

-keep interface com.cleversolutions.ads.OnInitializationListener { *; }
-keep interface com.cleversolutions.ads.InitializationListener { *; }
-keep interface com.cleversolutions.ads.AdCallback { *; }
-keep interface com.cleversolutions.ads.AdLoadCallback { *; }
-keep interface com.cleversolutions.ads.android.CAS$ManagerBuilder { *; }

-keep class com.unity3d.player.UnityPlayer { *; }
-keep public class com.cleversolutions.ads.unity.* { public *; }

-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{ public *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{ public *; }
-keep class com.google.android.gms.common.internal.StringResourceValueReader { public *; }

-keep public class com.cleversolutions.adapters.** extends com.cleversolutions.ads.mediation.MediationAdapter { public protected *; }
-keep class com.applovin.mediation.adapters.* extends com.applovin.mediation.adapters.MediationAdapterBase { public *; protected <methods>; }
-keep class com.ironsource.adapters.** extends com.ironsource.mediationsdk.AbstractAdapter { public *; protected <methods>; }

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keepclassmembers class * {
     @android.webkit.JavascriptInterface <methods>;
 }

# OkHttp + Okio
-dontwarn okio.**
-dontwarn com.squareup.okhttp3.**
-dontwarn android.webkit.**
-dontwarn javax.annotation.**
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-keep class com.squareup.okhttp3.** {*;}
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-keep public class android.webkit.WebView

# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# GSON
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}