# {"id":"partitionSourceFiles","fileNameMappings":{"okhttp3.ResponseBody$Companion":"ResponseBody.kt","okhttp3.Request":"Request.kt","okio.Buffer":"Buffer.kt","com.ustadmobile.libcache.okhttp.RequestExtKt":"RequestExt.kt","kotlinx.coroutines.flow.ReadonlyStateFlow":"Share.kt","com.ustadmobile.libcache.headers.HttpHeadersExtKt":"HttpHeadersExt.kt","okhttp3.internal.http.RealInterceptorChain":"RealInterceptorChain.kt","com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt":"OkHttpHeadersAdapter.kt","com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata":"UstadCacheInterceptor.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityState":"ConnectivityMonitor.kt","kotlin.jvm.internal.Intrinsics":"Intrinsics.java","com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt":"OkHttpRequestAdapter.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid":"ConnectivityMonitorAndroid.kt","okio.Okio__OkioKt":"Okio.kt","com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader":"RequestCacheControlHeader.kt","okhttp3.internal.Internal":"internal.kt","okhttp3.Response$Builder":"Response.kt","okhttp3.Response":"Response.kt","kotlin.time.Clock$System":"Clock.kt","okhttp3.HttpUrl":"HttpUrl.kt","kotlin.time.InstantJvmKt":"InstantJvm.kt"}}
com.ustadmobile.libcache.okhttp.UstadCacheInterceptor -> b38:
# {"id":"sourceFile","fileName":"UstadCacheInterceptor.kt"}
    com.ustadmobile.libcache.UstadCache cache -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lx28;"}
    kotlin.jvm.functions.Function0 tmpDirProvider -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lq7;"}
    com.ustadmobile.libcache.logging.UstadCacheLogger logger -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lu32;"}
    com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker cacheControlFreshnessChecker -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lgm4;"}
    com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker responseCacheabilityChecker -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lgm4;"}
    kotlinx.io.files.FileSystem fileSystem -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lxb4;"}
    kotlinx.serialization.json.Json json -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lmk3;"}
    com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor connectivityMonitor -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Le81;"}
    java.util.concurrent.ExecutorService executor -> i
    1:2:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66:66 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lx28;Lq7;Lu32;Lmk3;Le81;)V"}
    3:5:void com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImpl.<init>():8:8 -> <init>
    3:5:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66 -> <init>
    6:7:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68:68 -> <init>
    8:10:void com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImpl.<init>():5:5 -> <init>
    8:10:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68 -> <init>
    11:12:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):69:69 -> <init>
    13:15:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61:61 -> <init>
    16:18:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):60:60 -> <init>
    16:18:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    19:20:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):62:62 -> <init>
    19:20:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    21:22:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):63:63 -> <init>
    21:22:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    23:24:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):64:64 -> <init>
    23:24:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    25:26:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):65:65 -> <init>
    25:26:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    27:28:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):67:67 -> <init>
    27:28:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    29:30:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):69:69 -> <init>
    29:30:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    31:32:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):70:70 -> <init>
    31:32:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    33:34:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):71:71 -> <init>
    33:34:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    35:41:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):74:74 -> <init>
    35:41:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    7:8:okhttp3.Request okhttp3.internal.http.RealInterceptorChain.request():309:309 -> a
    7:8:okhttp3.Response intercept(okhttp3.Interceptor$Chain):264 -> a
    7:8:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lzv5;)Lu96;"}
    9:14:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> a
    9:14:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:14:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    15:16:java.lang.String okhttp3.HttpUrl.toString():757:757 -> a
    15:16:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
    15:16:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    17:18:okhttp3.Call okhttp3.internal.http.RealInterceptorChain.call():307:307 -> a
    17:18:okhttp3.Response intercept(okhttp3.Interceptor$Chain):266 -> a
    17:18:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    19:45:okhttp3.Response intercept(okhttp3.Interceptor$Chain):267:267 -> a
    19:45:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    46:47:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269:269 -> a
    46:47:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    48:54:java.lang.String com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter.get(java.lang.String):10:10 -> a
    48:54:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269 -> a
    48:54:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    55:61:okhttp3.Response intercept(okhttp3.Interceptor$Chain):270:270 -> a
    55:61:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    62:70:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):9:9 -> a
    62:70:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    62:70:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    71:72:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    71:72:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    71:72:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    73:76:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    73:76:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    73:76:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    73:76:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    77:86:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    77:86:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    77:86:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    87:95:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    87:95:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    87:95:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    87:95:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    96:99:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getNoStore():15:15 -> a
    96:99:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:99:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    96:99:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    100:106:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    100:106:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    100:106:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    100:106:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    107:110:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    107:110:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    107:110:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    111:117:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    111:117:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    111:117:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    111:117:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    111:117:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    118:122:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    118:122:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    118:122:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    118:122:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    123:126:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276:276 -> a
    123:126:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    127:148:okhttp3.Response intercept(okhttp3.Interceptor$Chain):279:279 -> a
    127:148:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    149:153:okhttp3.Response intercept(okhttp3.Interceptor$Chain):277:277 -> a
    149:153:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    154:155:okhttp3.Response intercept(okhttp3.Interceptor$Chain):285:285 -> a
    154:155:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    156:159:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    160:164:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    160:164:okhttp3.Response intercept(okhttp3.Interceptor$Chain):283 -> a
    160:164:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    165:165:okhttp3.Response intercept(okhttp3.Interceptor$Chain):288:288 -> a
    165:165:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    166:171:okhttp3.Response intercept(okhttp3.Interceptor$Chain):292:292 -> a
    166:171:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    172:178:okhttp3.Response intercept(okhttp3.Interceptor$Chain):293:293 -> a
    172:178:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    179:183:com.ustadmobile.ihttp.request.IHttpRequest com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt.asIHttpRequest(okhttp3.Request):22:22 -> a
    179:183:okhttp3.Response intercept(okhttp3.Interceptor$Chain):296 -> a
    179:183:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    184:191:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    184:191:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    192:193:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):158:158 -> a
    192:193:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    192:193:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    192:193:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2):1:1 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):157 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    194:197:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    194:197:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    198:204:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    198:204:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    205:212:com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt.asIHttpHeaders(okhttp3.Headers):22:22 -> a
    205:212:okhttp3.Response intercept(okhttp3.Interceptor$Chain):301 -> a
    205:212:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    213:216:okhttp3.Response intercept(okhttp3.Interceptor$Chain):303:303 -> a
    213:216:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    217:235:okhttp3.Response intercept(okhttp3.Interceptor$Chain):304:304 -> a
    217:235:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    236:241:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    236:241:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    236:241:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305 -> a
    236:241:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    242:245:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305:305 -> a
    242:245:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    246:262:okhttp3.Response intercept(okhttp3.Interceptor$Chain):306:306 -> a
    246:262:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    263:268:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    263:268:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    263:268:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307 -> a
    263:268:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    269:275:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307:307 -> a
    269:275:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    276:288:okhttp3.Response intercept(okhttp3.Interceptor$Chain):300:300 -> a
    276:288:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    289:290:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    289:290:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    291:292:kotlinx.coroutines.flow.StateFlow com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid.getStatusFlow():19:19 -> a
    291:292:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    291:292:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    293:298:java.lang.Object kotlinx.coroutines.flow.ReadonlyStateFlow.getValue():0:0 -> a
    293:298:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    293:298:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    299:300:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    299:300:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    301:306:boolean com.ustadmobile.libcache.connectivitymonitor.ConnectivityState.isConnected():9:9 -> a
    301:306:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    301:306:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    307:319:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    307:319:okhttp3.Response intercept(okhttp3.Interceptor$Chain):312 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    307:319:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    320:333:boolean com.ustadmobile.libcache.cachecontrol.CachedResponseStatus.isFresh():15:15 -> a
    320:333:okhttp3.Response intercept(okhttp3.Interceptor$Chain):313 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    320:333:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    334:337:okhttp3.Response intercept(okhttp3.Interceptor$Chain):321:321 -> a
    334:337:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    338:367:okhttp3.Response intercept(okhttp3.Interceptor$Chain):322:322 -> a
    338:367:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    368:372:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    368:372:okhttp3.Response intercept(okhttp3.Interceptor$Chain):334 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    368:372:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    373:374:void okhttp3.Response$Builder.<init>():360:360 -> a
    373:374:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    373:374:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    375:381:void okhttp3.Headers$Builder.<init>():206:206 -> a
    375:381:void okhttp3.Response$Builder.<init>():371 -> a
    375:381:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    375:381:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    382:383:kotlin.Pair okhttp3.internal.Internal.chooseCharset(okhttp3.MediaType):93:93 -> a
    382:383:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):245 -> a
    382:383:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    382:383:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    382:383:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    384:385:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246:246 -> a
    384:385:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    384:385:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    384:385:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    386:388:void okio.Buffer.<init>():76:76 -> a
    386:388:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    386:388:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    386:388:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    386:388:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    389:391:okio.Buffer okio.Buffer.writeString(java.lang.String,java.nio.charset.Charset):0:0 -> a
    389:391:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    389:391:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    389:391:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    389:391:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    392:395:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    392:395:okio.Buffer okio.Buffer.writeString(java.lang.String,int,int,java.nio.charset.Charset):407 -> a
    392:395:okio.Buffer okio.Buffer.writeString(java.lang.String,java.nio.charset.Charset):391 -> a
    392:395:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    392:395:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    392:395:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    392:395:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    396:407:okio.Buffer okio.Buffer.writeString(java.lang.String,int,int,java.nio.charset.Charset):407:407 -> a
    396:407:okio.Buffer okio.Buffer.writeString(java.lang.String,java.nio.charset.Charset):391 -> a
    396:407:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    396:407:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    396:407:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    396:407:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    408:414:okio.Buffer okio.Buffer.writeString(java.lang.String,int,int,java.nio.charset.Charset):408:408 -> a
    408:414:okio.Buffer okio.Buffer.writeString(java.lang.String,java.nio.charset.Charset):391 -> a
    408:414:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    408:414:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    408:414:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    408:414:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    415:418:okio.Buffer okio.Buffer.writeString(java.lang.String,int,int,java.nio.charset.Charset):409:409 -> a
    415:418:okio.Buffer okio.Buffer.writeString(java.lang.String,java.nio.charset.Charset):391 -> a
    415:418:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):246 -> a
    415:418:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    415:418:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    415:418:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    419:421:long okio.Buffer.size():80:80 -> a
    419:421:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):247 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    419:421:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    419:421:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    419:421:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    422:428:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(okio.BufferedSource,okhttp3.MediaType,long):273:273 -> a
    422:428:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(java.lang.String,okhttp3.MediaType):247 -> a
    422:428:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create$default(okhttp3.ResponseBody$Companion,java.lang.String,okhttp3.MediaType,int,java.lang.Object):244 -> a
    422:428:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340 -> a
    422:428:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    429:430:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    429:430:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    429:430:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    429:430:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    429:430:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    431:438:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):215:215 -> a
    431:438:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    431:438:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    431:438:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    431:438:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    439:442:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    439:442:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    439:442:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    439:442:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    439:442:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    443:471:okhttp3.Response okhttp3.Response$Builder.build():510:510 -> a
    443:471:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    443:471:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    472:506:okhttp3.Response intercept(okhttp3.Interceptor$Chain):342:342 -> a
    472:506:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    507:528:okhttp3.Response intercept(okhttp3.Interceptor$Chain):350:350 -> a
    507:528:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    529:532:okhttp3.Response intercept(okhttp3.Interceptor$Chain):351:351 -> a
    529:532:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    533:539:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    533:539:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    533:539:okhttp3.Response intercept(okhttp3.Interceptor$Chain):352 -> a
    533:539:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    540:543:okhttp3.Response intercept(okhttp3.Interceptor$Chain):353:353 -> a
    540:543:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    544:546:okhttp3.Response intercept(okhttp3.Interceptor$Chain):354:354 -> a
    544:546:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    547:550:okhttp3.Response intercept(okhttp3.Interceptor$Chain):356:356 -> a
    547:550:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    551:553:okhttp3.Response intercept(okhttp3.Interceptor$Chain):357:357 -> a
    551:553:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    554:558:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    554:558:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360 -> a
    554:558:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    559:562:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360:360 -> a
    559:562:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    563:568:int okhttp3.Response.code():61:61 -> a
    563:568:okhttp3.Response intercept(okhttp3.Interceptor$Chain):366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    563:568:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    569:571:okhttp3.Response intercept(okhttp3.Interceptor$Chain):367:367 -> a
    569:571:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    572:580:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368:368 -> a
    572:580:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    581:583:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1:1 -> a
    581:583:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368 -> a
    581:583:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    584:587:com.ustadmobile.ihttp.headers.IHttpHeaders com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapter.getHeaders():11:11 -> a
    584:587:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    584:587:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    588:594:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    588:594:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):35 -> a
    588:594:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    588:594:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    595:600:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    595:600:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):36 -> a
    595:600:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    595:600:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    601:602:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    601:602:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    603:617:okhttp3.Response intercept(okhttp3.Interceptor$Chain):379:379 -> a
    603:617:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    618:619:okhttp3.Response intercept(okhttp3.Interceptor$Chain):381:381 -> a
    618:619:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    620:622:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    620:622:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    623:626:okhttp3.Response intercept(okhttp3.Interceptor$Chain):382:382 -> a
    623:626:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    627:636:okhttp3.Response intercept(okhttp3.Interceptor$Chain):385:385 -> a
    627:636:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    637:640:okhttp3.Response intercept(okhttp3.Interceptor$Chain):383:383 -> a
    637:640:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    641:644:okhttp3.Response intercept(okhttp3.Interceptor$Chain):389:389 -> a
    641:644:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    645:672:okhttp3.Response intercept(okhttp3.Interceptor$Chain):390:390 -> a
    645:672:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    673:682:okhttp3.Response intercept(okhttp3.Interceptor$Chain):394:394 -> a
    673:682:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    683:686:boolean com.ustadmobile.libcache.okhttp.ResponseCacheabilityCheckerExtKt.canStore$default(com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,okhttp3.Response,boolean,int,java.lang.Object):8:8 -> a
    683:686:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395 -> a
    683:686:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    687:690:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395:395 -> a
    687:690:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    691:694:okhttp3.Response intercept(okhttp3.Interceptor$Chain):397:397 -> a
    691:694:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    695:722:okhttp3.Response intercept(okhttp3.Interceptor$Chain):398:398 -> a
    695:722:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    723:746:okhttp3.Response intercept(okhttp3.Interceptor$Chain):403:403 -> a
    723:746:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    747:751:okhttp3.Response intercept(okhttp3.Interceptor$Chain):402:402 -> a
    747:751:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    752:753:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362:362 -> a
    752:753:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    754:757:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    758:762:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    758:762:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362 -> a
    758:762:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    763:765:okhttp3.Response intercept(okhttp3.Interceptor$Chain):363:363 -> a
    763:765:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    766:777:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    766:777:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    778:781:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    782:790:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    782:790:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    791:807:okhttp3.Response intercept(okhttp3.Interceptor$Chain):416:416 -> a
    791:807:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    808:832:okhttp3.Response intercept(okhttp3.Interceptor$Chain):418:418 -> a
    808:832:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    833:839:java.lang.String com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata.getEtag():85:85 -> a
    833:839:okhttp3.Response intercept(okhttp3.Interceptor$Chain):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    833:839:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    840:843:okhttp3.Response intercept(okhttp3.Interceptor$Chain):423:423 -> a
    840:843:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    844:850:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    844:850:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    844:850:okhttp3.Response intercept(okhttp3.Interceptor$Chain):424 -> a
    844:850:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    851:855:okhttp3.Response intercept(okhttp3.Interceptor$Chain):425:425 -> a
    851:855:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    856:863:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    856:863:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    864:867:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    868:872:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    868:872:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    873:878:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    873:878:okhttp3.Response intercept(okhttp3.Interceptor$Chain):427 -> a
    873:878:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    879:887:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    879:887:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    879:887:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    879:887:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    888:891:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    888:891:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    888:891:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    892:898:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    892:898:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    892:898:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    892:898:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    892:898:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    899:903:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    899:903:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    899:903:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    899:903:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    904:912:okhttp3.Response intercept(okhttp3.Interceptor$Chain):433:433 -> a
    904:912:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    913:918:okhttp3.Response intercept(okhttp3.Interceptor$Chain):444:444 -> a
    913:918:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    919:922:okhttp3.Response intercept(okhttp3.Interceptor$Chain):449:449 -> a
    919:922:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    923:950:okhttp3.Response intercept(okhttp3.Interceptor$Chain):450:450 -> a
    923:950:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    951:979:okhttp3.Response intercept(okhttp3.Interceptor$Chain):454:454 -> a
    951:979:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    980:981:okhttp3.Response intercept(okhttp3.Interceptor$Chain):437:437 -> a
    980:981:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    982:985:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    986:990:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    986:990:okhttp3.Response intercept(okhttp3.Interceptor$Chain):435 -> a
    986:990:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    991:991:okhttp3.Response intercept(okhttp3.Interceptor$Chain):440:440 -> a
    991:991:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    1:2:int okhttp3.Response.code():61:61 -> b
    1:2:java.lang.String logSummary(okhttp3.Response):79 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:2:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lu96;)Ljava/lang/String;"}
    3:4:java.lang.String okhttp3.Response.message():59:59 -> b
    3:4:java.lang.String logSummary(okhttp3.Response):79 -> b
    3:4:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    5:6:okhttp3.Headers okhttp3.Response.headers():68:68 -> b
    5:6:java.lang.String logSummary(okhttp3.Response):79 -> b
    5:6:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    7:12:java.lang.String logSummary(okhttp3.Response):79:79 -> b
    7:12:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    13:61:java.lang.String logSummary(okhttp3.Response):80:80 -> b
    13:61:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    62:66:java.lang.String UstadCacheInterceptor.logSummary(Response):0:0 -> b
    1:2:okhttp3.Request okhttp3.Response.request():55:55 -> c
    1:2:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lqv5;Lu96;)Lu96;"}
    3:4:java.lang.String okhttp3.Request.method():41:41 -> c
    3:4:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> c
    5:6:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:int okhttp3.Response.code():61:61 -> c
    7:8:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    9:10:java.lang.String okhttp3.Response.message():59:59 -> c
    9:10:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    11:51:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231:231 -> c
    52:56:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230:230 -> c
    57:61:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):232:232 -> c
    62:66:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):233:233 -> c
    67:70:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235:235 -> c
    71:72:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236:236 -> c
    73:76:okio.Source okio.Okio.source(java.io.InputStream):1:1 -> c
    73:76:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    77:81:okio.BufferedSource okio.Okio__OkioKt.buffer(okio.Source):33:33 -> c
    77:81:okio.BufferedSource okio.Okio.buffer(okio.Source):1 -> c
    77:81:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    82:97:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):237:237 -> c
    98:101:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):238:238 -> c
    102:106:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(okio.BufferedSource,okhttp3.MediaType,long):273:273 -> c
    102:106:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    107:108:okhttp3.Response$Builder okhttp3.Response$Builder.body(okhttp3.ResponseBody):453:453 -> c
    107:108:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235 -> c
    109:112:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):241:241 -> c
    113:127:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):242:242 -> c
