package k.a.p;

/* JADX INFO: compiled from: ElementMarker.kt */
/* JADX INFO: loaded from: classes.dex */
public final class w {

    @Deprecated
    private static final long[] e = new long[0];
    private final k.a.n.f a;
    private final j.p0.c.p<k.a.n.f, Integer, Boolean> b;
    private long c;
    private final long[] d;

    /* JADX WARN: Multi-variable type inference failed */
    public w(k.a.n.f fVar, j.p0.c.p<? super k.a.n.f, ? super Integer, Boolean> pVar) {
        j.p0.d.r.f(fVar, "descriptor");
        j.p0.d.r.f(pVar, "readIfAbsent");
        this.a = fVar;
        this.b = pVar;
        int iD = fVar.d();
        if (iD <= 64) {
            this.c = iD != 64 ? (-1) << iD : 0L;
            this.d = e;
        } else {
            this.c = 0L;
            this.d = e(iD);
        }
    }

    private final void b(int i2) {
        int i3 = (i2 >>> 6) - 1;
        long[] jArr = this.d;
        jArr[i3] = jArr[i3] | (1 << (i2 & 63));
    }

    private final int c() {
        int length = this.d.length;
        int i2 = 0;
        while (i2 < length) {
            int i3 = i2 + 1;
            int i4 = i3 * 64;
            long j2 = this.d[i2];
            while (j2 != -1) {
                int iNumberOfTrailingZeros = Long.numberOfTrailingZeros(~j2);
                j2 |= 1 << iNumberOfTrailingZeros;
                int i5 = iNumberOfTrailingZeros + i4;
                if (this.b.d(this.a, Integer.valueOf(i5)).booleanValue()) {
                    this.d[i2] = j2;
                    return i5;
                }
            }
            this.d[i2] = j2;
            i2 = i3;
        }
        return -1;
    }

    private final long[] e(int i2) {
        long[] jArr = new long[(i2 - 1) >>> 6];
        if ((i2 & 63) != 0) {
            jArr[j.k0.j.v(jArr)] = (-1) << i2;
        }
        return jArr;
    }

    public final void a(int i2) {
        if (i2 < 64) {
            this.c |= 1 << i2;
        } else {
            b(i2);
        }
    }

    public final int d() {
        int iNumberOfTrailingZeros;
        int iD = this.a.d();
        do {
            long j2 = this.c;
            if (j2 == -1) {
                if (iD > 64) {
                    return c();
                }
                return -1;
            }
            iNumberOfTrailingZeros = Long.numberOfTrailingZeros(~j2);
            this.c |= 1 << iNumberOfTrailingZeros;
        } while (!this.b.d(this.a, Integer.valueOf(iNumberOfTrailingZeros)).booleanValue());
        return iNumberOfTrailingZeros;
    }
}
