# Used in DfpHeaderBiddingHandler
-keep class com.google.android.gms.ads.** { *; }

# Used in TapeSendingQueue
-keepclassmembers class com.squareup.tape.QueueFile {
  private int usedBytes();
}
-keepclassmembers class com.squareup.tape.FileObjectQueue {
  private com.squareup.tape.QueueFile queueFile;
}

-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-keepclassmembers @kotlin.Metadata @com.squareup.moshi.JsonClass class * {
    synthetic <init>(...);
}
-if class com.criteo.publisher.model.RemoteConfigResponse
-keepnames class com.criteo.publisher.model.RemoteConfigResponse
-if class com.criteo.publisher.model.RemoteConfigResponse
-keep class com.criteo.publisher.model.RemoteConfigResponseJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.model.RemoteConfigResponse
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.model.RemoteConfigResponse
-keepclassmembers class com.criteo.publisher.model.RemoteConfigResponse {
    public synthetic <init>(java.lang.Boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,java.lang.Integer,java.lang.Boolean,com.criteo.publisher.logging.RemoteLogRecords$RemoteLogLevel,java.lang.Boolean,java.lang.Boolean,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

-if class com.criteo.publisher.model.Publisher
-keepnames class com.criteo.publisher.model.Publisher
-if class com.criteo.publisher.model.Publisher
-keep class com.criteo.publisher.model.PublisherJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.CdbResponseSlot
-keepnames class com.criteo.publisher.model.CdbResponseSlot
-if class com.criteo.publisher.model.CdbResponseSlot
-keep class com.criteo.publisher.model.CdbResponseSlotJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.model.CdbResponseSlot
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.model.CdbResponseSlot
-keepclassmembers class com.criteo.publisher.model.CdbResponseSlot {
    public synthetic <init>(java.lang.String,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,int,int,java.lang.String,com.criteo.publisher.model.nativeads.NativeAssets,int,boolean,boolean,long,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

-if class com.criteo.publisher.advancednative.CriteoMedia
-keepnames class com.criteo.publisher.advancednative.CriteoMedia
-if class com.criteo.publisher.advancednative.CriteoMedia
-keep class com.criteo.publisher.advancednative.CriteoMediaJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogContext
-keepnames class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogContext
-if class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogContext
-keep class com.criteo.publisher.logging.RemoteLogRecords_RemoteLogContextJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativeAdvertiser
-keepnames class com.criteo.publisher.model.nativeads.NativeAdvertiser
-if class com.criteo.publisher.model.nativeads.NativeAdvertiser
-keep class com.criteo.publisher.model.nativeads.NativeAdvertiserJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.User
-keepnames class com.criteo.publisher.model.User
-if class com.criteo.publisher.model.User
-keep class com.criteo.publisher.model.UserJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.model.User
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.model.User
-keepclassmembers class com.criteo.publisher.model.User {
    public synthetic <init>(java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.lang.String,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

-if class com.criteo.publisher.model.CdbRegs
-keepnames class com.criteo.publisher.model.CdbRegs
-if class com.criteo.publisher.model.CdbRegs
-keep class com.criteo.publisher.model.CdbRegsJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.Banner
-keepnames class com.criteo.publisher.model.Banner
-if class com.criteo.publisher.model.Banner
-keep class com.criteo.publisher.model.BannerJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.csm.MetricRequest$MetricRequestFeedback
-keepnames class com.criteo.publisher.csm.MetricRequest$MetricRequestFeedback
-if class com.criteo.publisher.csm.MetricRequest$MetricRequestFeedback
-keep class com.criteo.publisher.csm.MetricRequest_MetricRequestFeedbackJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativeProduct
-keepnames class com.criteo.publisher.model.nativeads.NativeProduct
-if class com.criteo.publisher.model.nativeads.NativeProduct
-keep class com.criteo.publisher.model.nativeads.NativeProductJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.RemoteConfigRequest
-keepnames class com.criteo.publisher.model.RemoteConfigRequest
-if class com.criteo.publisher.model.RemoteConfigRequest
-keep class com.criteo.publisher.model.RemoteConfigRequestJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.model.RemoteConfigRequest
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.model.RemoteConfigRequest
-keepclassmembers class com.criteo.publisher.model.RemoteConfigRequest {
    public synthetic <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

-if class com.criteo.publisher.logging.RemoteLogRecords
-keepnames class com.criteo.publisher.logging.RemoteLogRecords
-if class com.criteo.publisher.logging.RemoteLogRecords
-keep class com.criteo.publisher.logging.RemoteLogRecordsJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativeAssets
-keepnames class com.criteo.publisher.model.nativeads.NativeAssets
-if class com.criteo.publisher.model.nativeads.NativeAssets
-keep class com.criteo.publisher.model.nativeads.NativeAssetsJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogRecord
-keepnames class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogRecord
-if class com.criteo.publisher.logging.RemoteLogRecords$RemoteLogRecord
-keep class com.criteo.publisher.logging.RemoteLogRecords_RemoteLogRecordJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.CdbRequest
-keepnames class com.criteo.publisher.model.CdbRequest
-if class com.criteo.publisher.model.CdbRequest
-keep class com.criteo.publisher.model.CdbRequestJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.privacy.gdpr.GdprData
-keepnames class com.criteo.publisher.privacy.gdpr.GdprData
-if class com.criteo.publisher.privacy.gdpr.GdprData
-keep class com.criteo.publisher.privacy.gdpr.GdprDataJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativePrivacy
-keepnames class com.criteo.publisher.model.nativeads.NativePrivacy
-if class com.criteo.publisher.model.nativeads.NativePrivacy
-keep class com.criteo.publisher.model.nativeads.NativePrivacyJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativeImpressionPixel
-keepnames class com.criteo.publisher.model.nativeads.NativeImpressionPixel
-if class com.criteo.publisher.model.nativeads.NativeImpressionPixel
-keep class com.criteo.publisher.model.nativeads.NativeImpressionPixelJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.csm.MetricRequest
-keepnames class com.criteo.publisher.csm.MetricRequest
-if class com.criteo.publisher.csm.MetricRequest
-keep class com.criteo.publisher.csm.MetricRequestJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.csm.MetricRequest$MetricRequestSlot
-keepnames class com.criteo.publisher.csm.MetricRequest$MetricRequestSlot
-if class com.criteo.publisher.csm.MetricRequest$MetricRequestSlot
-keep class com.criteo.publisher.csm.MetricRequest_MetricRequestSlotJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.CdbRequestSlot
-keepnames class com.criteo.publisher.model.CdbRequestSlot
-if class com.criteo.publisher.model.CdbRequestSlot
-keep class com.criteo.publisher.model.CdbRequestSlotJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.model.nativeads.NativeImage
-keepnames class com.criteo.publisher.model.nativeads.NativeImage
-if class com.criteo.publisher.model.nativeads.NativeImage
-keep class com.criteo.publisher.model.nativeads.NativeImageJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}

-if class com.criteo.publisher.logging.LogMessage
-keepnames class com.criteo.publisher.logging.LogMessage
-if class com.criteo.publisher.logging.LogMessage
-keep class com.criteo.publisher.logging.LogMessageJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.logging.LogMessage
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.logging.LogMessage
-keepclassmembers class com.criteo.publisher.logging.LogMessage {
    public synthetic <init>(int,java.lang.String,java.lang.Throwable,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

-if class com.criteo.publisher.csm.Metric
-keepnames class com.criteo.publisher.csm.Metric
-if class com.criteo.publisher.csm.Metric
-keep class com.criteo.publisher.csm.MetricJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class com.criteo.publisher.csm.Metric
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class com.criteo.publisher.csm.Metric
-keepclassmembers class com.criteo.publisher.csm.Metric {
    public synthetic <init>(java.lang.Long,java.lang.Long,boolean,boolean,java.lang.Long,java.lang.String,java.lang.String,java.lang.Integer,java.lang.Integer,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker);
}


