package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet;

import androidx.compose.runtime.external.kotlinx.collections.immutable.internal.CommonFunctionsKt;
import androidx.compose.runtime.external.kotlinx.collections.immutable.internal.DeltaCounter;
import androidx.compose.runtime.external.kotlinx.collections.immutable.internal.MutabilityOwnership;
import androidx.compose.runtime.internal.StabilityInferred;
import java.util.Arrays;
import kotlin.jvm.internal.h;
import kotlin.jvm.internal.o;
import x4.AbstractC3250p;

/* JADX INFO: loaded from: classes.dex */
@StabilityInferred(parameters = 0)
public final class TrieNode<E> {
    private int bitmap;
    private Object[] buffer;
    private MutabilityOwnership ownedBy;
    public static final Companion Companion = new Companion(null);
    public static final int $stable = 8;
    private static final TrieNode EMPTY = new TrieNode(0, new Object[0]);

    public static final class Companion {
        public /* synthetic */ Companion(h hVar) {
            this();
        }

        public final TrieNode getEMPTY$runtime() {
            return TrieNode.EMPTY;
        }

        private Companion() {
        }
    }

    public TrieNode(int i6, Object[] objArr, MutabilityOwnership mutabilityOwnership) {
        this.bitmap = i6;
        this.buffer = objArr;
        this.ownedBy = mutabilityOwnership;
    }

    private final TrieNode<E> addElementAt(int i6, E e6) {
        return new TrieNode<>(i6 | this.bitmap, TrieNodeKt.addElementAtIndex(this.buffer, indexOfCellAt$runtime(i6), e6));
    }

    private final int calculateSize() {
        if (this.bitmap == 0) {
            return this.buffer.length;
        }
        int iCalculateSize = 0;
        for (Object obj : this.buffer) {
            iCalculateSize += obj instanceof TrieNode ? ((TrieNode) obj).calculateSize() : 1;
        }
        return iCalculateSize;
    }

    private final TrieNode<E> collisionAdd(E e6) {
        return collisionContainsElement(e6) ? this : new TrieNode<>(0, TrieNodeKt.addElementAtIndex(this.buffer, 0, e6));
    }

    private final boolean collisionContainsElement(E e6) {
        return AbstractC3250p.v(this.buffer, e6);
    }

    private final TrieNode<E> collisionRemove(E e6) {
        int iP = AbstractC3250p.P(this.buffer, e6);
        return iP != -1 ? collisionRemoveElementAtIndex(iP) : this;
    }

    private final TrieNode<E> collisionRemoveElementAtIndex(int i6) {
        return new TrieNode<>(0, TrieNodeKt.removeCellAtIndex(this.buffer, i6));
    }

    private final E elementAtIndex(int i6) {
        return (E) this.buffer[i6];
    }

    private final boolean elementsIdentityEquals(TrieNode<E> trieNode) {
        if (this == trieNode) {
            return true;
        }
        if (this.bitmap != trieNode.bitmap) {
            return false;
        }
        int length = this.buffer.length;
        for (int i6 = 0; i6 < length; i6++) {
            if (this.buffer[i6] != trieNode.buffer[i6]) {
                return false;
            }
        }
        return true;
    }

    private final boolean hasNoCellAt(int i6) {
        return (i6 & this.bitmap) == 0;
    }

    private final TrieNode<E> makeNode(int i6, E e6, int i7, E e7, int i8, MutabilityOwnership mutabilityOwnership) {
        if (i8 > 30) {
            return new TrieNode<>(0, new Object[]{e6, e7}, mutabilityOwnership);
        }
        int iIndexSegment = TrieNodeKt.indexSegment(i6, i8);
        int iIndexSegment2 = TrieNodeKt.indexSegment(i7, i8);
        if (iIndexSegment != iIndexSegment2) {
            return new TrieNode<>((1 << iIndexSegment) | (1 << iIndexSegment2), iIndexSegment < iIndexSegment2 ? new Object[]{e6, e7} : new Object[]{e7, e6}, mutabilityOwnership);
        }
        return new TrieNode<>(1 << iIndexSegment, new Object[]{makeNode(i6, e6, i7, e7, i8 + 5, mutabilityOwnership)}, mutabilityOwnership);
    }

    private final TrieNode<E> makeNodeAtIndex(int i6, int i7, E e6, int i8, MutabilityOwnership mutabilityOwnership) {
        E eElementAtIndex = elementAtIndex(i6);
        return makeNode(eElementAtIndex != null ? eElementAtIndex.hashCode() : 0, eElementAtIndex, i7, e6, i8 + 5, mutabilityOwnership);
    }

    private final TrieNode<E> moveElementToNode(int i6, int i7, E e6, int i8) {
        Object[] objArr = this.buffer;
        Object[] objArrCopyOf = Arrays.copyOf(objArr, objArr.length);
        o.g(objArrCopyOf, "copyOf(...)");
        objArrCopyOf[i6] = makeNodeAtIndex(i6, i7, e6, i8, null);
        return new TrieNode<>(this.bitmap, objArrCopyOf);
    }

    private final TrieNode<E> mutableAddElementAt(int i6, E e6, MutabilityOwnership mutabilityOwnership) {
        int iIndexOfCellAt$runtime = indexOfCellAt$runtime(i6);
        if (this.ownedBy != mutabilityOwnership) {
            return new TrieNode<>(i6 | this.bitmap, TrieNodeKt.addElementAtIndex(this.buffer, iIndexOfCellAt$runtime, e6), mutabilityOwnership);
        }
        this.buffer = TrieNodeKt.addElementAtIndex(this.buffer, iIndexOfCellAt$runtime, e6);
        this.bitmap = i6 | this.bitmap;
        return this;
    }

    private final TrieNode<E> mutableCollisionAdd(E e6, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        if (collisionContainsElement(e6)) {
            return this;
        }
        persistentHashSetBuilder.setSize(persistentHashSetBuilder.size() + 1);
        if (this.ownedBy != persistentHashSetBuilder.getOwnership$runtime()) {
            return new TrieNode<>(0, TrieNodeKt.addElementAtIndex(this.buffer, 0, e6), persistentHashSetBuilder.getOwnership$runtime());
        }
        this.buffer = TrieNodeKt.addElementAtIndex(this.buffer, 0, e6);
        return this;
    }

    /* JADX WARN: Multi-variable type inference failed */
    private final TrieNode<E> mutableCollisionAddAll(TrieNode<E> trieNode, DeltaCounter deltaCounter, MutabilityOwnership mutabilityOwnership) {
        if (this == trieNode) {
            deltaCounter.plusAssign(this.buffer.length);
            return this;
        }
        Object[] objArr = this.buffer;
        Object[] objArrCopyOf = Arrays.copyOf(objArr, objArr.length + trieNode.buffer.length);
        o.g(objArrCopyOf, "copyOf(...)");
        Object[] objArr2 = trieNode.buffer;
        int length = this.buffer.length;
        int i6 = 0;
        int i7 = 0;
        while (i6 < objArr2.length) {
            CommonFunctionsKt.m197assert(i7 <= i6);
            if (!collisionContainsElement(objArr2[i6])) {
                objArrCopyOf[length + i7] = objArr2[i6];
                i7++;
                CommonFunctionsKt.m197assert(length + i7 <= objArrCopyOf.length);
            }
            i6++;
        }
        int length2 = i7 + this.buffer.length;
        deltaCounter.plusAssign(objArrCopyOf.length - length2);
        if (length2 == this.buffer.length) {
            return this;
        }
        if (length2 == trieNode.buffer.length) {
            return trieNode;
        }
        if (length2 != objArrCopyOf.length) {
            objArrCopyOf = Arrays.copyOf(objArrCopyOf, length2);
            o.g(objArrCopyOf, "copyOf(...)");
        }
        if (!o.c(this.ownedBy, mutabilityOwnership)) {
            return new TrieNode<>(0, objArrCopyOf, mutabilityOwnership);
        }
        this.buffer = objArrCopyOf;
        return this;
    }

    private final TrieNode<E> mutableCollisionRemove(E e6, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        int iP = AbstractC3250p.P(this.buffer, e6);
        if (iP == -1) {
            return this;
        }
        persistentHashSetBuilder.setSize(persistentHashSetBuilder.size() - 1);
        return mutableCollisionRemoveElementAtIndex(iP, persistentHashSetBuilder.getOwnership$runtime());
    }

    /* JADX WARN: Multi-variable type inference failed */
    private final Object mutableCollisionRemoveAll(TrieNode<E> trieNode, DeltaCounter deltaCounter, MutabilityOwnership mutabilityOwnership) {
        if (this == trieNode) {
            deltaCounter.plusAssign(this.buffer.length);
            return EMPTY;
        }
        Object[] objArr = o.c(mutabilityOwnership, this.ownedBy) ? this.buffer : new Object[this.buffer.length];
        Object[] objArr2 = this.buffer;
        int i6 = 0;
        int i7 = 0;
        while (true) {
            if (i6 >= objArr2.length) {
                break;
            }
            CommonFunctionsKt.m197assert(i7 <= i6);
            if (!trieNode.collisionContainsElement(objArr2[i6])) {
                objArr[i7] = objArr2[i6];
                i7++;
                CommonFunctionsKt.m197assert(i7 <= objArr.length);
            }
            i6++;
        }
        deltaCounter.plusAssign(this.buffer.length - i7);
        if (i7 == 0) {
            return EMPTY;
        }
        if (i7 == 1) {
            return objArr[0];
        }
        if (i7 == this.buffer.length) {
            return this;
        }
        if (i7 == objArr.length) {
            return new TrieNode(0, objArr, mutabilityOwnership);
        }
        Object[] objArrCopyOf = Arrays.copyOf(objArr, i7);
        o.g(objArrCopyOf, "copyOf(...)");
        return new TrieNode(0, objArrCopyOf, mutabilityOwnership);
    }

    private final TrieNode<E> mutableCollisionRemoveElementAtIndex(int i6, MutabilityOwnership mutabilityOwnership) {
        if (this.ownedBy != mutabilityOwnership) {
            return new TrieNode<>(0, TrieNodeKt.removeCellAtIndex(this.buffer, i6), mutabilityOwnership);
        }
        this.buffer = TrieNodeKt.removeCellAtIndex(this.buffer, i6);
        return this;
    }

    /* JADX WARN: Multi-variable type inference failed */
    private final Object mutableCollisionRetainAll(TrieNode<E> trieNode, DeltaCounter deltaCounter, MutabilityOwnership mutabilityOwnership) {
        if (this == trieNode) {
            deltaCounter.plusAssign(this.buffer.length);
            return this;
        }
        Object[] objArr = o.c(mutabilityOwnership, this.ownedBy) ? this.buffer : new Object[Math.min(this.buffer.length, trieNode.buffer.length)];
        Object[] objArr2 = this.buffer;
        int i6 = 0;
        int i7 = 0;
        while (true) {
            if (i6 >= objArr2.length) {
                break;
            }
            CommonFunctionsKt.m197assert(i7 <= i6);
            if (trieNode.collisionContainsElement(objArr2[i6])) {
                objArr[i7] = objArr2[i6];
                i7++;
                CommonFunctionsKt.m197assert(i7 <= objArr.length);
            }
            i6++;
        }
        deltaCounter.plusAssign(i7);
        if (i7 == 0) {
            return EMPTY;
        }
        if (i7 == 1) {
            return objArr[0];
        }
        if (i7 == this.buffer.length) {
            return this;
        }
        if (i7 == trieNode.buffer.length) {
            return trieNode;
        }
        if (i7 == objArr.length) {
            return new TrieNode(0, objArr, mutabilityOwnership);
        }
        Object[] objArrCopyOf = Arrays.copyOf(objArr, i7);
        o.g(objArrCopyOf, "copyOf(...)");
        return new TrieNode(0, objArrCopyOf, mutabilityOwnership);
    }

    private final TrieNode<E> mutableMoveElementToNode(int i6, int i7, E e6, int i8, MutabilityOwnership mutabilityOwnership) {
        if (this.ownedBy == mutabilityOwnership) {
            this.buffer[i6] = makeNodeAtIndex(i6, i7, e6, i8, mutabilityOwnership);
            return this;
        }
        Object[] objArr = this.buffer;
        Object[] objArrCopyOf = Arrays.copyOf(objArr, objArr.length);
        o.g(objArrCopyOf, "copyOf(...)");
        objArrCopyOf[i6] = makeNodeAtIndex(i6, i7, e6, i8, mutabilityOwnership);
        return new TrieNode<>(this.bitmap, objArrCopyOf, mutabilityOwnership);
    }

    private final TrieNode<E> mutableRemoveCellAtIndex(int i6, int i7, MutabilityOwnership mutabilityOwnership) {
        if (this.ownedBy != mutabilityOwnership) {
            return new TrieNode<>(i7 ^ this.bitmap, TrieNodeKt.removeCellAtIndex(this.buffer, i6), mutabilityOwnership);
        }
        this.buffer = TrieNodeKt.removeCellAtIndex(this.buffer, i6);
        this.bitmap ^= i7;
        return this;
    }

    private final TrieNode<E> mutableUpdateNodeAtIndex(int i6, TrieNode<E> trieNode, MutabilityOwnership mutabilityOwnership) {
        Object[] objArr = trieNode.buffer;
        if (objArr.length == 1) {
            Object obj = objArr[0];
            if (!(obj instanceof TrieNode)) {
                if (this.buffer.length == 1) {
                    trieNode.bitmap = this.bitmap;
                    return trieNode;
                }
                trieNode = (TrieNode<E>) obj;
            }
        }
        if (this.ownedBy == mutabilityOwnership) {
            this.buffer[i6] = trieNode;
            return this;
        }
        Object[] objArr2 = this.buffer;
        Object[] objArrCopyOf = Arrays.copyOf(objArr2, objArr2.length);
        o.g(objArrCopyOf, "copyOf(...)");
        objArrCopyOf[i6] = trieNode;
        return new TrieNode<>(this.bitmap, objArrCopyOf, mutabilityOwnership);
    }

    private final TrieNode<E> nodeAtIndex(int i6) {
        Object obj = this.buffer[i6];
        o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
        return (TrieNode) obj;
    }

    private final TrieNode<E> removeCellAtIndex(int i6, int i7) {
        return new TrieNode<>(i7 ^ this.bitmap, TrieNodeKt.removeCellAtIndex(this.buffer, i6));
    }

    private final TrieNode<E> updateNodeAtIndex(int i6, TrieNode<E> trieNode) {
        Object[] objArr = trieNode.buffer;
        if (objArr.length == 1) {
            Object obj = objArr[0];
            if (!(obj instanceof TrieNode)) {
                if (this.buffer.length == 1) {
                    trieNode.bitmap = this.bitmap;
                    return trieNode;
                }
                trieNode = (TrieNode<E>) obj;
            }
        }
        Object[] objArr2 = this.buffer;
        Object[] objArrCopyOf = Arrays.copyOf(objArr2, objArr2.length);
        o.g(objArrCopyOf, "copyOf(...)");
        objArrCopyOf[i6] = trieNode;
        return new TrieNode<>(this.bitmap, objArrCopyOf);
    }

    public final TrieNode<E> add(int i6, E e6, int i7) {
        int iIndexSegment = 1 << TrieNodeKt.indexSegment(i6, i7);
        if (hasNoCellAt(iIndexSegment)) {
            return addElementAt(iIndexSegment, e6);
        }
        int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iIndexSegment);
        Object obj = this.buffer[iIndexOfCellAt$runtime];
        if (obj instanceof TrieNode) {
            TrieNode<E> trieNodeNodeAtIndex = nodeAtIndex(iIndexOfCellAt$runtime);
            TrieNode<E> trieNodeCollisionAdd = i7 == 30 ? trieNodeNodeAtIndex.collisionAdd(e6) : trieNodeNodeAtIndex.add(i6, e6, i7 + 5);
            if (trieNodeNodeAtIndex != trieNodeCollisionAdd) {
                return updateNodeAtIndex(iIndexOfCellAt$runtime, trieNodeCollisionAdd);
            }
        } else if (!o.c(e6, obj)) {
            return moveElementToNode(iIndexOfCellAt$runtime, i6, e6, i7);
        }
        return this;
    }

    public final boolean contains(int i6, E e6, int i7) {
        int iIndexSegment = 1 << TrieNodeKt.indexSegment(i6, i7);
        if (hasNoCellAt(iIndexSegment)) {
            return false;
        }
        int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iIndexSegment);
        Object obj = this.buffer[iIndexOfCellAt$runtime];
        if (!(obj instanceof TrieNode)) {
            return o.c(e6, obj);
        }
        TrieNode<E> trieNodeNodeAtIndex = nodeAtIndex(iIndexOfCellAt$runtime);
        return i7 == 30 ? trieNodeNodeAtIndex.collisionContainsElement(e6) : trieNodeNodeAtIndex.contains(i6, e6, i7 + 5);
    }

    /* JADX WARN: Multi-variable type inference failed */
    public final boolean containsAll(TrieNode<E> trieNode, int i6) {
        if (this == trieNode) {
            return true;
        }
        if (i6 > 30) {
            for (Object obj : trieNode.buffer) {
                if (!AbstractC3250p.v(this.buffer, obj)) {
                    return false;
                }
            }
            return true;
        }
        int i7 = this.bitmap;
        int i8 = trieNode.bitmap;
        int i9 = i7 & i8;
        if (i9 != i8) {
            return false;
        }
        while (i9 != 0) {
            int iLowestOneBit = Integer.lowestOneBit(i9);
            int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iLowestOneBit);
            int iIndexOfCellAt$runtime2 = trieNode.indexOfCellAt$runtime(iLowestOneBit);
            Object obj2 = this.buffer[iIndexOfCellAt$runtime];
            Object obj3 = trieNode.buffer[iIndexOfCellAt$runtime2];
            boolean z6 = obj2 instanceof TrieNode;
            boolean z7 = obj3 instanceof TrieNode;
            if (z6 && z7) {
                o.f(obj2, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                o.f(obj3, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                if (!((TrieNode) obj2).containsAll((TrieNode) obj3, i6 + 5)) {
                    return false;
                }
            } else if (z6) {
                o.f(obj2, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                if (!((TrieNode) obj2).contains(obj3 != null ? obj3.hashCode() : 0, obj3, i6 + 5)) {
                    return false;
                }
            } else if (z7 || !o.c(obj2, obj3)) {
                return false;
            }
            i9 ^= iLowestOneBit;
        }
        return true;
    }

    public final int getBitmap() {
        return this.bitmap;
    }

    public final Object[] getBuffer() {
        return this.buffer;
    }

    public final MutabilityOwnership getOwnedBy() {
        return this.ownedBy;
    }

    public final int indexOfCellAt$runtime(int i6) {
        return Integer.bitCount((i6 - 1) & this.bitmap);
    }

    public final TrieNode<E> mutableAdd(int i6, E e6, int i7, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        int iIndexSegment = 1 << TrieNodeKt.indexSegment(i6, i7);
        if (hasNoCellAt(iIndexSegment)) {
            persistentHashSetBuilder.setSize(persistentHashSetBuilder.size() + 1);
            return mutableAddElementAt(iIndexSegment, e6, persistentHashSetBuilder.getOwnership$runtime());
        }
        int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iIndexSegment);
        Object obj = this.buffer[iIndexOfCellAt$runtime];
        if (obj instanceof TrieNode) {
            TrieNode<E> trieNodeNodeAtIndex = nodeAtIndex(iIndexOfCellAt$runtime);
            TrieNode<E> trieNodeMutableCollisionAdd = i7 == 30 ? trieNodeNodeAtIndex.mutableCollisionAdd(e6, persistentHashSetBuilder) : trieNodeNodeAtIndex.mutableAdd(i6, e6, i7 + 5, persistentHashSetBuilder);
            if (trieNodeNodeAtIndex != trieNodeMutableCollisionAdd) {
                return mutableUpdateNodeAtIndex(iIndexOfCellAt$runtime, trieNodeMutableCollisionAdd, persistentHashSetBuilder.getOwnership$runtime());
            }
        } else if (!o.c(e6, obj)) {
            persistentHashSetBuilder.setSize(persistentHashSetBuilder.size() + 1);
            return mutableMoveElementToNode(iIndexOfCellAt$runtime, i6, e6, i7, persistentHashSetBuilder.getOwnership$runtime());
        }
        return this;
    }

    /* JADX WARN: Multi-variable type inference failed */
    public final TrieNode<E> mutableAddAll(TrieNode<E> trieNode, int i6, DeltaCounter deltaCounter, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        Object objMakeNode;
        Object[] objArr;
        if (this == trieNode) {
            deltaCounter.setCount(deltaCounter.getCount() + calculateSize());
            return this;
        }
        if (i6 > 30) {
            return mutableCollisionAddAll(trieNode, deltaCounter, persistentHashSetBuilder.getOwnership$runtime());
        }
        int i7 = this.bitmap;
        int i8 = trieNode.bitmap | i7;
        TrieNode<E> trieNode2 = (i8 == i7 && o.c(this.ownedBy, persistentHashSetBuilder.getOwnership$runtime())) ? this : new TrieNode<>(i8, new Object[Integer.bitCount(i8)], persistentHashSetBuilder.getOwnership$runtime());
        int i9 = i8;
        int i10 = 0;
        while (i9 != 0) {
            int iLowestOneBit = Integer.lowestOneBit(i9);
            int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iLowestOneBit);
            int iIndexOfCellAt$runtime2 = trieNode.indexOfCellAt$runtime(iLowestOneBit);
            Object[] objArr2 = trieNode2.buffer;
            if (hasNoCellAt(iLowestOneBit)) {
                objMakeNode = trieNode.buffer[iIndexOfCellAt$runtime2];
            } else if (trieNode.hasNoCellAt(iLowestOneBit)) {
                objMakeNode = this.buffer[iIndexOfCellAt$runtime];
            } else {
                objMakeNode = this.buffer[iIndexOfCellAt$runtime];
                Object obj = trieNode.buffer[iIndexOfCellAt$runtime2];
                boolean z6 = objMakeNode instanceof TrieNode;
                boolean z7 = obj instanceof TrieNode;
                if (z6 && z7) {
                    o.f(objMakeNode, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    objMakeNode = ((TrieNode) objMakeNode).mutableAddAll((TrieNode) obj, i6 + 5, deltaCounter, persistentHashSetBuilder);
                } else if (z6) {
                    o.f(objMakeNode, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    TrieNode trieNode3 = (TrieNode) objMakeNode;
                    int size = persistentHashSetBuilder.size();
                    objMakeNode = trieNode3.mutableAdd(obj != null ? obj.hashCode() : 0, obj, i6 + 5, persistentHashSetBuilder);
                    if (persistentHashSetBuilder.size() == size) {
                        deltaCounter.setCount(deltaCounter.getCount() + 1);
                    }
                } else if (z7) {
                    o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    TrieNode trieNode4 = (TrieNode) obj;
                    int size2 = persistentHashSetBuilder.size();
                    objMakeNode = trieNode4.mutableAdd(objMakeNode != null ? objMakeNode.hashCode() : 0, objMakeNode, i6 + 5, persistentHashSetBuilder);
                    if (persistentHashSetBuilder.size() == size2) {
                        deltaCounter.setCount(deltaCounter.getCount() + 1);
                    }
                } else if (o.c(objMakeNode, obj)) {
                    deltaCounter.setCount(deltaCounter.getCount() + 1);
                } else {
                    objArr = objArr2;
                    objMakeNode = makeNode(objMakeNode != null ? objMakeNode.hashCode() : 0, objMakeNode, obj != null ? obj.hashCode() : 0, obj, i6 + 5, persistentHashSetBuilder.getOwnership$runtime());
                    objArr[i10] = objMakeNode;
                    i10++;
                    i9 ^= iLowestOneBit;
                }
            }
            objArr = objArr2;
            objArr[i10] = objMakeNode;
            i10++;
            i9 ^= iLowestOneBit;
        }
        return elementsIdentityEquals(trieNode2) ? this : trieNode.elementsIdentityEquals(trieNode2) ? trieNode : trieNode2;
    }

    public final TrieNode<E> mutableRemove(int i6, E e6, int i7, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        int iIndexSegment = 1 << TrieNodeKt.indexSegment(i6, i7);
        if (!hasNoCellAt(iIndexSegment)) {
            int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iIndexSegment);
            Object obj = this.buffer[iIndexOfCellAt$runtime];
            if (obj instanceof TrieNode) {
                TrieNode<E> trieNodeNodeAtIndex = nodeAtIndex(iIndexOfCellAt$runtime);
                TrieNode<E> trieNodeMutableCollisionRemove = i7 == 30 ? trieNodeNodeAtIndex.mutableCollisionRemove(e6, persistentHashSetBuilder) : trieNodeNodeAtIndex.mutableRemove(i6, e6, i7 + 5, persistentHashSetBuilder);
                if (this.ownedBy == persistentHashSetBuilder.getOwnership$runtime() || trieNodeNodeAtIndex != trieNodeMutableCollisionRemove) {
                    return mutableUpdateNodeAtIndex(iIndexOfCellAt$runtime, trieNodeMutableCollisionRemove, persistentHashSetBuilder.getOwnership$runtime());
                }
            } else if (o.c(e6, obj)) {
                persistentHashSetBuilder.setSize(persistentHashSetBuilder.size() - 1);
                return mutableRemoveCellAtIndex(iIndexOfCellAt$runtime, iIndexSegment, persistentHashSetBuilder.getOwnership$runtime());
            }
        }
        return this;
    }

    /* JADX WARN: Multi-variable type inference failed */
    /* JADX WARN: Removed duplicated region for block: B:35:0x00b7  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final Object mutableRemoveAll(TrieNode<E> trieNode, int i6, DeltaCounter deltaCounter, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        TrieNode<E> trieNode2;
        if (this == trieNode) {
            deltaCounter.plusAssign(calculateSize());
            return EMPTY;
        }
        if (i6 > 30) {
            return mutableCollisionRemoveAll(trieNode, deltaCounter, persistentHashSetBuilder.getOwnership$runtime());
        }
        int i7 = this.bitmap & trieNode.bitmap;
        if (i7 != 0) {
            if (o.c(this.ownedBy, persistentHashSetBuilder.getOwnership$runtime())) {
                trieNode2 = this;
            } else {
                int i8 = this.bitmap;
                Object[] objArr = this.buffer;
                Object[] objArrCopyOf = Arrays.copyOf(objArr, objArr.length);
                o.g(objArrCopyOf, "copyOf(...)");
                trieNode2 = new TrieNode<>(i8, objArrCopyOf, persistentHashSetBuilder.getOwnership$runtime());
            }
            int i9 = this.bitmap;
            while (i7 != 0) {
                int iLowestOneBit = Integer.lowestOneBit(i7);
                int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iLowestOneBit);
                int iIndexOfCellAt$runtime2 = trieNode.indexOfCellAt$runtime(iLowestOneBit);
                Object objMutableRemoveAll = this.buffer[iIndexOfCellAt$runtime];
                Object obj = trieNode.buffer[iIndexOfCellAt$runtime2];
                boolean z6 = objMutableRemoveAll instanceof TrieNode;
                boolean z7 = obj instanceof TrieNode;
                if (z6 && z7) {
                    o.f(objMutableRemoveAll, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    objMutableRemoveAll = ((TrieNode) objMutableRemoveAll).mutableRemoveAll((TrieNode) obj, i6 + 5, deltaCounter, persistentHashSetBuilder);
                } else if (z6) {
                    o.f(objMutableRemoveAll, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    TrieNode trieNode3 = (TrieNode) objMutableRemoveAll;
                    int size = persistentHashSetBuilder.size();
                    TrieNode trieNodeMutableRemove = trieNode3.mutableRemove(obj != null ? obj.hashCode() : 0, obj, i6 + 5, persistentHashSetBuilder);
                    if (size != persistentHashSetBuilder.size()) {
                        deltaCounter.plusAssign(1);
                        Object[] objArr2 = trieNodeMutableRemove.buffer;
                        if (objArr2.length == 1) {
                            objMutableRemoveAll = objArr2[0];
                            if (objMutableRemoveAll instanceof TrieNode) {
                                objMutableRemoveAll = trieNodeMutableRemove;
                            }
                        }
                    }
                } else if (z7) {
                    o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                    if (((TrieNode) obj).contains(objMutableRemoveAll != null ? objMutableRemoveAll.hashCode() : 0, objMutableRemoveAll, i6 + 5)) {
                        deltaCounter.plusAssign(1);
                        objMutableRemoveAll = EMPTY;
                    }
                } else if (o.c(objMutableRemoveAll, obj)) {
                    deltaCounter.plusAssign(1);
                    objMutableRemoveAll = EMPTY;
                }
                if (objMutableRemoveAll == EMPTY) {
                    i9 ^= iLowestOneBit;
                }
                trieNode2.buffer[iIndexOfCellAt$runtime] = objMutableRemoveAll;
                i7 ^= iLowestOneBit;
            }
            int iBitCount = Integer.bitCount(i9);
            if (i9 == 0) {
                return EMPTY;
            }
            if (i9 != this.bitmap) {
                if (iBitCount == 1 && i6 != 0) {
                    Object obj2 = trieNode2.buffer[trieNode2.indexOfCellAt$runtime(i9)];
                    return obj2 instanceof TrieNode ? new TrieNode(i9, new Object[]{obj2}, persistentHashSetBuilder.getOwnership$runtime()) : obj2;
                }
                Object[] objArr3 = new Object[iBitCount];
                Object[] objArr4 = trieNode2.buffer;
                int i10 = 0;
                int i11 = 0;
                while (i10 < objArr4.length) {
                    CommonFunctionsKt.m197assert(i11 <= i10);
                    if (objArr4[i10] != Companion.getEMPTY$runtime()) {
                        objArr3[i11] = objArr4[i10];
                        i11++;
                        CommonFunctionsKt.m197assert(i11 <= iBitCount);
                    }
                    i10++;
                }
                return new TrieNode(i9, objArr3, persistentHashSetBuilder.getOwnership$runtime());
            }
            if (!trieNode2.elementsIdentityEquals(this)) {
                return trieNode2;
            }
        }
        return this;
    }

    /* JADX WARN: Multi-variable type inference failed */
    public final Object mutableRetainAll(TrieNode<E> trieNode, int i6, DeltaCounter deltaCounter, PersistentHashSetBuilder<?> persistentHashSetBuilder) {
        if (this == trieNode) {
            deltaCounter.plusAssign(calculateSize());
            return this;
        }
        if (i6 > 30) {
            return mutableCollisionRetainAll(trieNode, deltaCounter, persistentHashSetBuilder.getOwnership$runtime());
        }
        int i7 = this.bitmap & trieNode.bitmap;
        if (i7 == 0) {
            return EMPTY;
        }
        TrieNode<E> trieNode2 = (o.c(this.ownedBy, persistentHashSetBuilder.getOwnership$runtime()) && i7 == this.bitmap) ? this : new TrieNode<>(i7, new Object[Integer.bitCount(i7)], persistentHashSetBuilder.getOwnership$runtime());
        int i8 = i7;
        int i9 = 0;
        int i10 = 0;
        while (i8 != 0) {
            int iLowestOneBit = Integer.lowestOneBit(i8);
            int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iLowestOneBit);
            int iIndexOfCellAt$runtime2 = trieNode.indexOfCellAt$runtime(iLowestOneBit);
            Object objMutableRetainAll = this.buffer[iIndexOfCellAt$runtime];
            Object obj = trieNode.buffer[iIndexOfCellAt$runtime2];
            boolean z6 = objMutableRetainAll instanceof TrieNode;
            boolean z7 = obj instanceof TrieNode;
            if (z6 && z7) {
                o.f(objMutableRetainAll, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                objMutableRetainAll = ((TrieNode) objMutableRetainAll).mutableRetainAll((TrieNode) obj, i6 + 5, deltaCounter, persistentHashSetBuilder);
            } else if (z6) {
                o.f(objMutableRetainAll, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                if (((TrieNode) objMutableRetainAll).contains(obj != null ? obj.hashCode() : 0, obj, i6 + 5)) {
                    deltaCounter.plusAssign(1);
                    objMutableRetainAll = obj;
                } else {
                    objMutableRetainAll = EMPTY;
                }
            } else if (z7) {
                o.f(obj, "null cannot be cast to non-null type androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode<E of androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet.TrieNode>");
                if (((TrieNode) obj).contains(objMutableRetainAll != null ? objMutableRetainAll.hashCode() : 0, objMutableRetainAll, i6 + 5)) {
                    deltaCounter.plusAssign(1);
                } else {
                    objMutableRetainAll = EMPTY;
                }
            } else if (o.c(objMutableRetainAll, obj)) {
                deltaCounter.plusAssign(1);
            } else {
                objMutableRetainAll = EMPTY;
            }
            if (objMutableRetainAll != EMPTY) {
                i9 |= iLowestOneBit;
            }
            trieNode2.buffer[i10] = objMutableRetainAll;
            i10++;
            i8 ^= iLowestOneBit;
        }
        int iBitCount = Integer.bitCount(i9);
        if (i9 == 0) {
            return EMPTY;
        }
        if (i9 == i7) {
            return trieNode2.elementsIdentityEquals(this) ? this : trieNode2.elementsIdentityEquals(trieNode) ? trieNode : trieNode2;
        }
        if (iBitCount == 1 && i6 != 0) {
            Object obj2 = trieNode2.buffer[trieNode2.indexOfCellAt$runtime(i9)];
            return obj2 instanceof TrieNode ? new TrieNode(i9, new Object[]{obj2}, persistentHashSetBuilder.getOwnership$runtime()) : obj2;
        }
        Object[] objArr = new Object[iBitCount];
        Object[] objArr2 = trieNode2.buffer;
        int i11 = 0;
        int i12 = 0;
        while (i11 < objArr2.length) {
            CommonFunctionsKt.m197assert(i12 <= i11);
            if (objArr2[i11] != Companion.getEMPTY$runtime()) {
                objArr[i12] = objArr2[i11];
                i12++;
                CommonFunctionsKt.m197assert(i12 <= iBitCount);
            }
            i11++;
        }
        return new TrieNode(i9, objArr, persistentHashSetBuilder.getOwnership$runtime());
    }

    public final TrieNode<E> remove(int i6, E e6, int i7) {
        int iIndexSegment = 1 << TrieNodeKt.indexSegment(i6, i7);
        if (!hasNoCellAt(iIndexSegment)) {
            int iIndexOfCellAt$runtime = indexOfCellAt$runtime(iIndexSegment);
            Object obj = this.buffer[iIndexOfCellAt$runtime];
            if (obj instanceof TrieNode) {
                TrieNode<E> trieNodeNodeAtIndex = nodeAtIndex(iIndexOfCellAt$runtime);
                TrieNode<E> trieNodeCollisionRemove = i7 == 30 ? trieNodeNodeAtIndex.collisionRemove(e6) : trieNodeNodeAtIndex.remove(i6, e6, i7 + 5);
                if (trieNodeNodeAtIndex != trieNodeCollisionRemove) {
                    return updateNodeAtIndex(iIndexOfCellAt$runtime, trieNodeCollisionRemove);
                }
            } else if (o.c(e6, obj)) {
                return removeCellAtIndex(iIndexOfCellAt$runtime, iIndexSegment);
            }
        }
        return this;
    }

    public final void setBitmap(int i6) {
        this.bitmap = i6;
    }

    public final void setBuffer(Object[] objArr) {
        this.buffer = objArr;
    }

    public final void setOwnedBy(MutabilityOwnership mutabilityOwnership) {
        this.ownedBy = mutabilityOwnership;
    }

    public TrieNode(int i6, Object[] objArr) {
        this(i6, objArr, null);
    }
}
