CrackMe.apk
Download file
package kotlinx.coroutines;
import androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0;
import java.util.ArrayList;
import java.util.Collections;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.CancellationException;
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
import kotlin.Deprecated;
import kotlin.DeprecationLevel;
import kotlin.ExceptionsKt;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.CoroutineContext;
import kotlin.coroutines.intrinsics.IntrinsicsKt;
import kotlin.coroutines.jvm.internal.CoroutineStackFrame;
import kotlin.coroutines.jvm.internal.DebugProbesKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.sequences.Sequence;
import kotlin.sequences.SequencesKt;
import kotlinx.coroutines.Job;
import kotlinx.coroutines.internal.LockFreeLinkedListHead;
import kotlinx.coroutines.internal.LockFreeLinkedListNode;
import kotlinx.coroutines.internal.OpDescriptor;
import kotlinx.coroutines.internal.StackTraceRecoveryKt;
import kotlinx.coroutines.intrinsics.CancellableKt;
import kotlinx.coroutines.intrinsics.UndispatchedKt;
import kotlinx.coroutines.selects.SelectClause0;
import kotlinx.coroutines.selects.SelectInstance;
@Metadata(d1 = {"\u0000è\u0001\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\n\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0017\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u0001\n\u0002\b\u0012\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\b\n\u0002\b\u0010\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u000e\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0012\b\u0017\u0018\u00002\u00020X2\u00020\u00172\u000202\u00030Ã\u0001:\u0006Ò\u0001Ó\u0001Ô\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0001¢\u0006\u0004\b\u0003\u0010\u0004J'\u0010\u000b\u001a\u00020\u00012\u0006\u0010\u0006\u001a\u00020\u00052\u0006\u0010\b\u001a\u00020\u00072\u0006\u0010\n\u001a\u00020\tH\u0002¢\u0006\u0004\b\u000b\u0010\fJ%\u0010\u0012\u001a\u00020\u00112\u0006\u0010\u000e\u001a\u00020\r2\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\r0\u000fH\u0002¢\u0006\u0004\b\u0012\u0010\u0013J\u0019\u0010\u0015\u001a\u00020\u00112\b\u0010\u0014\u001a\u0004\u0018\u00010\u0005H\u0014¢\u0006\u0004\b\u0015\u0010\u0016J\u0015\u0010\u001a\u001a\u00020\u00192\u0006\u0010\u0018\u001a\u00020\u0017¢\u0006\u0004\b\u001a\u0010\u001bJ\u0015\u0010\u001e\u001a\u0004\u0018\u00010\u0005H@ø\u0001\u0000¢\u0006\u0004\b\u001c\u0010\u001dJ\u0015\u0010\u001f\u001a\u0004\u0018\u00010\u0005H@ø\u0001\u0000¢\u0006\u0004\b\u001f\u0010\u001dJ\u0019\u0010!\u001a\u00020\u00012\b\u0010 \u001a\u0004\u0018\u00010\rH\u0017¢\u0006\u0004\b!\u0010\"J\u001f\u0010!\u001a\u00020\u00112\u000e\u0010 \u001a\n\u0018\u00010#j\u0004\u0018\u0001`$H\u0016¢\u0006\u0004\b!\u0010%J\u0017\u0010&\u001a\u00020\u00012\b\u0010 \u001a\u0004\u0018\u00010\r¢\u0006\u0004\b&\u0010\"J\u0019\u0010)\u001a\u00020\u00012\b\u0010 \u001a\u0004\u0018\u00010\u0005H\u0000¢\u0006\u0004\b'\u0010(J\u0017\u0010*\u001a\u00020\u00112\u0006\u0010 \u001a\u00020\rH\u0016¢\u0006\u0004\b*\u0010+J\u001b\u0010,\u001a\u0004\u0018\u00010\u00052\b\u0010 \u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\b,\u0010-J\u0017\u0010.\u001a\u00020\u00012\u0006\u0010 \u001a\u00020\rH\u0002¢\u0006\u0004\b.\u0010\"J\u000f\u00100\u001a\u00020/H\u0014¢\u0006\u0004\b0\u00101J\u0017\u00102\u001a\u00020\u00012\u0006\u0010 \u001a\u00020\rH\u0016¢\u0006\u0004\b2\u0010\"J!\u00105\u001a\u00020\u00112\u0006\u0010\u0014\u001a\u0002032\b\u00104\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\b5\u00106J)\u0010;\u001a\u00020\u00112\u0006\u0010\u0014\u001a\u0002072\u0006\u00109\u001a\u0002082\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\b;\u0010<J\u0019\u0010=\u001a\u00020\r2\b\u0010 \u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\b=\u0010>J(\u0010C\u001a\u00020@2\n\b\u0002\u0010?\u001a\u0004\u0018\u00010/2\n\b\u0002\u0010 \u001a\u0004\u0018\u00010\rH\b¢\u0006\u0004\bA\u0010BJ#\u0010D\u001a\u0004\u0018\u00010\u00052\u0006\u0010\u0014\u001a\u0002072\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\bD\u0010EJ\u0019\u0010F\u001a\u0004\u0018\u0001082\u0006\u0010\u0014\u001a\u000203H\u0002¢\u0006\u0004\bF\u0010GJ\u0011\u0010H\u001a\u00060#j\u0002`$¢\u0006\u0004\bH\u0010IJ\u0013\u0010J\u001a\u00060#j\u0002`$H\u0016¢\u0006\u0004\bJ\u0010IJ\u0011\u0010M\u001a\u0004\u0018\u00010\u0005H\u0000¢\u0006\u0004\bK\u0010LJ\u000f\u0010N\u001a\u0004\u0018\u00010\r¢\u0006\u0004\bN\u0010OJ'\u0010P\u001a\u0004\u0018\u00010\r2\u0006\u0010\u0014\u001a\u0002072\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\r0\u000fH\u0002¢\u0006\u0004\bP\u0010QJ\u0019\u0010R\u001a\u0004\u0018\u00010\u00072\u0006\u0010\u0014\u001a\u000203H\u0002¢\u0006\u0004\bR\u0010SJ\u0017\u0010U\u001a\u00020\u00012\u0006\u0010T\u001a\u00020\rH\u0014¢\u0006\u0004\bU\u0010\"J\u0017\u0010W\u001a\u00020\u00112\u0006\u0010T\u001a\u00020\rH\u0010¢\u0006\u0004\bV\u0010+J\u0019\u0010Z\u001a\u00020\u00112\b\u0010Y\u001a\u0004\u0018\u00010XH\u0004¢\u0006\u0004\bZ\u0010[JF\u0010d\u001a\u00020c2\u0006\u0010\\\u001a\u00020\u00012\u0006\u0010]\u001a\u00020\u00012'\u0010b\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\r¢\u0006\f\b_\u0012\b\b`\u0012\u0004\b\b( \u0012\u0004\u0012\u00020\u00110^j\u0002`a¢\u0006\u0004\bd\u0010eJ6\u0010d\u001a\u00020c2'\u0010b\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\r¢\u0006\f\b_\u0012\b\b`\u0012\u0004\b\b( \u0012\u0004\u0012\u00020\u00110^j\u0002`a¢\u0006\u0004\bd\u0010fJ\u0013\u0010g\u001a\u00020\u0011H@ø\u0001\u0000¢\u0006\u0004\bg\u0010\u001dJ\u000f\u0010h\u001a\u00020\u0001H\u0002¢\u0006\u0004\bh\u0010iJ\u0013\u0010j\u001a\u00020\u0011H@ø\u0001\u0000¢\u0006\u0004\bj\u0010\u001dJ&\u0010m\u001a\u00020l2\u0014\u0010k\u001a\u0010\u0012\u0006\u0012\u0004\u0018\u00010\u0005\u0012\u0004\u0012\u00020\u00110^H\b¢\u0006\u0004\bm\u0010nJ\u001b\u0010o\u001a\u0004\u0018\u00010\u00052\b\u0010 \u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0004\bo\u0010-J\u0019\u0010q\u001a\u00020\u00012\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0000¢\u0006\u0004\bp\u0010(J\u001b\u0010s\u001a\u0004\u0018\u00010\u00052\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0000¢\u0006\u0004\br\u0010-J@\u0010t\u001a\u00020\t2'\u0010b\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\r¢\u0006\f\b_\u0012\b\b`\u0012\u0004\b\b( \u0012\u0004\u0012\u00020\u00110^j\u0002`a2\u0006\u0010\\\u001a\u00020\u0001H\u0002¢\u0006\u0004\bt\u0010uJ\u000f\u0010w\u001a\u00020/H\u0010¢\u0006\u0004\bv\u00101J\u001f\u0010x\u001a\u00020\u00112\u0006\u0010\b\u001a\u00020\u00072\u0006\u0010 \u001a\u00020\rH\u0002¢\u0006\u0004\bx\u0010yJ.\u0010{\u001a\u00020\u0011\"\n\b\u0000\u0010z\u0018\u0001*\u00020\t2\u0006\u0010\b\u001a\u00020\u00072\b\u0010 \u001a\u0004\u0018\u00010\rH\b¢\u0006\u0004\b{\u0010yJ\u0019\u0010\\\u001a\u00020\u00112\b\u0010 \u001a\u0004\u0018\u00010\rH\u0014¢\u0006\u0004\b\\\u0010+J\u0019\u0010|\u001a\u00020\u00112\b\u0010\u0014\u001a\u0004\u0018\u00010\u0005H\u0014¢\u0006\u0004\b|\u0010\u0016J\u000f\u0010}\u001a\u00020\u0011H\u0014¢\u0006\u0004\b}\u0010~J\u0019\u0010\u0001\u001a\u00020\u00112\u0007\u0010\u0001\u001a\u00020¢\u0006\u0006\b\u0001\u0010\u0001J\u001b\u0010\u0001\u001a\u00020\u00112\u0007\u0010\u0014\u001a\u00030\u0001H\u0002¢\u0006\u0006\b\u0001\u0010
\u0001J\u001a\u0010\u0001\u001a\u00020\u00112\u0006\u0010\u0014\u001a\u00020\tH\u0002¢\u0006\u0006\b\u0001\u0010\u0001JI\u0010\u0001\u001a\u00020\u0011\"\u0005\b\u0000\u0010\u00012\u000e\u0010\u0001\u001a\t\u0012\u0004\u0012\u00028\u00000\u00012\u001d\u0010k\u001a\u0019\b\u0001\u0012\u000b\u0012\t\u0012\u0004\u0012\u00028\u00000\u0001\u0012\u0006\u0012\u0004\u0018\u00010\u00050^ø\u0001\u0000¢\u0006\u0006\b\u0001\u0010\u0001JX\u0010\u0001\u001a\u00020\u0011\"\u0004\b\u0000\u0010z\"\u0005\b\u0001\u0010\u00012\u000e\u0010\u0001\u001a\t\u0012\u0004\u0012\u00028\u00010\u00012$\u0010k\u001a \b\u0001\u0012\u0004\u0012\u00028\u0000\u0012\u000b\u0012\t\u0012\u0004\u0012\u00028\u00010\u0001\u0012\u0006\u0012\u0004\u0018\u00010\u00050\u0001H\u0000ø\u0001\u0000¢\u0006\u0006\b\u0001\u0010\u0001J\u001a\u0010\u0001\u001a\u00020\u00112\u0006\u0010\n\u001a\u00020\tH\u0000¢\u0006\u0006\b\u0001\u0010\u0001JX\u0010\u0001\u001a\u00020\u0011\"\u0004\b\u0000\u0010z\"\u0005\b\u0001\u0010\u00012\u000e\u0010\u0001\u001a\t\u0012\u0004\u0012\u00028\u00010\u00012$\u0010k\u001a \b\u0001\u0012\u0004\u0012\u00028\u0000\u0012\u000b\u0012\t\u0012\u0004\u0012\u00028\u00010\u0001\u0012\u0006\u0012\u0004\u0018\u00010\u00050\u0001H\u0000ø\u0001\u0000¢\u0006\u0006\b\u0001\u0010\u0001J\u000f\u0010\u0001\u001a\u00020\u0001¢\u0006\u0005\b\u0001\u0010iJ\u001d\u0010\u0001\u001a\u00030\u00012\b\u0010\u0014\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0006\b\u0001\u0010\u0001J\u001c\u0010\u0001\u001a\u00020/2\b\u0010\u0014\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0006\b\u0001\u0010\u0001J\u0011\u0010\u0001\u001a\u00020/H\u0007¢\u0006\u0005\b\u0001\u00101J\u0011\u0010\u0001\u001a\u00020/H\u0016¢\u0006\u0005\b\u0001\u00101J$\u0010\u0001\u001a\u00020\u00012\u0006\u0010\u0014\u001a\u0002032\b\u00104\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0006\b\u0001\u0010\u0001J\"\u0010 \u0001\u001a\u00020\u00012\u0006\u0010\u0014\u001a\u0002032\u0006\u0010\u000e\u001a\u00020\rH\u0002¢\u0006\u0006\b \u0001\u0010¡\u0001J(\u0010¢\u0001\u001a\u0004\u0018\u00010\u00052\b\u0010\u0014\u001a\u0004\u0018\u00010\u00052\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0006\b¢\u0001\u0010£\u0001J&\u0010¤\u0001\u001a\u0004\u0018\u00010\u00052\u0006\u0010\u0014\u001a\u0002032\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0002¢\u0006\u0006\b¤\u0001\u0010¥\u0001J-\u0010¦\u0001\u001a\u00020\u00012\u0006\u0010\u0014\u001a\u0002072\u0006\u0010\u0018\u001a\u0002082\b\u0010:\u001a\u0004\u0018\u00010\u0005H\u0010¢\u0006\u0006\b¦\u0001\u0010§\u0001J\u0019\u0010©\u0001\u001a\u0004\u0018\u000108*\u00030¨\u0001H\u0002¢\u0006\u0006\b©\u0001\u0010ª\u0001J\u001f\u0010«\u0001\u001a\u00020\u0011*\u00020\u00072\b\u0010 \u001a\u0004\u0018\u00010\rH\u0002¢\u0006\u0005\b«\u0001\u0010yJ&\u0010¬\u0001\u001a\u00060#j\u0002`$*\u00020\r2\n\b\u0002\u0010?\u001a\u0004\u0018\u00010/H\u0004¢\u0006\u0006\b¬\u0001\u0010\u0001R\u001b\u0010±\u0001\u001a\t\u0012\u0004\u0012\u00020X0®\u00018F¢\u0006\b\u001a\u0006\b¯\u0001\u0010°\u0001R\u0018\u0010³\u0001\u001a\u0004\u0018\u00010\r8DX\u0004¢\u0006\u0007\u001a\u0005\b²\u0001\u0010OR\u0016\u0010µ\u0001\u001a\u00020\u00018DX\u0004¢\u0006\u0007\u001a\u0005\b´\u0001\u0010iR\u0016\u0010·\u0001\u001a\u00020\u00018PX\u0004¢\u0006\u0007\u001a\u0005\b¶\u0001\u0010iR\u0016\u0010¸\u0001\u001a\u00020\u00018VX\u0004¢\u0006\u0007\u001a\u0005\b¸\u0001\u0010iR\u0013\u0010¹\u0001\u001a\u00020\u00018F¢\u0006\u0007\u001a\u0005\b¹\u0001\u0010iR\u0013\u0010º\u0001\u001a\u00020\u00018F¢\u0006\u0007\u001a\u0005\bº\u0001\u0010iR\u0013\u0010»\u0001\u001a\u00020\u00018F¢\u0006\u0007\u001a\u0005\b»\u0001\u0010iR\u0016\u0010¼\u0001\u001a\u00020\u00018TX\u0004¢\u0006\u0007\u001a\u0005\b¼\u0001\u0010iR\u0019\u0010À\u0001\u001a\u0007\u0012\u0002\b\u00030½\u00018F¢\u0006\b\u001a\u0006\b¾\u0001\u0010¿\u0001R\u0016\u0010Â\u0001\u001a\u00020\u00018PX\u0004¢\u0006\u0007\u001a\u0005\bÁ\u0001\u0010iR\u0015\u0010Æ\u0001\u001a\u00030Ã\u00018F¢\u0006\b\u001a\u0006\bÄ\u0001\u0010Å\u0001R.\u0010Ì\u0001\u001a\u0004\u0018\u00010\u00192\t\u0010Ç\u0001\u001a\u0004\u0018\u00010\u00198@@@X\u000e¢\u0006\u0010\u001a\u0006\bÈ\u0001\u0010É\u0001\"\u0006\bÊ\u0001\u0010Ë\u0001R\u0017\u0010\u0014\u001a\u0004\u0018\u00010\u00058@X\u0004¢\u0006\u0007\u001a\u0005\bÍ\u0001\u0010LR\u001e\u0010Ï\u0001\u001a\u0004\u0018\u00010\r*\u0004\u0018\u00010\u00058BX\u0004¢\u0006\u0007\u001a\u0005\bÎ\u0001\u0010>R\u001b\u0010Ð\u0001\u001a\u00020\u0001*\u0002038BX\u0004¢\u0006\b\u001a\u0006\bÐ\u0001\u0010Ñ\u0001\u0002\u0004\n\u0002\b\u0019¨\u0006Õ\u0001"}, d2 = {"Lkotlinx/coroutines/JobSupport;", "", "active", "<init>", "(Z)V", "", "expect", "Lkotlinx/coroutines/NodeList;", "list", "Lkotlinx/coroutines/JobNode;", "node", "addLastAtomic", "(Ljava/lang/Object;Lkotlinx/coroutines/NodeList;Lkotlinx/coroutines/JobNode;)Z", "", "rootCause", "", "exceptions", "", "addSuppressedExceptions", "(Ljava/lang/Throwable;Ljava/util/List;)V", "state", "afterCompletion", "(Ljava/lang/Object;)V", "Lkotlinx/coroutines/ChildJob;", "child", "Lkotlinx/coroutines/ChildHandle;", "attachChild", "(Lkotlinx/coroutines/ChildJob;)Lkotlinx/coroutines/ChildHandle;", "awaitInternal$kotlinx_coroutines_core", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "awaitInternal", "awaitSuspend", "cause", "cancel", "(Ljava/lang/Throwable;)Z", "Ljava/util/concurrent/CancellationException;", "Lkotlinx/coroutines/CancellationException;", "(Ljava/util/concurrent/CancellationException;)V", "cancelCoroutine", "cancelImpl$kotlinx_coroutines_core", "(Ljava/lang/Object;)Z", "cancelImpl", "cancelInternal", "(Ljava/lang/Throwable;)V", "cancelMakeCompleting", "(Ljava/lang/Object;)Ljava/lang/Object;", "cancelParent", "", "cancellationExceptionMessage", "()Ljava/lang/String;", "childCancelled", "Lkotlinx/coroutines/Incomplete;", "update", "completeStateFinalization", "(Lkotlinx/coroutines/Incomplete;Ljava/lang/Object;)V", "Lkotlinx/coroutines/JobSupport$Finishing;", "Lkotlinx/coroutines/ChildHandleNode;", "lastChild", "proposedUpdate", "continueCompleting", "(Lkotlinx/coroutines/JobSupport$Finishing;Lkotlinx/coroutines/ChildHandleNode;Ljava/lang/Object;)V", "createCauseException", "(Ljava/lang/Object;)Ljava/lang/Throwable;", "message", "Lkotlinx/coroutines/JobCancellationException;", "defaultCancellationException$kotlinx_coroutines_core", "(Ljava/lang/String;Ljava/lang/Throwable;)Lkotlinx/coroutines/JobCancellationException;", "defaultCancellationException", "finalizeFinishingState", "(Lkotlinx/coroutines/JobSupport$Finishing;Ljava/lang/Object;)Ljava/lang/Object;", "firstChild", "(Lkotlinx/coroutines/Incomplete;)Lkotlinx/coroutines/ChildHandleNode;", "getCancellationException", "()Ljava/util/concurrent/CancellationException;", "getChildJobCancellationCause", "getCompletedInternal$kotlinx_coroutines_core", "()Ljava/lang/Object;", "getCompletedInternal", "getCompletionExceptionOrNull", "()Ljava/lang/Throwable;", "getFinalRootCause", "(Lkotlinx/coroutines/JobSupport$Finishing;Ljava/util/List;)Ljava/lang/Throwable;", "getOrPromoteCancellingList", "(Lkotlinx/coroutines/Incomplete;)Lkotlinx/coroutines/NodeList;", "exception", "handleJobException", "handleOnCompletionException$kotlinx_coroutines_core", "handleOnCompletionException", "Lkotlinx/coroutines/Job;", "parent", "initParentJob", "(Lkotlinx/coroutines/Job;)V", "onCancelling", "invokeImmediately", "Lkotlin/Function1;", "Lkotlin/ParameterName;", "name", "Lkotlinx/coroutines/CompletionHandler;", "handler", "Lkotlinx/coroutines/DisposableHandle;", "invokeOnCompletion", "(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle;", "(Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle;", "join", "joinInternal", "()Z", "joinSuspend", "block", "", "loopOnState", "(Lkotlin/jvm/functions/Function1;)Ljava/lang/Void;", "makeCancelling", "makeCompleting$kotlinx_coroutines_core", "makeCompleting", "makeCompletingOnce$kotlinx_coroutines_core", "makeCompletingOnce", "makeNode", "(Lkotlin/jvm/functions/Function1;Z)Lkotlinx/coroutines/JobNode;", "nameString$kotlinx_coroutines_core", "nameString", "notifyCancelling", "(Lkotlinx/coroutines/NodeList;Ljava/lang/Throwable;)V", "T", "notifyHandlers", "onCompletionInternal", "onStart", "()V", "Lkotlinx/coroutines/ParentJob;", "parentJob", "parentCancelled", "(Lkotlinx/coroutines/ParentJob;)V", "Lkotlinx/coroutines/Empty;", "promoteEmptyToNodeList", "(Lkotlinx/coroutines/Empty;)V", "promoteSingleToNodeList", "(Lkotlinx/coroutines/JobNode;)V", "R", "Lkotlinx/coroutines/selects/SelectInstance;", "select", "Lkotlin/coroutines/Continuation;", "registerSelectClause0", "(Lkotlinx/coroutines/selects/SelectInstance;Lkotlin/jvm/functions/Function1;)V", "Lkotlin/Function2;", "registerSelectClause1Internal$kotlinx_coroutines_core", "(Lkotlinx/coroutines/selects/SelectInstance;Lkotlin/jvm/functions/Function2;)V", "registerSelectClause1Internal", "removeNode$kotlinx_coroutines_core", "removeNode", "selectAwaitCompletion$kotlinx_coroutines_core", "selectAwaitCompletion", "start", "", "startInternal", "(Ljava/lang/Object;)I", "stateString", "(Ljava/lang/Object;)Ljava/lang/String;", "toDebugString", "toString", "tryFinalizeSimpleState", "(Lkotlinx/coroutines/Incomplete;Ljava/lang/Object;)Z", "tryMakeCancelling", "(Lkotlinx/coroutines/Incomplete;Ljava/lang/Throwable;)Z", "tryMakeCompleting", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "tryMakeCompletingSlowPath", "(Lkotlinx/coroutines/Incomplete;Ljava/lang/Object;)Ljava/lang/Object;", "tryWaitForChild", "(Lkotlinx/coroutines/JobSupport$Finishing;Lkotlinx/coroutines/ChildHandleNode;Ljava/lang/Object;)Z", "Lkotlinx/coroutines/internal/LockFreeLinkedListNode;", "nextChild", "(Lkotlinx/coroutines/internal/LockFreeLinkedListNode;)Lkotlinx/coroutines/ChildHandleNode;", "notifyCompletion", "toCancellationException", "(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/util/concurrent/CancellationException;", "Lkotlin/sequences/Sequence;", "getChildren", "()Lkotlin/sequences/Sequence;", "children", "getCompletionCause", "completionCause", "getCompletionCauseHandled", "completionCauseHandled", "getHandlesException$kotlinx_coroutines_core", "handlesException", "isActive", "isCancelled", "isCompleted", "isCompletedExceptionally", "isScopedCoroutine", "Lkotlin/coroutines/CoroutineContext$Key;", "getKey", "()Lkotlin/coroutines/CoroutineContext$Key;", "key", "getOnCancelComplete$kotlinx_coroutines_core", "onCancelComplete", "Lkotlinx/coroutines/selects/SelectClause0;", "getOnJoin", "()Lkotlinx/coroutines/selects/SelectClause0;", "onJoin", "value", "getParentHandle$kotlinx_coroutines_core", "()Lkotlinx/coroutines/ChildHandle;", "setParentHandle$kotlinx_coroutines_core", "(Lkotlinx/coroutines/ChildHandle;)V", "parentHandle", "getState$kotlinx_coroutines_core", "getExceptionOrNull", "exceptionOrNull", "isCancelling", "(Lkotlinx/coroutines/Incomplete;)Z", "AwaitContinuation", "ChildCompletion", "Finishing", "kotlinx-coroutines-core"}, k = 1, mv = {1, 6, 0}, xi = 48)
@Deprecated(level = DeprecationLevel.ERROR, message = "This is internal API and may be removed in the future releases")
/* compiled from: JobSupport.kt */
public class JobSupport implements Job, ChildJob, ParentJob, SelectClause0 {
private static final /* synthetic */ AtomicReferenceFieldUpdater _state$FU = AtomicReferenceFieldUpdater.newUpdater(JobSupport.class, Object.class, "_state");
private volatile /* synthetic */ Object _parentHandle;
private volatile /* synthetic */ Object _state;
/* access modifiers changed from: protected */
public void afterCompletion(Object obj) {
}
/* access modifiers changed from: protected */
public String cancellationExceptionMessage() {
return "Job was cancelled";
}
public boolean getHandlesException$kotlinx_coroutines_core() {
return true;
}
public boolean getOnCancelComplete$kotlinx_coroutines_core() {
return false;
}
/* access modifiers changed from: protected */
public boolean handleJobException(Throwable th) {
return false;
}
/* access modifiers changed from: protected */
public boolean isScopedCoroutine() {
return false;
}
/* access modifiers changed from: protected */
public void onCancelling(Throwable th) {
}
/* access modifiers changed from: protected */
public void onCompletionInternal(Object obj) {
}
/* access modifiers changed from: protected */
public void onStart() {
}
public JobSupport(boolean z) {
this._state = z ? JobSupportKt.EMPTY_ACTIVE : JobSupportKt.EMPTY_NEW;
this._parentHandle = null;
}
@Deprecated(level = DeprecationLevel.HIDDEN, message = "Since 1.2.0, binary compatibility with versions <= 1.1.x")
public /* synthetic */ void cancel() {
cancel((CancellationException) null);
}
public <R> R fold(R r, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
return Job.DefaultImpls.fold(this, r, function2);
}
public <E extends CoroutineContext.Element> E get(CoroutineContext.Key<E> key) {
return Job.DefaultImpls.get(this, key);
}
public CoroutineContext minusKey(CoroutineContext.Key<?> key) {
return Job.DefaultImpls.minusKey(this, key);
}
public CoroutineContext plus(CoroutineContext coroutineContext) {
return Job.DefaultImpls.plus((Job) this, coroutineContext);
}
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
public Job plus(Job job) {
return Job.DefaultImpls.plus((Job) this, job);
}
public final CoroutineContext.Key<?> getKey() {
return Job.Key;
}
public final ChildHandle getParentHandle$kotlinx_coroutines_core() {
return (ChildHandle) this._parentHandle;
}
public final void setParentHandle$kotlinx_coroutines_core(ChildHandle childHandle) {
this._parentHandle = childHandle;
}
/* access modifiers changed from: protected */
public final void initParentJob(Job job) {
if (DebugKt.getASSERTIONS_ENABLED()) {
if (!(getParentHandle$kotlinx_coroutines_core() == null)) {
throw new AssertionError();
}
}
if (job == null) {
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
return;
}
job.start();
ChildHandle attachChild = job.attachChild(this);
setParentHandle$kotlinx_coroutines_core(attachChild);
if (isCompleted()) {
attachChild.dispose();
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
}
}
private final Void loopOnState(Function1<Object, Unit> function1) {
while (true) {
function1.invoke(getState$kotlinx_coroutines_core());
}
}
public boolean isActive() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
return (state$kotlinx_coroutines_core instanceof Incomplete) && ((Incomplete) state$kotlinx_coroutines_core).isActive();
}
public final boolean isCompleted() {
return !(getState$kotlinx_coroutines_core() instanceof Incomplete);
}
public final boolean isCancelled() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
return (state$kotlinx_coroutines_core instanceof CompletedExceptionally) || ((state$kotlinx_coroutines_core instanceof Finishing) && ((Finishing) state$kotlinx_coroutines_core).isCancelling());
}
private final Object finalizeFinishingState(Finishing finishing, Object obj) {
boolean isCancelling;
Throwable finalRootCause;
boolean z = true;
if (DebugKt.getASSERTIONS_ENABLED()) {
if (!(getState$kotlinx_coroutines_core() == finishing)) {
throw new AssertionError();
}
}
if (DebugKt.getASSERTIONS_ENABLED() && !(!finishing.isSealed())) {
throw new AssertionError();
} else if (!DebugKt.getASSERTIONS_ENABLED() || finishing.isCompleting()) {
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
Throwable th = completedExceptionally == null ? null : completedExceptionally.cause;
synchronized (finishing) {
isCancelling = finishing.isCancelling();
List<Throwable> sealLocked = finishing.sealLocked(th);
finalRootCause = getFinalRootCause(finishing, sealLocked);
if (finalRootCause != null) {
addSuppressedExceptions(finalRootCause, sealLocked);
}
}
if (!(finalRootCause == null || finalRootCause == th)) {
obj = new CompletedExceptionally(finalRootCause, false, 2, (DefaultConstructorMarker) null);
}
if (finalRootCause != null) {
if (!cancelParent(finalRootCause) && !handleJobException(finalRootCause)) {
z = false;
}
if (z) {
Objects.requireNonNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.CompletedExceptionally");
((CompletedExceptionally) obj).makeHandled();
}
}
if (!isCancelling) {
onCancelling(finalRootCause);
}
onCompletionInternal(obj);
boolean m = AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, finishing, JobSupportKt.boxIncomplete(obj));
if (!DebugKt.getASSERTIONS_ENABLED() || m) {
completeStateFinalization(finishing, obj);
return obj;
}
throw new AssertionError();
} else {
throw new AssertionError();
}
}
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r1v0, resolved type: java.lang.Throwable} */
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r1v1, resolved type: java.lang.Throwable} */
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r2v6, resolved type: java.lang.Object} */
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r4v0, resolved type: java.lang.Throwable} */
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r1v3, resolved type: java.lang.Throwable} */
/* JADX WARNING: Multi-variable type inference failed */
/* Code decompiled incorrectly, please refer to instructions dump. */
private final java.lang.Throwable getFinalRootCause(kotlinx.coroutines.JobSupport.Finishing r6, java.util.List<? extends java.lang.Throwable> r7) {
/*
r5 = this;
boolean r0 = r7.isEmpty()
r1 = 0
if (r0 == 0) goto L_0x001d
boolean r6 = r6.isCancelling()
if (r6 == 0) goto L_0x001c
kotlinx.coroutines.JobCancellationException r6 = new kotlinx.coroutines.JobCancellationException
java.lang.String r7 = r5.cancellationExceptionMessage()
r0 = r5
kotlinx.coroutines.Job r0 = (kotlinx.coroutines.Job) r0
r6.<init>(r7, r1, r0)
java.lang.Throwable r6 = (java.lang.Throwable) r6
return r6
L_0x001c:
return r1
L_0x001d:
r6 = r7
java.lang.Iterable r6 = (java.lang.Iterable) r6
java.util.Iterator r0 = r6.iterator()
L_0x0024:
boolean r2 = r0.hasNext()
r3 = 1
if (r2 == 0) goto L_0x0038
java.lang.Object r2 = r0.next()
r4 = r2
java.lang.Throwable r4 = (java.lang.Throwable) r4
boolean r4 = r4 instanceof java.util.concurrent.CancellationException
r4 = r4 ^ r3
if (r4 == 0) goto L_0x0024
goto L_0x0039
L_0x0038:
r2 = r1
L_0x0039:
java.lang.Throwable r2 = (java.lang.Throwable) r2
if (r2 == 0) goto L_0x003e
return r2
L_0x003e:
r0 = 0
java.lang.Object r7 = r7.get(r0)
java.lang.Throwable r7 = (java.lang.Throwable) r7
boolean r2 = r7 instanceof kotlinx.coroutines.TimeoutCancellationException
if (r2 == 0) goto L_0x006b
java.util.Iterator r6 = r6.iterator()
L_0x004d:
boolean r2 = r6.hasNext()
if (r2 == 0) goto L_0x0066
java.lang.Object r2 = r6.next()
r4 = r2
java.lang.Throwable r4 = (java.lang.Throwable) r4
if (r4 == r7) goto L_0x0062
boolean r4 = r4 instanceof kotlinx.coroutines.TimeoutCancellationException
if (r4 == 0) goto L_0x0062
r4 = 1
goto L_0x0063
L_0x0062:
r4 = 0
L_0x0063:
if (r4 == 0) goto L_0x004d
r1 = r2
L_0x0066:
java.lang.Throwable r1 = (java.lang.Throwable) r1
if (r1 == 0) goto L_0x006b
return r1
L_0x006b:
return r7
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.JobSupport.getFinalRootCause(kotlinx.coroutines.JobSupport$Finishing, java.util.List):java.lang.Throwable");
}
private final void addSuppressedExceptions(Throwable th, List<? extends Throwable> list) {
if (list.size() > 1) {
Set newSetFromMap = Collections.newSetFromMap(new IdentityHashMap(list.size()));
Throwable unwrapImpl = !DebugKt.getRECOVER_STACK_TRACES() ? th : StackTraceRecoveryKt.unwrapImpl(th);
for (Throwable th2 : list) {
if (DebugKt.getRECOVER_STACK_TRACES()) {
th2 = StackTraceRecoveryKt.unwrapImpl(th2);
}
if (th2 != th && th2 != unwrapImpl && !(th2 instanceof CancellationException) && newSetFromMap.add(th2)) {
ExceptionsKt.addSuppressed(th, th2);
}
}
}
}
private final boolean tryFinalizeSimpleState(Incomplete incomplete, Object obj) {
if (DebugKt.getASSERTIONS_ENABLED()) {
if (!((incomplete instanceof Empty) || (incomplete instanceof JobNode))) {
throw new AssertionError();
}
}
if (DebugKt.getASSERTIONS_ENABLED() && !(!(obj instanceof CompletedExceptionally))) {
throw new AssertionError();
} else if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, incomplete, JobSupportKt.boxIncomplete(obj))) {
return false;
} else {
onCancelling((Throwable) null);
onCompletionInternal(obj);
completeStateFinalization(incomplete, obj);
return true;
}
}
private final void completeStateFinalization(Incomplete incomplete, Object obj) {
ChildHandle parentHandle$kotlinx_coroutines_core = getParentHandle$kotlinx_coroutines_core();
if (parentHandle$kotlinx_coroutines_core != null) {
parentHandle$kotlinx_coroutines_core.dispose();
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
}
Throwable th = null;
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
if (completedExceptionally != null) {
th = completedExceptionally.cause;
}
if (incomplete instanceof JobNode) {
try {
((JobNode) incomplete).invoke(th);
} catch (Throwable th2) {
handleOnCompletionException$kotlinx_coroutines_core(new CompletionHandlerException("Exception in completion handler " + incomplete + " for " + this, th2));
}
} else {
NodeList list = incomplete.getList();
if (list != null) {
notifyCompletion(list, th);
}
}
}
private final void notifyCancelling(NodeList nodeList, Throwable th) {
onCancelling(th);
LockFreeLinkedListHead lockFreeLinkedListHead = nodeList;
CompletionHandlerException completionHandlerException = null;
for (LockFreeLinkedListNode lockFreeLinkedListNode = (LockFreeLinkedListNode) lockFreeLinkedListHead.getNext(); !Intrinsics.areEqual((Object) lockFreeLinkedListNode, (Object) lockFreeLinkedListHead); lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode()) {
if (lockFreeLinkedListNode instanceof JobCancellingNode) {
JobNode jobNode = (JobNode) lockFreeLinkedListNode;
try {
jobNode.invoke(th);
} catch (Throwable th2) {
Throwable th3 = completionHandlerException;
if (th3 == null) {
th3 = null;
} else {
ExceptionsKt.addSuppressed(th3, th2);
}
if (th3 == null) {
JobSupport jobSupport = this;
completionHandlerException = new CompletionHandlerException("Exception in completion handler " + jobNode + " for " + this, th2);
}
}
}
}
Throwable th4 = completionHandlerException;
if (th4 != null) {
handleOnCompletionException$kotlinx_coroutines_core(th4);
}
cancelParent(th);
}
private final boolean cancelParent(Throwable th) {
if (isScopedCoroutine()) {
return true;
}
boolean z = th instanceof CancellationException;
ChildHandle parentHandle$kotlinx_coroutines_core = getParentHandle$kotlinx_coroutines_core();
if (parentHandle$kotlinx_coroutines_core == null || parentHandle$kotlinx_coroutines_core == NonDisposableHandle.INSTANCE) {
return z;
}
if (parentHandle$kotlinx_coroutines_core.childCancelled(th) || z) {
return true;
}
return false;
}
private final /* synthetic */ <T extends JobNode> void notifyHandlers(NodeList nodeList, Throwable th) {
LockFreeLinkedListHead lockFreeLinkedListHead = nodeList;
CompletionHandlerException completionHandlerException = null;
for (LockFreeLinkedListNode lockFreeLinkedListNode = (LockFreeLinkedListNode) lockFreeLinkedListHead.getNext(); !Intrinsics.areEqual((Object) lockFreeLinkedListNode, (Object) lockFreeLinkedListHead); lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode()) {
Intrinsics.reifiedOperationMarker(3, "T");
if (lockFreeLinkedListNode instanceof LockFreeLinkedListNode) {
JobNode jobNode = (JobNode) lockFreeLinkedListNode;
try {
jobNode.invoke(th);
} catch (Throwable th2) {
Throwable th3 = completionHandlerException;
if (th3 == null) {
th3 = null;
} else {
Throwable th4 = th3;
ExceptionsKt.addSuppressed(th3, th2);
}
if (th3 == null) {
JobSupport jobSupport = this;
completionHandlerException = new CompletionHandlerException("Exception in completion handler " + jobNode + " for " + this, th2);
}
}
}
}
Throwable th5 = completionHandlerException;
if (th5 != null) {
Throwable th6 = th5;
handleOnCompletionException$kotlinx_coroutines_core(th5);
}
}
private final int startInternal(Object obj) {
if (obj instanceof Empty) {
if (((Empty) obj).isActive()) {
return 0;
}
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, JobSupportKt.EMPTY_ACTIVE)) {
return -1;
}
onStart();
return 1;
} else if (!(obj instanceof InactiveNodeList)) {
return 0;
} else {
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, ((InactiveNodeList) obj).getList())) {
return -1;
}
onStart();
return 1;
}
}
public final CancellationException getCancellationException() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
CancellationException cancellationException = null;
if (state$kotlinx_coroutines_core instanceof Finishing) {
Throwable rootCause = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
if (rootCause != null) {
cancellationException = toCancellationException(rootCause, Intrinsics.stringPlus(DebugStringsKt.getClassSimpleName(this), " is cancelling"));
}
if (cancellationException != null) {
return cancellationException;
}
throw new IllegalStateException(Intrinsics.stringPlus("Job is still new or active: ", this).toString());
} else if (state$kotlinx_coroutines_core instanceof Incomplete) {
throw new IllegalStateException(Intrinsics.stringPlus("Job is still new or active: ", this).toString());
} else if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
return toCancellationException$default(this, ((CompletedExceptionally) state$kotlinx_coroutines_core).cause, (String) null, 1, (Object) null);
} else {
return new JobCancellationException(Intrinsics.stringPlus(DebugStringsKt.getClassSimpleName(this), " has completed normally"), (Throwable) null, this);
}
}
public static /* synthetic */ CancellationException toCancellationException$default(JobSupport jobSupport, Throwable th, String str, int i, Object obj) {
if (obj == null) {
if ((i & 1) != 0) {
str = null;
}
return jobSupport.toCancellationException(th, str);
}
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: toCancellationException");
}
/* access modifiers changed from: protected */
public final CancellationException toCancellationException(Throwable th, String str) {
CancellationException cancellationException = th instanceof CancellationException ? (CancellationException) th : null;
if (cancellationException != null) {
return cancellationException;
}
if (str == null) {
str = cancellationExceptionMessage();
}
return new JobCancellationException(str, th, this);
}
/* access modifiers changed from: protected */
public final Throwable getCompletionCause() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Finishing) {
Throwable rootCause = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
if (rootCause != null) {
return rootCause;
}
throw new IllegalStateException(Intrinsics.stringPlus("Job is still new or active: ", this).toString());
} else if (state$kotlinx_coroutines_core instanceof Incomplete) {
throw new IllegalStateException(Intrinsics.stringPlus("Job is still new or active: ", this).toString());
} else if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
return ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
} else {
return null;
}
}
/* access modifiers changed from: protected */
public final boolean getCompletionCauseHandled() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
return (state$kotlinx_coroutines_core instanceof CompletedExceptionally) && ((CompletedExceptionally) state$kotlinx_coroutines_core).getHandled();
}
public final DisposableHandle invokeOnCompletion(Function1<? super Throwable, Unit> function1) {
return invokeOnCompletion(false, true, function1);
}
public final DisposableHandle invokeOnCompletion(boolean z, boolean z2, Function1<? super Throwable, Unit> function1) {
JobNode makeNode = makeNode(function1, z);
while (true) {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Empty) {
Empty empty = (Empty) state$kotlinx_coroutines_core;
if (!empty.isActive()) {
promoteEmptyToNodeList(empty);
} else if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, state$kotlinx_coroutines_core, makeNode)) {
return makeNode;
}
} else {
Throwable th = null;
if (state$kotlinx_coroutines_core instanceof Incomplete) {
NodeList list = ((Incomplete) state$kotlinx_coroutines_core).getList();
if (list == null) {
Objects.requireNonNull(state$kotlinx_coroutines_core, "null cannot be cast to non-null type kotlinx.coroutines.JobNode");
promoteSingleToNodeList((JobNode) state$kotlinx_coroutines_core);
} else {
DisposableHandle disposableHandle = NonDisposableHandle.INSTANCE;
if (z && (state$kotlinx_coroutines_core instanceof Finishing)) {
synchronized (state$kotlinx_coroutines_core) {
th = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
if (th == null || ((function1 instanceof ChildHandleNode) && !((Finishing) state$kotlinx_coroutines_core).isCompleting())) {
if (addLastAtomic(state$kotlinx_coroutines_core, list, makeNode)) {
if (th == null) {
DisposableHandle disposableHandle2 = makeNode;
return disposableHandle2;
}
disposableHandle = makeNode;
}
}
Unit unit = Unit.INSTANCE;
}
}
if (th != null) {
if (z2) {
function1.invoke(th);
}
return disposableHandle;
} else if (addLastAtomic(state$kotlinx_coroutines_core, list, makeNode)) {
return makeNode;
}
}
} else {
if (z2) {
CompletedExceptionally completedExceptionally = state$kotlinx_coroutines_core instanceof CompletedExceptionally ? (CompletedExceptionally) state$kotlinx_coroutines_core : null;
if (completedExceptionally != null) {
th = completedExceptionally.cause;
}
function1.invoke(th);
}
return NonDisposableHandle.INSTANCE;
}
}
}
}
private final JobNode makeNode(Function1<? super Throwable, Unit> function1, boolean z) {
JobNode jobNode = null;
if (z) {
if (function1 instanceof JobCancellingNode) {
jobNode = (JobCancellingNode) function1;
}
if (jobNode == null) {
jobNode = new InvokeOnCancelling(function1);
}
jobNode = jobNode;
} else {
JobNode jobNode2 = function1 instanceof JobNode ? (JobNode) function1 : null;
if (jobNode2 != null) {
if (!DebugKt.getASSERTIONS_ENABLED() || (!(jobNode2 instanceof JobCancellingNode))) {
jobNode = jobNode2;
} else {
throw new AssertionError();
}
}
if (jobNode == null) {
jobNode = new InvokeOnCompletion(function1);
}
}
jobNode.setJob(this);
return jobNode;
}
private final boolean addLastAtomic(Object obj, NodeList nodeList, JobNode jobNode) {
int tryCondAddNext;
LockFreeLinkedListNode lockFreeLinkedListNode = nodeList;
LockFreeLinkedListNode lockFreeLinkedListNode2 = jobNode;
LockFreeLinkedListNode.CondAddOp jobSupport$addLastAtomic$$inlined$addLastIf$1 = new JobSupport$addLastAtomic$$inlined$addLastIf$1(lockFreeLinkedListNode2, this, obj);
do {
tryCondAddNext = lockFreeLinkedListNode.getPrevNode().tryCondAddNext(lockFreeLinkedListNode2, lockFreeLinkedListNode, jobSupport$addLastAtomic$$inlined$addLastIf$1);
if (tryCondAddNext == 1) {
return true;
}
} while (tryCondAddNext != 2);
return false;
}
private final void promoteEmptyToNodeList(Empty empty) {
NodeList nodeList = new NodeList();
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, empty, empty.isActive() ? nodeList : new InactiveNodeList(nodeList));
}
private final void promoteSingleToNodeList(JobNode jobNode) {
jobNode.addOneIfEmpty(new NodeList());
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, jobNode, jobNode.getNextNode());
}
public final Object join(Continuation<? super Unit> continuation) {
if (!joinInternal()) {
JobKt.ensureActive(continuation.getContext());
return Unit.INSTANCE;
}
Object joinSuspend = joinSuspend(continuation);
return joinSuspend == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? joinSuspend : Unit.INSTANCE;
}
public final SelectClause0 getOnJoin() {
return this;
}
@Deprecated(level = DeprecationLevel.HIDDEN, message = "Added since 1.2.0 for binary compatibility with versions <= 1.1.x")
public /* synthetic */ boolean cancel(Throwable th) {
CancellationException cancellationException$default = th == null ? null : toCancellationException$default(this, th, (String) null, 1, (Object) null);
if (cancellationException$default == null) {
cancellationException$default = new JobCancellationException(cancellationExceptionMessage(), (Throwable) null, this);
}
cancelInternal(cancellationException$default);
return true;
}
public void cancelInternal(Throwable th) {
cancelImpl$kotlinx_coroutines_core(th);
}
public final void parentCancelled(ParentJob parentJob) {
cancelImpl$kotlinx_coroutines_core(parentJob);
}
public boolean childCancelled(Throwable th) {
if (th instanceof CancellationException) {
return true;
}
if (!cancelImpl$kotlinx_coroutines_core(th) || !getHandlesException$kotlinx_coroutines_core()) {
return false;
}
return true;
}
public final boolean cancelCoroutine(Throwable th) {
return cancelImpl$kotlinx_coroutines_core(th);
}
public final boolean cancelImpl$kotlinx_coroutines_core(Object obj) {
Object access$getCOMPLETING_ALREADY$p = JobSupportKt.COMPLETING_ALREADY;
if (getOnCancelComplete$kotlinx_coroutines_core() && (access$getCOMPLETING_ALREADY$p = cancelMakeCompleting(obj)) == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
if (access$getCOMPLETING_ALREADY$p == JobSupportKt.COMPLETING_ALREADY) {
access$getCOMPLETING_ALREADY$p = makeCancelling(obj);
}
if (access$getCOMPLETING_ALREADY$p == JobSupportKt.COMPLETING_ALREADY || access$getCOMPLETING_ALREADY$p == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
if (access$getCOMPLETING_ALREADY$p == JobSupportKt.TOO_LATE_TO_CANCEL) {
return false;
}
afterCompletion(access$getCOMPLETING_ALREADY$p);
return true;
}
public static /* synthetic */ JobCancellationException defaultCancellationException$kotlinx_coroutines_core$default(JobSupport jobSupport, String str, Throwable th, int i, Object obj) {
if (obj == null) {
if ((i & 1) != 0) {
str = null;
}
if ((i & 2) != 0) {
th = null;
}
if (str == null) {
str = jobSupport.cancellationExceptionMessage();
}
return new JobCancellationException(str, th, jobSupport);
}
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: defaultCancellationException");
}
public final JobCancellationException defaultCancellationException$kotlinx_coroutines_core(String str, Throwable th) {
if (str == null) {
str = cancellationExceptionMessage();
}
return new JobCancellationException(str, th, this);
}
public CancellationException getChildJobCancellationCause() {
Throwable th;
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
CancellationException cancellationException = null;
if (state$kotlinx_coroutines_core instanceof Finishing) {
th = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
} else if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
th = ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
} else if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
th = null;
} else {
throw new IllegalStateException(Intrinsics.stringPlus("Cannot be cancelling child in this state: ", state$kotlinx_coroutines_core).toString());
}
if (th instanceof CancellationException) {
cancellationException = (CancellationException) th;
}
return cancellationException == null ? new JobCancellationException(Intrinsics.stringPlus("Parent job is ", stateString(state$kotlinx_coroutines_core)), th, this) : cancellationException;
}
private final Throwable createCauseException(Object obj) {
if (obj == null ? true : obj instanceof Throwable) {
Throwable th = (Throwable) obj;
return th == null ? new JobCancellationException(cancellationExceptionMessage(), (Throwable) null, this) : th;
}
Objects.requireNonNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.ParentJob");
return ((ParentJob) obj).getChildJobCancellationCause();
}
private final NodeList getOrPromoteCancellingList(Incomplete incomplete) {
NodeList list = incomplete.getList();
if (list != null) {
return list;
}
if (incomplete instanceof Empty) {
return new NodeList();
}
if (incomplete instanceof JobNode) {
promoteSingleToNodeList((JobNode) incomplete);
NodeList nodeList = null;
return null;
}
throw new IllegalStateException(Intrinsics.stringPlus("State should have list: ", incomplete).toString());
}
private final boolean tryMakeCancelling(Incomplete incomplete, Throwable th) {
if (DebugKt.getASSERTIONS_ENABLED() && !(!(incomplete instanceof Finishing))) {
throw new AssertionError();
} else if (!DebugKt.getASSERTIONS_ENABLED() || incomplete.isActive()) {
NodeList orPromoteCancellingList = getOrPromoteCancellingList(incomplete);
if (orPromoteCancellingList == null) {
return false;
}
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, incomplete, new Finishing(orPromoteCancellingList, false, th))) {
return false;
}
notifyCancelling(orPromoteCancellingList, th);
return true;
} else {
throw new AssertionError();
}
}
private final Object tryMakeCompleting(Object obj, Object obj2) {
if (!(obj instanceof Incomplete)) {
return JobSupportKt.COMPLETING_ALREADY;
}
if ((!(obj instanceof Empty) && !(obj instanceof JobNode)) || (obj instanceof ChildHandleNode) || (obj2 instanceof CompletedExceptionally)) {
return tryMakeCompletingSlowPath((Incomplete) obj, obj2);
}
if (tryFinalizeSimpleState((Incomplete) obj, obj2)) {
return obj2;
}
return JobSupportKt.COMPLETING_RETRY;
}
/* JADX WARNING: Code restructure failed: missing block: B:46:0x0072, code lost:
if (r2 != null) goto L_0x0075;
*/
/* JADX WARNING: Code restructure failed: missing block: B:47:0x0075, code lost:
notifyCancelling(r0, r2);
*/
/* JADX WARNING: Code restructure failed: missing block: B:48:0x0078, code lost:
r7 = firstChild(r7);
*/
/* JADX WARNING: Code restructure failed: missing block: B:49:0x007c, code lost:
if (r7 == null) goto L_0x0087;
*/
/* JADX WARNING: Code restructure failed: missing block: B:51:0x0082, code lost:
if (tryWaitForChild(r1, r7, r8) == false) goto L_0x0087;
*/
/* JADX WARNING: Code restructure failed: missing block: B:53:0x0086, code lost:
return kotlinx.coroutines.JobSupportKt.COMPLETING_WAITING_CHILDREN;
*/
/* JADX WARNING: Code restructure failed: missing block: B:55:0x008b, code lost:
return finalizeFinishingState(r1, r8);
*/
/* Code decompiled incorrectly, please refer to instructions dump. */
private final java.lang.Object tryMakeCompletingSlowPath(kotlinx.coroutines.Incomplete r7, java.lang.Object r8) {
/*
r6 = this;
kotlinx.coroutines.NodeList r0 = r6.getOrPromoteCancellingList(r7)
if (r0 != 0) goto L_0x000b
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_RETRY
return r7
L_0x000b:
boolean r1 = r7 instanceof kotlinx.coroutines.JobSupport.Finishing
r2 = 0
if (r1 == 0) goto L_0x0014
r1 = r7
kotlinx.coroutines.JobSupport$Finishing r1 = (kotlinx.coroutines.JobSupport.Finishing) r1
goto L_0x0015
L_0x0014:
r1 = r2
L_0x0015:
if (r1 != 0) goto L_0x001d
kotlinx.coroutines.JobSupport$Finishing r1 = new kotlinx.coroutines.JobSupport$Finishing
r3 = 0
r1.<init>(r0, r3, r2)
L_0x001d:
monitor-enter(r1)
boolean r3 = r1.isCompleting() // Catch:{ all -> 0x008c }
if (r3 == 0) goto L_0x002a
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_ALREADY // Catch:{ all -> 0x008c }
monitor-exit(r1)
return r7
L_0x002a:
r3 = 1
r1.setCompleting(r3) // Catch:{ all -> 0x008c }
if (r1 == r7) goto L_0x003e
java.util.concurrent.atomic.AtomicReferenceFieldUpdater r4 = _state$FU // Catch:{ all -> 0x008c }
boolean r4 = androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(r4, r6, r7, r1) // Catch:{ all -> 0x008c }
if (r4 != 0) goto L_0x003e
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_RETRY // Catch:{ all -> 0x008c }
monitor-exit(r1)
return r7
L_0x003e:
boolean r4 = kotlinx.coroutines.DebugKt.getASSERTIONS_ENABLED() // Catch:{ all -> 0x008c }
if (r4 == 0) goto L_0x0052
boolean r4 = r1.isSealed() // Catch:{ all -> 0x008c }
r4 = r4 ^ r3
if (r4 == 0) goto L_0x004c
goto L_0x0052
L_0x004c:
java.lang.AssertionError r7 = new java.lang.AssertionError // Catch:{ all -> 0x008c }
r7.<init>() // Catch:{ all -> 0x008c }
throw r7 // Catch:{ all -> 0x008c }
L_0x0052:
boolean r4 = r1.isCancelling() // Catch:{ all -> 0x008c }
boolean r5 = r8 instanceof kotlinx.coroutines.CompletedExceptionally // Catch:{ all -> 0x008c }
if (r5 == 0) goto L_0x005e
r5 = r8
kotlinx.coroutines.CompletedExceptionally r5 = (kotlinx.coroutines.CompletedExceptionally) r5 // Catch:{ all -> 0x008c }
goto L_0x005f
L_0x005e:
r5 = r2
L_0x005f:
if (r5 != 0) goto L_0x0062
goto L_0x0067
L_0x0062:
java.lang.Throwable r5 = r5.cause // Catch:{ all -> 0x008c }
r1.addExceptionLocked(r5) // Catch:{ all -> 0x008c }
L_0x0067:
java.lang.Throwable r5 = r1.getRootCause() // Catch:{ all -> 0x008c }
r3 = r3 ^ r4
if (r3 == 0) goto L_0x006f
r2 = r5
L_0x006f:
kotlin.Unit r3 = kotlin.Unit.INSTANCE // Catch:{ all -> 0x008c }
monitor-exit(r1)
if (r2 != 0) goto L_0x0075
goto L_0x0078
L_0x0075:
r6.notifyCancelling(r0, r2)
L_0x0078:
kotlinx.coroutines.ChildHandleNode r7 = r6.firstChild(r7)
if (r7 == 0) goto L_0x0087
boolean r7 = r6.tryWaitForChild(r1, r7, r8)
if (r7 == 0) goto L_0x0087
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_WAITING_CHILDREN
return r7
L_0x0087:
java.lang.Object r7 = r6.finalizeFinishingState(r1, r8)
return r7
L_0x008c:
r7 = move-exception
monitor-exit(r1)
throw r7
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath(kotlinx.coroutines.Incomplete, java.lang.Object):java.lang.Object");
}
private final Throwable getExceptionOrNull(Object obj) {
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
if (completedExceptionally == null) {
return null;
}
return completedExceptionally.cause;
}
private final ChildHandleNode firstChild(Incomplete incomplete) {
ChildHandleNode childHandleNode = incomplete instanceof ChildHandleNode ? (ChildHandleNode) incomplete : null;
if (childHandleNode != null) {
return childHandleNode;
}
NodeList list = incomplete.getList();
if (list == null) {
return null;
}
return nextChild(list);
}
private final boolean tryWaitForChild(Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
while (Job.DefaultImpls.invokeOnCompletion$default(childHandleNode.childJob, false, false, new ChildCompletion(this, finishing, childHandleNode, obj), 1, (Object) null) == NonDisposableHandle.INSTANCE) {
childHandleNode = nextChild(childHandleNode);
if (childHandleNode == null) {
return false;
}
}
return true;
}
/* access modifiers changed from: private */
public final void continueCompleting(Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
if (DebugKt.getASSERTIONS_ENABLED()) {
if (!(getState$kotlinx_coroutines_core() == finishing)) {
throw new AssertionError();
}
}
ChildHandleNode nextChild = nextChild(childHandleNode);
if (nextChild == null || !tryWaitForChild(finishing, nextChild, obj)) {
afterCompletion(finalizeFinishingState(finishing, obj));
}
}
private final ChildHandleNode nextChild(LockFreeLinkedListNode lockFreeLinkedListNode) {
while (lockFreeLinkedListNode.isRemoved()) {
lockFreeLinkedListNode = lockFreeLinkedListNode.getPrevNode();
}
while (true) {
lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode();
if (!lockFreeLinkedListNode.isRemoved()) {
if (lockFreeLinkedListNode instanceof ChildHandleNode) {
return (ChildHandleNode) lockFreeLinkedListNode;
}
if (lockFreeLinkedListNode instanceof NodeList) {
return null;
}
}
}
}
public final Sequence<Job> getChildren() {
return SequencesKt.sequence(new JobSupport$children$1(this, (Continuation<? super JobSupport$children$1>) null));
}
public final ChildHandle attachChild(ChildJob childJob) {
return (ChildHandle) Job.DefaultImpls.invokeOnCompletion$default(this, true, false, new ChildHandleNode(childJob), 2, (Object) null);
}
public void handleOnCompletionException$kotlinx_coroutines_core(Throwable th) {
throw th;
}
public String toString() {
return toDebugString() + '@' + DebugStringsKt.getHexAddress(this);
}
public final String toDebugString() {
return nameString$kotlinx_coroutines_core() + '{' + stateString(getState$kotlinx_coroutines_core()) + '}';
}
public String nameString$kotlinx_coroutines_core() {
return DebugStringsKt.getClassSimpleName(this);
}
private final String stateString(Object obj) {
if (obj instanceof Finishing) {
Finishing finishing = (Finishing) obj;
if (finishing.isCancelling()) {
return "Cancelling";
}
if (finishing.isCompleting()) {
return "Completing";
}
return "Active";
} else if (!(obj instanceof Incomplete)) {
return obj instanceof CompletedExceptionally ? "Cancelled" : "Completed";
} else {
if (((Incomplete) obj).isActive()) {
return "Active";
}
return "New";
}
}
@Metadata(d1 = {"\u0000L\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u0000\n\u0002\b\u0013\n\u0002\u0018\u0002\n\u0002\u0018\u0002\b\u0002\u0018\u00002\u00060\u0018j\u0002`,2\u00020-B!\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\b\u0010\u0006\u001a\u0004\u0018\u00010\u0005¢\u0006\u0004\b\u0007\u0010\bJ\u0015\u0010\u000b\u001a\u00020\n2\u0006\u0010\t\u001a\u00020\u0005¢\u0006\u0004\b\u000b\u0010\fJ\u001f\u0010\u000f\u001a\u0012\u0012\u0004\u0012\u00020\u00050\rj\b\u0012\u0004\u0012\u00020\u0005`\u000eH\u0002¢\u0006\u0004\b\u000f\u0010\u0010J\u001d\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00050\u00122\b\u0010\u0011\u001a\u0004\u0018\u00010\u0005¢\u0006\u0004\b\u0013\u0010\u0014J\u000f\u0010\u0016\u001a\u00020\u0015H\u0016¢\u0006\u0004\b\u0016\u0010\u0017R(\u0010\u001e\u001a\u0004\u0018\u00010\u00182\b\u0010\u0019\u001a\u0004\u0018\u00010\u00188B@BX\u000e¢\u0006\f\u001a\u0004\b\u001a\u0010\u001b\"\u0004\b\u001c\u0010\u001dR\u0014\u0010\u001f\u001a\u00020\u00038VX\u0004¢\u0006\u0006\u001a\u0004\b\u001f\u0010 R\u0011\u0010!\u001a\u00020\u00038F¢\u0006\u0006\u001a\u0004\b!\u0010 R$\u0010\u0004\u001a\u00020\u00032\u0006\u0010\u0019\u001a\u00020\u00038F@FX\u000e¢\u0006\f\u001a\u0004\b\u0004\u0010 \"\u0004\b\"\u0010#R\u0011\u0010$\u001a\u00020\u00038F¢\u0006\u0006\u001a\u0004\b$\u0010 R\u001a\u0010\u0002\u001a\u00020\u00018\u0016X\u0004¢\u0006\f\n\u0004\b\u0002\u0010%\u001a\u0004\b&\u0010'R(\u0010\u0006\u001a\u0004\u0018\u00010\u00052\b\u0010\u0019\u001a\u0004\u0018\u00010\u00058F@FX\u000e¢\u0006\f\u001a\u0004\b(\u0010)\"\u0004\b*\u0010\f¨\u0006+"}, d2 = {"Lkotlinx/coroutines/JobSupport$Finishing;", "Lkotlinx/coroutines/NodeList;", "list", "", "isCompleting", "", "rootCause", "<init>", "(Lkotlinx/coroutines/NodeList;ZLjava/lang/Throwable;)V", "exception", "", "addExceptionLocked", "(Ljava/lang/Throwable;)V", "Ljava/util/ArrayList;", "Lkotlin/collections/ArrayList;", "allocateList", "()Ljava/util/ArrayList;", "proposedException", "", "sealLocked", "(Ljava/lang/Throwable;)Ljava/util/List;", "", "toString", "()Ljava/lang/String;", "", "value", "getExceptionsHolder", "()Ljava/lang/Object;", "setExceptionsHolder", "(Ljava/lang/Object;)V", "exceptionsHolder", "isActive", "()Z", "isCancelling", "setCompleting", "(Z)V", "isSealed", "Lkotlinx/coroutines/NodeList;", "getList", "()Lkotlinx/coroutines/NodeList;", "getRootCause", "()Ljava/lang/Throwable;", "setRootCause", "kotlinx-coroutines-core", "Lkotlinx/coroutines/internal/SynchronizedObject;", "Lkotlinx/coroutines/Incomplete;"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: JobSupport.kt */
private static final class Finishing implements Incomplete {
private volatile /* synthetic */ Object _exceptionsHolder = null;
private volatile /* synthetic */ int _isCompleting;
private volatile /* synthetic */ Object _rootCause;
private final NodeList list;
public NodeList getList() {
return this.list;
}
public Finishing(NodeList nodeList, boolean z, Throwable th) {
this.list = nodeList;
this._isCompleting = z ? 1 : 0;
this._rootCause = th;
}
/* JADX WARNING: type inference failed for: r0v0, types: [boolean, int] */
public final boolean isCompleting() {
return this._isCompleting;
}
public final void setCompleting(boolean z) {
this._isCompleting = z ? 1 : 0;
}
public final Throwable getRootCause() {
return (Throwable) this._rootCause;
}
public final void setRootCause(Throwable th) {
this._rootCause = th;
}
private final Object getExceptionsHolder() {
return this._exceptionsHolder;
}
private final void setExceptionsHolder(Object obj) {
this._exceptionsHolder = obj;
}
public final boolean isSealed() {
return getExceptionsHolder() == JobSupportKt.SEALED;
}
public final boolean isCancelling() {
return getRootCause() != null;
}
public boolean isActive() {
return getRootCause() == null;
}
public final List<Throwable> sealLocked(Throwable th) {
ArrayList<Throwable> arrayList;
Object exceptionsHolder = getExceptionsHolder();
if (exceptionsHolder == null) {
arrayList = allocateList();
} else if (exceptionsHolder instanceof Throwable) {
ArrayList<Throwable> allocateList = allocateList();
allocateList.add(exceptionsHolder);
arrayList = allocateList;
} else if (exceptionsHolder instanceof ArrayList) {
arrayList = (ArrayList) exceptionsHolder;
} else {
throw new IllegalStateException(Intrinsics.stringPlus("State is ", exceptionsHolder).toString());
}
Throwable rootCause = getRootCause();
if (rootCause != null) {
arrayList.add(0, rootCause);
}
if (th != null && !Intrinsics.areEqual((Object) th, (Object) rootCause)) {
arrayList.add(th);
}
setExceptionsHolder(JobSupportKt.SEALED);
return arrayList;
}
public final void addExceptionLocked(Throwable th) {
Throwable rootCause = getRootCause();
if (rootCause == null) {
setRootCause(th);
} else if (th != rootCause) {
Object exceptionsHolder = getExceptionsHolder();
if (exceptionsHolder == null) {
setExceptionsHolder(th);
} else if (exceptionsHolder instanceof Throwable) {
if (th != exceptionsHolder) {
ArrayList<Throwable> allocateList = allocateList();
allocateList.add(exceptionsHolder);
allocateList.add(th);
setExceptionsHolder(allocateList);
}
} else if (exceptionsHolder instanceof ArrayList) {
((ArrayList) exceptionsHolder).add(th);
} else {
throw new IllegalStateException(Intrinsics.stringPlus("State is ", exceptionsHolder).toString());
}
}
}
private final ArrayList<Throwable> allocateList() {
return new ArrayList<>(4);
}
public String toString() {
return "Finishing[cancelling=" + isCancelling() + ", completing=" + isCompleting() + ", rootCause=" + getRootCause() + ", exceptions=" + getExceptionsHolder() + ", list=" + getList() + ']';
}
}
private final boolean isCancelling(Incomplete incomplete) {
return (incomplete instanceof Finishing) && ((Finishing) incomplete).isCancelling();
}
@Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\b\u0002\u0018\u00002\u00020\u0001B'\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\b\u0010\b\u001a\u0004\u0018\u00010\t¢\u0006\u0002\u0010\nJ\u0013\u0010\u000b\u001a\u00020\f2\b\u0010\r\u001a\u0004\u0018\u00010\u000eH\u0002R\u000e\u0010\u0006\u001a\u00020\u0007X\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\b\u001a\u0004\u0018\u00010\tX\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0004¢\u0006\u0002\n\u0000¨\u0006\u000f"}, d2 = {"Lkotlinx/coroutines/JobSupport$ChildCompletion;", "Lkotlinx/coroutines/JobNode;", "parent", "Lkotlinx/coroutines/JobSupport;", "state", "Lkotlinx/coroutines/JobSupport$Finishing;", "child", "Lkotlinx/coroutines/ChildHandleNode;", "proposedUpdate", "", "(Lkotlinx/coroutines/JobSupport;Lkotlinx/coroutines/JobSupport$Finishing;Lkotlinx/coroutines/ChildHandleNode;Ljava/lang/Object;)V", "invoke", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: JobSupport.kt */
private static final class ChildCompletion extends JobNode {
private final ChildHandleNode child;
private final JobSupport parent;
private final Object proposedUpdate;
private final Finishing state;
public /* bridge */ /* synthetic */ Object invoke(Object obj) {
invoke((Throwable) obj);
return Unit.INSTANCE;
}
public ChildCompletion(JobSupport jobSupport, Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
this.parent = jobSupport;
this.state = finishing;
this.child = childHandleNode;
this.proposedUpdate = obj;
}
public void invoke(Throwable th) {
this.parent.continueCompleting(this.state, this.child, this.proposedUpdate);
}
}
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u001b\u0012\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000bH\u0016J\b\u0010\f\u001a\u00020\rH\u0014R\u000e\u0010\u0005\u001a\u00020\u0006X\u0004¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lkotlinx/coroutines/JobSupport$AwaitContinuation;", "T", "Lkotlinx/coroutines/CancellableContinuationImpl;", "delegate", "Lkotlin/coroutines/Continuation;", "job", "Lkotlinx/coroutines/JobSupport;", "(Lkotlin/coroutines/Continuation;Lkotlinx/coroutines/JobSupport;)V", "getContinuationCancellationCause", "", "parent", "Lkotlinx/coroutines/Job;", "nameString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: JobSupport.kt */
private static final class AwaitContinuation<T> extends CancellableContinuationImpl<T> {
private final JobSupport job;
/* access modifiers changed from: protected */
public String nameString() {
return "AwaitContinuation";
}
public AwaitContinuation(Continuation<? super T> continuation, JobSupport jobSupport) {
super(continuation, 1);
this.job = jobSupport;
}
public Throwable getContinuationCancellationCause(Job job2) {
Throwable rootCause;
Object state$kotlinx_coroutines_core = this.job.getState$kotlinx_coroutines_core();
if ((state$kotlinx_coroutines_core instanceof Finishing) && (rootCause = ((Finishing) state$kotlinx_coroutines_core).getRootCause()) != null) {
return rootCause;
}
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
return ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
}
return job2.getCancellationException();
}
}
public final boolean isCompletedExceptionally() {
return getState$kotlinx_coroutines_core() instanceof CompletedExceptionally;
}
public final Throwable getCompletionExceptionOrNull() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
return getExceptionOrNull(state$kotlinx_coroutines_core);
}
throw new IllegalStateException("This job has not completed yet".toString());
}
public final Object getCompletedInternal$kotlinx_coroutines_core() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(!(state$kotlinx_coroutines_core instanceof Incomplete))) {
throw new IllegalStateException("This job has not completed yet".toString());
} else if (!(state$kotlinx_coroutines_core instanceof CompletedExceptionally)) {
return JobSupportKt.unboxState(state$kotlinx_coroutines_core);
} else {
throw ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
}
}
public final Object awaitInternal$kotlinx_coroutines_core(Continuation<Object> continuation) {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
if (!(state$kotlinx_coroutines_core instanceof CompletedExceptionally)) {
return JobSupportKt.unboxState(state$kotlinx_coroutines_core);
}
Throwable th = ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
if (!DebugKt.getRECOVER_STACK_TRACES()) {
throw th;
} else if (!(continuation instanceof CoroutineStackFrame)) {
throw th;
} else {
throw StackTraceRecoveryKt.recoverFromStackFrame(th, (CoroutineStackFrame) continuation);
}
}
} while (startInternal(state$kotlinx_coroutines_core) < 0);
return awaitSuspend(continuation);
}
/* access modifiers changed from: private */
public final Object awaitSuspend(Continuation<Object> continuation) {
AwaitContinuation awaitContinuation = new AwaitContinuation(IntrinsicsKt.intercepted(continuation), this);
awaitContinuation.initCancellability();
CancellableContinuationKt.disposeOnCancellation(awaitContinuation, invokeOnCompletion(new ResumeAwaitOnCompletion(awaitContinuation)));
Object result = awaitContinuation.getResult();
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
DebugProbesKt.probeCoroutineSuspended(continuation);
}
return result;
}
public final <T, R> void selectAwaitCompletion$kotlinx_coroutines_core(SelectInstance<? super R> selectInstance, Function2<? super T, ? super Continuation<? super R>, ? extends Object> function2) {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
selectInstance.resumeSelectWithException(((CompletedExceptionally) state$kotlinx_coroutines_core).cause);
return;
}
CancellableKt.startCoroutineCancellable$default(function2, JobSupportKt.unboxState(state$kotlinx_coroutines_core), selectInstance.getCompletion(), (Function1) null, 4, (Object) null);
}
public final Object getState$kotlinx_coroutines_core() {
while (true) {
Object obj = this._state;
if (!(obj instanceof OpDescriptor)) {
return obj;
}
((OpDescriptor) obj).perform(this);
}
}
private final void notifyCompletion(NodeList nodeList, Throwable th) {
LockFreeLinkedListHead lockFreeLinkedListHead = nodeList;
CompletionHandlerException completionHandlerException = null;
for (LockFreeLinkedListNode lockFreeLinkedListNode = (LockFreeLinkedListNode) lockFreeLinkedListHead.getNext(); !Intrinsics.areEqual((Object) lockFreeLinkedListNode, (Object) lockFreeLinkedListHead); lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode()) {
if (lockFreeLinkedListNode instanceof JobNode) {
JobNode jobNode = (JobNode) lockFreeLinkedListNode;
try {
jobNode.invoke(th);
} catch (Throwable th2) {
Throwable th3 = completionHandlerException;
if (th3 == null) {
th3 = null;
} else {
ExceptionsKt.addSuppressed(th3, th2);
}
if (th3 == null) {
JobSupport jobSupport = this;
completionHandlerException = new CompletionHandlerException("Exception in completion handler " + jobNode + " for " + this, th2);
}
}
}
}
Throwable th4 = completionHandlerException;
if (th4 != null) {
handleOnCompletionException$kotlinx_coroutines_core(th4);
}
}
public final boolean start() {
int startInternal;
do {
startInternal = startInternal(getState$kotlinx_coroutines_core());
if (startInternal == 0) {
return false;
}
} while (startInternal != 1);
return true;
}
private final boolean joinInternal() {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
return false;
}
} while (startInternal(state$kotlinx_coroutines_core) < 0);
return true;
}
/* access modifiers changed from: private */
public final Object joinSuspend(Continuation<? super Unit> continuation) {
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
cancellableContinuationImpl.initCancellability();
CancellableContinuation cancellableContinuation = cancellableContinuationImpl;
CancellableContinuationKt.disposeOnCancellation(cancellableContinuation, invokeOnCompletion(new ResumeOnCompletion(cancellableContinuation)));
Object result = cancellableContinuationImpl.getResult();
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
DebugProbesKt.probeCoroutineSuspended(continuation);
}
return result == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? result : Unit.INSTANCE;
}
public final <R> void registerSelectClause0(SelectInstance<? super R> selectInstance, Function1<? super Continuation<? super R>, ? extends Object> function1) {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!selectInstance.isSelected()) {
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
if (selectInstance.trySelect()) {
UndispatchedKt.startCoroutineUnintercepted(function1, selectInstance.getCompletion());
return;
}
return;
}
} else {
return;
}
} while (startInternal(state$kotlinx_coroutines_core) != 0);
selectInstance.disposeOnSelect(invokeOnCompletion(new SelectJoinOnCompletion(selectInstance, function1)));
}
/* JADX WARNING: Removed duplicated region for block: B:0:0x0000 A[LOOP_START, MTH_ENTER_BLOCK] */
/* Code decompiled incorrectly, please refer to instructions dump. */
public final void removeNode$kotlinx_coroutines_core(kotlinx.coroutines.JobNode r4) {
/*
r3 = this;
L_0x0000:
java.lang.Object r0 = r3.getState$kotlinx_coroutines_core()
boolean r1 = r0 instanceof kotlinx.coroutines.JobNode
if (r1 == 0) goto L_0x0018
if (r0 == r4) goto L_0x000b
return
L_0x000b:
java.util.concurrent.atomic.AtomicReferenceFieldUpdater r1 = _state$FU
kotlinx.coroutines.Empty r2 = kotlinx.coroutines.JobSupportKt.EMPTY_ACTIVE
boolean r0 = androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(r1, r3, r0, r2)
if (r0 == 0) goto L_0x0000
return
L_0x0018:
boolean r1 = r0 instanceof kotlinx.coroutines.Incomplete
if (r1 == 0) goto L_0x0027
kotlinx.coroutines.Incomplete r0 = (kotlinx.coroutines.Incomplete) r0
kotlinx.coroutines.NodeList r0 = r0.getList()
if (r0 == 0) goto L_0x0027
r4.remove()
L_0x0027:
return
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.JobSupport.removeNode$kotlinx_coroutines_core(kotlinx.coroutines.JobNode):void");
}
public void cancel(CancellationException cancellationException) {
if (cancellationException == null) {
cancellationException = new JobCancellationException(cancellationExceptionMessage(), (Throwable) null, this);
}
cancelInternal(cancellationException);
}
private final Object cancelMakeCompleting(Object obj) {
Object tryMakeCompleting;
do {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete) || ((state$kotlinx_coroutines_core instanceof Finishing) && ((Finishing) state$kotlinx_coroutines_core).isCompleting())) {
return JobSupportKt.COMPLETING_ALREADY;
}
tryMakeCompleting = tryMakeCompleting(state$kotlinx_coroutines_core, new CompletedExceptionally(createCauseException(obj), false, 2, (DefaultConstructorMarker) null));
} while (tryMakeCompleting == JobSupportKt.COMPLETING_RETRY);
return tryMakeCompleting;
}
/* JADX WARNING: Code restructure failed: missing block: B:24:0x003e, code lost:
if (r0 != null) goto L_0x0041;
*/
/* JADX WARNING: Code restructure failed: missing block: B:25:0x0041, code lost:
notifyCancelling(((kotlinx.coroutines.JobSupport.Finishing) r2).getList(), r0);
*/
/* JADX WARNING: Code restructure failed: missing block: B:27:0x004e, code lost:
return kotlinx.coroutines.JobSupportKt.COMPLETING_ALREADY;
*/
/* Code decompiled incorrectly, please refer to instructions dump. */
private final java.lang.Object makeCancelling(java.lang.Object r7) {
/*
r6 = this;
r0 = 0
r1 = r0
L_0x0002:
java.lang.Object r2 = r6.getState$kotlinx_coroutines_core()
boolean r3 = r2 instanceof kotlinx.coroutines.JobSupport.Finishing
if (r3 == 0) goto L_0x0052
monitor-enter(r2)
r3 = r2
kotlinx.coroutines.JobSupport$Finishing r3 = (kotlinx.coroutines.JobSupport.Finishing) r3 // Catch:{ all -> 0x004f }
boolean r3 = r3.isSealed() // Catch:{ all -> 0x004f }
if (r3 == 0) goto L_0x001a
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.TOO_LATE_TO_CANCEL // Catch:{ all -> 0x004f }
monitor-exit(r2)
return r7
L_0x001a:
r3 = r2
kotlinx.coroutines.JobSupport$Finishing r3 = (kotlinx.coroutines.JobSupport.Finishing) r3 // Catch:{ all -> 0x004f }
boolean r3 = r3.isCancelling() // Catch:{ all -> 0x004f }
if (r7 != 0) goto L_0x0025
if (r3 != 0) goto L_0x0031
L_0x0025:
if (r1 != 0) goto L_0x002b
java.lang.Throwable r1 = r6.createCauseException(r7) // Catch:{ all -> 0x004f }
L_0x002b:
r7 = r2
kotlinx.coroutines.JobSupport$Finishing r7 = (kotlinx.coroutines.JobSupport.Finishing) r7 // Catch:{ all -> 0x004f }
r7.addExceptionLocked(r1) // Catch:{ all -> 0x004f }
L_0x0031:
r7 = r2
kotlinx.coroutines.JobSupport$Finishing r7 = (kotlinx.coroutines.JobSupport.Finishing) r7 // Catch:{ all -> 0x004f }
java.lang.Throwable r7 = r7.getRootCause() // Catch:{ all -> 0x004f }
r1 = r3 ^ 1
if (r1 == 0) goto L_0x003d
r0 = r7
L_0x003d:
monitor-exit(r2)
if (r0 != 0) goto L_0x0041
goto L_0x004a
L_0x0041:
kotlinx.coroutines.JobSupport$Finishing r2 = (kotlinx.coroutines.JobSupport.Finishing) r2
kotlinx.coroutines.NodeList r7 = r2.getList()
r6.notifyCancelling(r7, r0)
L_0x004a:
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_ALREADY
return r7
L_0x004f:
r7 = move-exception
monitor-exit(r2)
throw r7
L_0x0052:
boolean r3 = r2 instanceof kotlinx.coroutines.Incomplete
if (r3 == 0) goto L_0x009a
if (r1 != 0) goto L_0x005c
java.lang.Throwable r1 = r6.createCauseException(r7)
L_0x005c:
r3 = r2
kotlinx.coroutines.Incomplete r3 = (kotlinx.coroutines.Incomplete) r3
boolean r4 = r3.isActive()
if (r4 == 0) goto L_0x0070
boolean r2 = r6.tryMakeCancelling(r3, r1)
if (r2 == 0) goto L_0x0002
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.COMPLETING_ALREADY
return r7
L_0x0070:
kotlinx.coroutines.CompletedExceptionally r3 = new kotlinx.coroutines.CompletedExceptionally
r4 = 0
r5 = 2
r3.<init>(r1, r4, r5, r0)
java.lang.Object r3 = r6.tryMakeCompleting(r2, r3)
kotlinx.coroutines.internal.Symbol r4 = kotlinx.coroutines.JobSupportKt.COMPLETING_ALREADY
if (r3 == r4) goto L_0x008a
kotlinx.coroutines.internal.Symbol r2 = kotlinx.coroutines.JobSupportKt.COMPLETING_RETRY
if (r3 != r2) goto L_0x0089
goto L_0x0002
L_0x0089:
return r3
L_0x008a:
java.lang.IllegalStateException r7 = new java.lang.IllegalStateException
java.lang.String r0 = "Cannot happen in "
java.lang.String r0 = kotlin.jvm.internal.Intrinsics.stringPlus(r0, r2)
java.lang.String r0 = r0.toString()
r7.<init>(r0)
throw r7
L_0x009a:
kotlinx.coroutines.internal.Symbol r7 = kotlinx.coroutines.JobSupportKt.TOO_LATE_TO_CANCEL
return r7
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.JobSupport.makeCancelling(java.lang.Object):java.lang.Object");
}
public final boolean makeCompleting$kotlinx_coroutines_core(Object obj) {
Object tryMakeCompleting;
do {
tryMakeCompleting = tryMakeCompleting(getState$kotlinx_coroutines_core(), obj);
if (tryMakeCompleting == JobSupportKt.COMPLETING_ALREADY) {
return false;
}
if (tryMakeCompleting == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
} while (tryMakeCompleting == JobSupportKt.COMPLETING_RETRY);
afterCompletion(tryMakeCompleting);
return true;
}
public final Object makeCompletingOnce$kotlinx_coroutines_core(Object obj) {
Object tryMakeCompleting;
do {
tryMakeCompleting = tryMakeCompleting(getState$kotlinx_coroutines_core(), obj);
if (tryMakeCompleting == JobSupportKt.COMPLETING_ALREADY) {
throw new IllegalStateException("Job " + this + " is already complete or completing, but is being completed with " + obj, getExceptionOrNull(obj));
}
} while (tryMakeCompleting == JobSupportKt.COMPLETING_RETRY);
return tryMakeCompleting;
}
public final <T, R> void registerSelectClause1Internal$kotlinx_coroutines_core(SelectInstance<? super R> selectInstance, Function2<? super T, ? super Continuation<? super R>, ? extends Object> function2) {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!selectInstance.isSelected()) {
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
if (!selectInstance.trySelect()) {
return;
}
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
selectInstance.resumeSelectWithException(((CompletedExceptionally) state$kotlinx_coroutines_core).cause);
return;
} else {
UndispatchedKt.startCoroutineUnintercepted(function2, JobSupportKt.unboxState(state$kotlinx_coroutines_core), selectInstance.getCompletion());
return;
}
}
} else {
return;
}
} while (startInternal(state$kotlinx_coroutines_core) != 0);
selectInstance.disposeOnSelect(invokeOnCompletion(new SelectAwaitOnCompletion(selectInstance, function2)));
}
}
Download file