ADD week 5

This commit is contained in:
2025-03-31 16:33:42 +02:00
parent 86f265f22d
commit bf645048e6
4927 changed files with 544053 additions and 0 deletions

View File

@ -0,0 +1,53 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0002\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0000\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\b\u0010\n\u001a\u00020\u000bH\u0016J\u0010\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\rH\u0016J\b\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\bH\u0016J\u0010\u0010\u0013\u001a\u00020\b2\u0006\u0010\u0014\u001a\u00020\bH\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016R\u0012\u0010\u0003\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0017"}, d2 = {"Lkotlin/random/AbstractPlatformRandom;", "Lkotlin/random/Random;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "nextDouble", "", "nextFloat", "", "nextInt", "until", "nextLong", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public abstract class AbstractPlatformRandom extends Random {
public abstract java.util.Random getImpl();
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return RandomKt.takeUpperBits(getImpl().nextInt(), bitCount);
}
@Override // kotlin.random.Random
public int nextInt() {
return getImpl().nextInt();
}
@Override // kotlin.random.Random
public int nextInt(int until) {
return getImpl().nextInt(until);
}
@Override // kotlin.random.Random
public long nextLong() {
return getImpl().nextLong();
}
@Override // kotlin.random.Random
public boolean nextBoolean() {
return getImpl().nextBoolean();
}
@Override // kotlin.random.Random
public double nextDouble() {
return getImpl().nextDouble();
}
@Override // kotlin.random.Random
public float nextFloat() {
return getImpl().nextFloat();
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
getImpl().nextBytes(array);
return array;
}
}

View File

@ -0,0 +1,24 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000\u001b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\b\u0003*\u0001\b\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0010\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\\u0006\n"}, d2 = {"Lkotlin/random/FallbackThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "implStorage", "kotlin/random/FallbackThreadLocalRandom$implStorage$1", "Lkotlin/random/FallbackThreadLocalRandom$implStorage$1;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class FallbackThreadLocalRandom extends AbstractPlatformRandom {
private final FallbackThreadLocalRandom$implStorage$1 implStorage = new ThreadLocal<java.util.Random>() { // from class: kotlin.random.FallbackThreadLocalRandom$implStorage$1
/* JADX INFO: Access modifiers changed from: protected */
@Override // java.lang.ThreadLocal
public java.util.Random initialValue() {
return new java.util.Random();
}
};
@Override // kotlin.random.AbstractPlatformRandom
public java.util.Random getImpl() {
java.util.Random random = get();
Intrinsics.checkNotNullExpressionValue(random, "implStorage.get()");
return random;
}
}

View File

@ -0,0 +1,84 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\b\u0002\u0018\u0000 \u001b2\u00020\u0001:\u0001\u001bB\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0014J\b\u0010\f\u001a\u00020\bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\b\u0010\u0015\u001a\u00020\nH\u0016J\u0010\u0010\u0015\u001a\u00020\n2\u0006\u0010\u0016\u001a\u00020\nH\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\u0010\u0010\u0019\u001a\u00020\u000e2\u0006\u0010\u001a\u001a\u00020\u0018H\u0016R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u001c"}, d2 = {"Lkotlin/random/KotlinRandom;", "Ljava/util/Random;", "impl", "Lkotlin/random/Random;", "(Lkotlin/random/Random;)V", "getImpl", "()Lkotlin/random/Random;", "seedInitialized", "", "next", "", "bits", "nextBoolean", "nextBytes", "", "bytes", "", "nextDouble", "", "nextFloat", "", "nextInt", "bound", "nextLong", "", "setSeed", "seed", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
final class KotlinRandom extends java.util.Random {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private final Random impl;
private boolean seedInitialized;
public final Random getImpl() {
return this.impl;
}
public KotlinRandom(Random impl) {
Intrinsics.checkNotNullParameter(impl, "impl");
this.impl = impl;
}
@Override // java.util.Random
protected int next(int bits) {
return this.impl.nextBits(bits);
}
@Override // java.util.Random
public int nextInt() {
return this.impl.nextInt();
}
@Override // java.util.Random
public int nextInt(int bound) {
return this.impl.nextInt(bound);
}
@Override // java.util.Random
public boolean nextBoolean() {
return this.impl.nextBoolean();
}
@Override // java.util.Random
public long nextLong() {
return this.impl.nextLong();
}
@Override // java.util.Random
public float nextFloat() {
return this.impl.nextFloat();
}
@Override // java.util.Random
public double nextDouble() {
return this.impl.nextDouble();
}
@Override // java.util.Random
public void nextBytes(byte[] bytes) {
Intrinsics.checkNotNullParameter(bytes, "bytes");
this.impl.nextBytes(bytes);
}
@Override // java.util.Random
public void setSeed(long seed) {
if (this.seedInitialized) {
throw new UnsupportedOperationException("Setting seed is not supported.");
}
this.seedInitialized = true;
}
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/KotlinRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
private static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
}

View File

@ -0,0 +1,36 @@
package kotlin.random;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0002\u0018\u0000 \t2\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\tB\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006R\u0014\u0010\u0004\u001a\u00020\u0005X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\\u0006\n"}, d2 = {"Lkotlin/random/PlatformRandom;", "Lkotlin/random/AbstractPlatformRandom;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "impl", "Ljava/util/Random;", "(Ljava/util/Random;)V", "getImpl", "()Ljava/util/Random;", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
final class PlatformRandom extends AbstractPlatformRandom implements Serializable {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private final java.util.Random impl;
@Override // kotlin.random.AbstractPlatformRandom
public java.util.Random getImpl() {
return this.impl;
}
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/PlatformRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
private static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
public PlatformRandom(java.util.Random impl) {
Intrinsics.checkNotNullParameter(impl, "impl");
this.impl = impl;
}
}

View File

@ -0,0 +1,32 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.internal.PlatformImplementationsKt;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PlatformRandom.kt */
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\t\u0010\u0000\u001a\u00020\u0001H\u0081\b\u001a\u0018\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0005H\u0000\u001a\f\u0010\u0007\u001a\u00020\b*\u00020\u0001H\u0007\u001a\f\u0010\t\u001a\u00020\u0001*\u00020\bH\u0007¨\u0006\n"}, d2 = {"defaultPlatformRandom", "Lkotlin/random/Random;", "doubleFromParts", "", "hi26", "", "low27", "asJavaRandom", "Ljava/util/Random;", "asKotlinRandom", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class PlatformRandomKt {
public static final double doubleFromParts(int i, int i2) {
return ((i << 27) + i2) / 9.007199254740992E15d;
}
public static final java.util.Random asJavaRandom(Random random) {
java.util.Random impl;
Intrinsics.checkNotNullParameter(random, "<this>");
AbstractPlatformRandom abstractPlatformRandom = random instanceof AbstractPlatformRandom ? (AbstractPlatformRandom) random : null;
return (abstractPlatformRandom == null || (impl = abstractPlatformRandom.getImpl()) == null) ? new KotlinRandom(random) : impl;
}
public static final Random asKotlinRandom(java.util.Random random) {
Random impl;
Intrinsics.checkNotNullParameter(random, "<this>");
KotlinRandom kotlinRandom = random instanceof KotlinRandom ? (KotlinRandom) random : null;
return (kotlinRandom == null || (impl = kotlinRandom.getImpl()) == null) ? new PlatformRandom(random) : impl;
}
private static final Random defaultPlatformRandom() {
return PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
}
}

View File

@ -0,0 +1,284 @@
package kotlin.random;
import androidx.constraintlayout.core.motion.utils.TypedValues;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.internal.PlatformImplementationsKt;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.ranges.IntRange;
/* compiled from: Random.kt */
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0002\b'\u0018\u0000 \u00172\u00020\u0001:\u0001\u0017B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0004H&J\b\u0010\u0006\u001a\u00020\u0007H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\tH\u0016J$\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\t2\b\b\u0002\u0010\u000b\u001a\u00020\u00042\b\b\u0002\u0010\f\u001a\u00020\u0004H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\r\u001a\u00020\u0004H\u0016J\b\u0010\u000e\u001a\u00020\u000fH\u0016J\u0010\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\u0018\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0011\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\b\u0010\u0012\u001a\u00020\u0013H\u0016J\b\u0010\u0014\u001a\u00020\u0004H\u0016J\u0010\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\u0018\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0011\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\u0010\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016J\u0018\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0011\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016¨\u0006\u0018"}, d2 = {"Lkotlin/random/Random;", "", "()V", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", TypedValues.TransitionType.S_FROM, "nextFloat", "", "nextInt", "nextLong", "", "Default", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public abstract class Random {
/* renamed from: Default, reason: from kotlin metadata */
public static final Companion INSTANCE = new Companion(null);
private static final Random defaultRandom = PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
public abstract int nextBits(int bitCount);
public int nextInt() {
return nextBits(32);
}
public int nextInt(int until) {
return nextInt(0, until);
}
public int nextInt(int from, int until) {
int nextInt;
int i;
int i2;
RandomKt.checkRangeBounds(from, until);
int i3 = until - from;
if (i3 > 0 || i3 == Integer.MIN_VALUE) {
if (((-i3) & i3) == i3) {
i2 = nextBits(RandomKt.fastLog2(i3));
} else {
do {
nextInt = nextInt() >>> 1;
i = nextInt % i3;
} while ((nextInt - i) + (i3 - 1) < 0);
i2 = i;
}
return from + i2;
}
while (true) {
int nextInt2 = nextInt();
if (from <= nextInt2 && nextInt2 < until) {
return nextInt2;
}
}
}
public long nextLong() {
return (nextInt() << 32) + nextInt();
}
public long nextLong(long until) {
return nextLong(0L, until);
}
public long nextLong(long from, long until) {
long nextLong;
long j;
long j2;
int nextInt;
RandomKt.checkRangeBounds(from, until);
long j3 = until - from;
if (j3 > 0) {
if (((-j3) & j3) == j3) {
int i = (int) j3;
int i2 = (int) (j3 >>> 32);
if (i != 0) {
nextInt = nextBits(RandomKt.fastLog2(i));
} else if (i2 == 1) {
nextInt = nextInt();
} else {
j2 = (nextBits(RandomKt.fastLog2(i2)) << 32) + (nextInt() & 4294967295L);
}
j2 = nextInt & 4294967295L;
} else {
do {
nextLong = nextLong() >>> 1;
j = nextLong % j3;
} while ((nextLong - j) + (j3 - 1) < 0);
j2 = j;
}
return from + j2;
}
while (true) {
long nextLong2 = nextLong();
if (from <= nextLong2 && nextLong2 < until) {
return nextLong2;
}
}
}
public boolean nextBoolean() {
return nextBits(1) != 0;
}
public double nextDouble() {
return PlatformRandomKt.doubleFromParts(nextBits(26), nextBits(27));
}
public double nextDouble(double until) {
return nextDouble(0.0d, until);
}
public double nextDouble(double from, double until) {
double nextDouble;
RandomKt.checkRangeBounds(from, until);
double d = until - from;
if (Double.isInfinite(d) && !Double.isInfinite(from) && !Double.isNaN(from) && !Double.isInfinite(until) && !Double.isNaN(until)) {
double d2 = 2;
double nextDouble2 = nextDouble() * ((until / d2) - (from / d2));
nextDouble = from + nextDouble2 + nextDouble2;
} else {
nextDouble = from + (nextDouble() * d);
}
return nextDouble >= until ? Math.nextAfter(until, Double.NEGATIVE_INFINITY) : nextDouble;
}
public float nextFloat() {
return nextBits(24) / 1.6777216E7f;
}
public static /* synthetic */ byte[] nextBytes$default(Random random, byte[] bArr, int i, int i2, int i3, Object obj) {
if (obj != null) {
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: nextBytes");
}
if ((i3 & 2) != 0) {
i = 0;
}
if ((i3 & 4) != 0) {
i2 = bArr.length;
}
return random.nextBytes(bArr, i, i2);
}
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
Intrinsics.checkNotNullParameter(array, "array");
if (!new IntRange(0, array.length).contains(fromIndex) || !new IntRange(0, array.length).contains(toIndex)) {
throw new IllegalArgumentException(("fromIndex (" + fromIndex + ") or toIndex (" + toIndex + ") are out of range: 0.." + array.length + '.').toString());
}
if (fromIndex > toIndex) {
throw new IllegalArgumentException(("fromIndex (" + fromIndex + ") must be not greater than toIndex (" + toIndex + ").").toString());
}
int i = (toIndex - fromIndex) / 4;
for (int i2 = 0; i2 < i; i2++) {
int nextInt = nextInt();
array[fromIndex] = (byte) nextInt;
array[fromIndex + 1] = (byte) (nextInt >>> 8);
array[fromIndex + 2] = (byte) (nextInt >>> 16);
array[fromIndex + 3] = (byte) (nextInt >>> 24);
fromIndex += 4;
}
int i3 = toIndex - fromIndex;
int nextBits = nextBits(i3 * 8);
for (int i4 = 0; i4 < i3; i4++) {
array[fromIndex + i4] = (byte) (nextBits >>> (i4 * 8));
}
return array;
}
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
return nextBytes(array, 0, array.length);
}
public byte[] nextBytes(int size) {
return nextBytes(new byte[size]);
}
/* compiled from: Random.kt */
@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u001cB\u0007\b\u0002¢\u0006\u0002\u0010\u0004J\u0010\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0007H\u0016J\b\u0010\t\u001a\u00020\nH\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\fH\u0016J \u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\f2\u0006\u0010\u000e\u001a\u00020\u00072\u0006\u0010\u000f\u001a\u00020\u0007H\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u0007H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\u0010\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\u0018\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\b\u0010\u0017\u001a\u00020\u0007H\u0016J\u0010\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\u0018\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0014\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\b\u0010\u0018\u001a\u00020\u0019H\u0016J\u0010\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\u0018\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0014\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0002R\u000e\u0010\u0005\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001d"}, d2 = {"Lkotlin/random/Random$Default;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "defaultRandom", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", TypedValues.TransitionType.S_FROM, "nextFloat", "", "nextInt", "nextLong", "", "writeReplace", "", "Serialized", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* renamed from: kotlin.random.Random$Default, reason: from kotlin metadata */
public static final class Companion extends Random implements Serializable {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
/* compiled from: Random.kt */
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0000\\u0002\u0018\u00002\u00060\u0001j\u0002`\u0002B\u0007\b\u0002¢\u0006\u0002\u0010\u0003J\b\u0010\u0006\u001a\u00020\u0007H\u0002R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082T¢\u0006\u0002\n\u0000¨\u0006\b"}, d2 = {"Lkotlin/random/Random$Default$Serialized;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "serialVersionUID", "", "readResolve", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* renamed from: kotlin.random.Random$Default$Serialized */
private static final class Serialized implements Serializable {
public static final Serialized INSTANCE = new Serialized();
private static final long serialVersionUID = 0;
private Serialized() {
}
private final Object readResolve() {
return Random.INSTANCE;
}
}
private final Object writeReplace() {
return Serialized.INSTANCE;
}
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return Random.defaultRandom.nextBits(bitCount);
}
@Override // kotlin.random.Random
public int nextInt() {
return Random.defaultRandom.nextInt();
}
@Override // kotlin.random.Random
public int nextInt(int until) {
return Random.defaultRandom.nextInt(until);
}
@Override // kotlin.random.Random
public int nextInt(int from, int until) {
return Random.defaultRandom.nextInt(from, until);
}
@Override // kotlin.random.Random
public long nextLong() {
return Random.defaultRandom.nextLong();
}
@Override // kotlin.random.Random
public long nextLong(long until) {
return Random.defaultRandom.nextLong(until);
}
@Override // kotlin.random.Random
public long nextLong(long from, long until) {
return Random.defaultRandom.nextLong(from, until);
}
@Override // kotlin.random.Random
public boolean nextBoolean() {
return Random.defaultRandom.nextBoolean();
}
@Override // kotlin.random.Random
public double nextDouble() {
return Random.defaultRandom.nextDouble();
}
@Override // kotlin.random.Random
public double nextDouble(double until) {
return Random.defaultRandom.nextDouble(until);
}
@Override // kotlin.random.Random
public double nextDouble(double from, double until) {
return Random.defaultRandom.nextDouble(from, until);
}
@Override // kotlin.random.Random
public float nextFloat() {
return Random.defaultRandom.nextFloat();
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
return Random.defaultRandom.nextBytes(array);
}
@Override // kotlin.random.Random
public byte[] nextBytes(int size) {
return Random.defaultRandom.nextBytes(size);
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
Intrinsics.checkNotNullParameter(array, "array");
return Random.defaultRandom.nextBytes(array, fromIndex, toIndex);
}
}
}

View File

@ -0,0 +1,70 @@
package kotlin.random;
import androidx.constraintlayout.core.motion.utils.TypedValues;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.ranges.IntRange;
import kotlin.ranges.LongRange;
/* compiled from: Random.kt */
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0010\u0006\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0004H\u0007\u001a\u0018\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\f2\u0006\u0010\t\u001a\u00020\fH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00032\u0006\u0010\t\u001a\u00020\u0003H\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000\u001a\u0010\u0010\r\u001a\u00020\u00032\u0006\u0010\u000e\u001a\u00020\u0003H\u0000\u001a\u0014\u0010\u000f\u001a\u00020\u0003*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\u0012\u001a\u00020\u0004*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0013H\u0007\u001a\u0014\u0010\u0014\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0015\u001a\u00020\u0003H\u0000¨\u0006\u0016"}, d2 = {"Random", "Lkotlin/random/Random;", "seed", "", "", "boundsErrorMessage", "", TypedValues.TransitionType.S_FROM, "", "until", "checkRangeBounds", "", "", "fastLog2", "value", "nextInt", "range", "Lkotlin/ranges/IntRange;", "nextLong", "Lkotlin/ranges/LongRange;", "takeUpperBits", "bitCount", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class RandomKt {
public static final int takeUpperBits(int i, int i2) {
return (i >>> (32 - i2)) & ((-i2) >> 31);
}
public static final Random Random(int i) {
return new XorWowRandom(i, i >> 31);
}
public static final Random Random(long j) {
return new XorWowRandom((int) j, (int) (j >> 32));
}
public static final int nextInt(Random random, IntRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return range.getLast() < Integer.MAX_VALUE ? random.nextInt(range.getFirst(), range.getLast() + 1) : range.getFirst() > Integer.MIN_VALUE ? random.nextInt(range.getFirst() - 1, range.getLast()) + 1 : random.nextInt();
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
public static final long nextLong(Random random, LongRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return range.getLast() < Long.MAX_VALUE ? random.nextLong(range.getFirst(), range.getLast() + 1) : range.getFirst() > Long.MIN_VALUE ? random.nextLong(range.getFirst() - 1, range.getLast()) + 1 : random.nextLong();
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
public static final int fastLog2(int i) {
return 31 - Integer.numberOfLeadingZeros(i);
}
public static final void checkRangeBounds(int i, int i2) {
if (i2 <= i) {
throw new IllegalArgumentException(boundsErrorMessage(Integer.valueOf(i), Integer.valueOf(i2)).toString());
}
}
public static final void checkRangeBounds(long j, long j2) {
if (j2 <= j) {
throw new IllegalArgumentException(boundsErrorMessage(Long.valueOf(j), Long.valueOf(j2)).toString());
}
}
public static final void checkRangeBounds(double d, double d2) {
if (d2 <= d) {
throw new IllegalArgumentException(boundsErrorMessage(Double.valueOf(d), Double.valueOf(d2)).toString());
}
}
public static final String boundsErrorMessage(Object from, Object until) {
Intrinsics.checkNotNullParameter(from, "from");
Intrinsics.checkNotNullParameter(until, "until");
return "Random range is empty: [" + from + ", " + until + ").";
}
}

View File

@ -0,0 +1,137 @@
package kotlin.random;
import androidx.constraintlayout.core.motion.utils.TypedValues;
import kotlin.Metadata;
import kotlin.UByteArray;
import kotlin.UInt;
import kotlin.ULong;
import kotlin.jvm.internal.Intrinsics;
import kotlin.ranges.UIntRange;
import kotlin.ranges.ULongRange;
/* compiled from: URandom.kt */
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000f\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\"\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0000ø\u0001\u0000¢\u0006\u0004\b\u0005\u0010\u0006\u001a\"\u0010\u0007\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0000ø\u0001\u0000¢\u0006\u0004\b\t\u0010\n\u001a\u001c\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u000e\u001a\u00020\u000fH\u0007ø\u0001\u0000¢\u0006\u0002\u0010\u0010\u001a\u001e\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\fH\u0007ø\u0001\u0000¢\u0006\u0004\b\u0012\u0010\u0013\u001a2\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\f2\b\b\u0002\u0010\u0014\u001a\u00020\u000f2\b\b\u0002\u0010\u0015\u001a\u00020\u000fH\u0007ø\u0001\u0000¢\u0006\u0004\b\u0016\u0010\u0017\u001a\u0014\u0010\u0018\u001a\u00020\u0003*\u00020\rH\u0007ø\u0001\u0000¢\u0006\u0002\u0010\u0019\u001a\u001e\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0004\u001a\u00020\u0003H\u0007ø\u0001\u0000¢\u0006\u0004\b\u001a\u0010\u001b\u001a&\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0007ø\u0001\u0000¢\u0006\u0004\b\u001c\u0010\u001d\u001a\u001c\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u001e\u001a\u00020\u001fH\u0007ø\u0001\u0000¢\u0006\u0002\u0010 \u001a\u0014\u0010!\u001a\u00020\b*\u00020\rH\u0007ø\u0001\u0000¢\u0006\u0002\u0010\"\u001a\u001e\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0004\u001a\u00020\bH\u0007ø\u0001\u0000¢\u0006\u0004\b#\u0010$\u001a&\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0007ø\u0001\u0000¢\u0006\u0004\b%\u0010&\u001a\u001c\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u001e\u001a\u00020'H\u0007ø\u0001\u0000¢\u0006\u0002\u0010(\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006)"}, d2 = {"checkUIntRangeBounds", "", TypedValues.TransitionType.S_FROM, "Lkotlin/UInt;", "until", "checkUIntRangeBounds-J1ME1BU", "(II)V", "checkULongRangeBounds", "Lkotlin/ULong;", "checkULongRangeBounds-eb3DHEI", "(JJ)V", "nextUBytes", "Lkotlin/UByteArray;", "Lkotlin/random/Random;", "size", "", "(Lkotlin/random/Random;I)[B", "array", "nextUBytes-EVgfTAA", "(Lkotlin/random/Random;[B)[B", "fromIndex", "toIndex", "nextUBytes-Wvrt4B4", "(Lkotlin/random/Random;[BII)[B", "nextUInt", "(Lkotlin/random/Random;)I", "nextUInt-qCasIEU", "(Lkotlin/random/Random;I)I", "nextUInt-a8DCA5k", "(Lkotlin/random/Random;II)I", "range", "Lkotlin/ranges/UIntRange;", "(Lkotlin/random/Random;Lkotlin/ranges/UIntRange;)I", "nextULong", "(Lkotlin/random/Random;)J", "nextULong-V1Xi4fY", "(Lkotlin/random/Random;J)J", "nextULong-jmpaW-c", "(Lkotlin/random/Random;JJ)J", "Lkotlin/ranges/ULongRange;", "(Lkotlin/random/Random;Lkotlin/ranges/ULongRange;)J", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class URandomKt {
public static final int nextUInt(Random random) {
Intrinsics.checkNotNullParameter(random, "<this>");
return UInt.m384constructorimpl(random.nextInt());
}
/* renamed from: nextUInt-qCasIEU, reason: not valid java name */
public static final int m1545nextUIntqCasIEU(Random nextUInt, int i) {
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
return m1544nextUInta8DCA5k(nextUInt, 0, i);
}
/* renamed from: nextUInt-a8DCA5k, reason: not valid java name */
public static final int m1544nextUInta8DCA5k(Random nextUInt, int i, int i2) {
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
m1539checkUIntRangeBoundsJ1ME1BU(i, i2);
return UInt.m384constructorimpl(nextUInt.nextInt(i ^ Integer.MIN_VALUE, i2 ^ Integer.MIN_VALUE) ^ Integer.MIN_VALUE);
}
public static final int nextUInt(Random random, UIntRange range) {
int compare;
int compare2;
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (range.isEmpty()) {
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
compare = Integer.compare(range.getLast() ^ Integer.MIN_VALUE, (-1) ^ Integer.MIN_VALUE);
if (compare < 0) {
return m1544nextUInta8DCA5k(random, range.getFirst(), UInt.m384constructorimpl(range.getLast() + 1));
}
compare2 = Integer.compare(range.getFirst() ^ Integer.MIN_VALUE, 0 ^ Integer.MIN_VALUE);
return compare2 > 0 ? UInt.m384constructorimpl(m1544nextUInta8DCA5k(random, UInt.m384constructorimpl(range.getFirst() - 1), range.getLast()) + 1) : nextUInt(random);
}
public static final long nextULong(Random random) {
Intrinsics.checkNotNullParameter(random, "<this>");
return ULong.m463constructorimpl(random.nextLong());
}
/* renamed from: nextULong-V1Xi4fY, reason: not valid java name */
public static final long m1546nextULongV1Xi4fY(Random nextULong, long j) {
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
return m1547nextULongjmpaWc(nextULong, 0L, j);
}
/* renamed from: nextULong-jmpaW-c, reason: not valid java name */
public static final long m1547nextULongjmpaWc(Random nextULong, long j, long j2) {
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
m1540checkULongRangeBoundseb3DHEI(j, j2);
return ULong.m463constructorimpl(nextULong.nextLong(j ^ Long.MIN_VALUE, j2 ^ Long.MIN_VALUE) ^ Long.MIN_VALUE);
}
public static final long nextULong(Random random, ULongRange range) {
int compare;
int compare2;
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (range.isEmpty()) {
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
compare = Long.compare(range.getLast() ^ Long.MIN_VALUE, (-1) ^ Long.MIN_VALUE);
if (compare < 0) {
return m1547nextULongjmpaWc(random, range.getFirst(), ULong.m463constructorimpl(range.getLast() + ULong.m463constructorimpl(1 & 4294967295L)));
}
compare2 = Long.compare(range.getFirst() ^ Long.MIN_VALUE, 0 ^ Long.MIN_VALUE);
if (compare2 <= 0) {
return nextULong(random);
}
long j = 1 & 4294967295L;
return ULong.m463constructorimpl(m1547nextULongjmpaWc(random, ULong.m463constructorimpl(range.getFirst() - ULong.m463constructorimpl(j)), range.getLast()) + ULong.m463constructorimpl(j));
}
/* renamed from: nextUBytes-EVgfTAA, reason: not valid java name */
public static final byte[] m1541nextUBytesEVgfTAA(Random nextUBytes, byte[] array) {
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
Intrinsics.checkNotNullParameter(array, "array");
nextUBytes.nextBytes(array);
return array;
}
public static final byte[] nextUBytes(Random random, int i) {
Intrinsics.checkNotNullParameter(random, "<this>");
return UByteArray.m360constructorimpl(random.nextBytes(i));
}
/* renamed from: nextUBytes-Wvrt4B4$default, reason: not valid java name */
public static /* synthetic */ byte[] m1543nextUBytesWvrt4B4$default(Random random, byte[] bArr, int i, int i2, int i3, Object obj) {
if ((i3 & 2) != 0) {
i = 0;
}
if ((i3 & 4) != 0) {
i2 = UByteArray.m366getSizeimpl(bArr);
}
return m1542nextUBytesWvrt4B4(random, bArr, i, i2);
}
/* renamed from: nextUBytes-Wvrt4B4, reason: not valid java name */
public static final byte[] m1542nextUBytesWvrt4B4(Random nextUBytes, byte[] array, int i, int i2) {
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
Intrinsics.checkNotNullParameter(array, "array");
nextUBytes.nextBytes(array, i, i2);
return array;
}
/* renamed from: checkUIntRangeBounds-J1ME1BU, reason: not valid java name */
public static final void m1539checkUIntRangeBoundsJ1ME1BU(int i, int i2) {
int compare;
compare = Integer.compare(i2 ^ Integer.MIN_VALUE, i ^ Integer.MIN_VALUE);
if (compare <= 0) {
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(UInt.m378boximpl(i), UInt.m378boximpl(i2)).toString());
}
}
/* renamed from: checkULongRangeBounds-eb3DHEI, reason: not valid java name */
public static final void m1540checkULongRangeBoundseb3DHEI(long j, long j2) {
int compare;
compare = Long.compare(j2 ^ Long.MIN_VALUE, j ^ Long.MIN_VALUE);
if (compare <= 0) {
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(ULong.m457boximpl(j), ULong.m457boximpl(j2)).toString());
}
}
}

View File

@ -0,0 +1,70 @@
package kotlin.random;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
/* compiled from: XorWowRandom.kt */
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000e\b\u0000\u0018\u0000 \u00122\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u0012B\u0017\b\u0010\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0005¢\u0006\u0002\u0010\u0007B7\b\u0000\u0012\u0006\u0010\b\u001a\u00020\u0005\u0012\u0006\u0010\t\u001a\u00020\u0005\u0012\u0006\u0010\n\u001a\u00020\u0005\u0012\u0006\u0010\u000b\u001a\u00020\u0005\u0012\u0006\u0010\f\u001a\u00020\u0005\u0012\u0006\u0010\r\u001a\u00020\u0005¢\u0006\u0002\u0010\u000eJ\u0010\u0010\u000f\u001a\u00020\u00052\u0006\u0010\u0010\u001a\u00020\u0005H\u0016J\b\u0010\u0011\u001a\u00020\u0005H\u0016R\u000e\u0010\r\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0013"}, d2 = {"Lkotlin/random/XorWowRandom;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "seed1", "", "seed2", "(II)V", "x", "y", "z", "w", "v", "addend", "(IIIIII)V", "nextBits", "bitCount", "nextInt", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class XorWowRandom extends Random implements Serializable {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private int addend;
private int v;
private int w;
private int x;
private int y;
private int z;
@Override // kotlin.random.Random
public int nextInt() {
int i = this.x;
int i2 = i ^ (i >>> 2);
this.x = this.y;
this.y = this.z;
this.z = this.w;
int i3 = this.v;
this.w = i3;
int i4 = ((i2 ^ (i2 << 1)) ^ i3) ^ (i3 << 4);
this.v = i4;
int i5 = this.addend + 362437;
this.addend = i5;
return i4 + i5;
}
public XorWowRandom(int i, int i2, int i3, int i4, int i5, int i6) {
this.x = i;
this.y = i2;
this.z = i3;
this.w = i4;
this.v = i5;
this.addend = i6;
if ((i | i2 | i3 | i4 | i5) == 0) {
throw new IllegalArgumentException("Initial state must have at least one non-zero element.".toString());
}
for (int i7 = 0; i7 < 64; i7++) {
nextInt();
}
}
public XorWowRandom(int i, int i2) {
this(i, i2, 0, 0, ~i, (i << 10) ^ (i2 >>> 4));
}
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return RandomKt.takeUpperBits(nextInt(), bitCount);
}
/* compiled from: XorWowRandom.kt */
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/XorWowRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
private static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
}

View File

@ -0,0 +1,40 @@
package kotlin.random.jdk8;
import androidx.constraintlayout.core.motion.utils.TypedValues;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.random.AbstractPlatformRandom;
/* compiled from: PlatformThreadLocalRandom.kt */
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0006\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\u000b2\u0006\u0010\t\u001a\u00020\u000bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016J\u0018\u0010\r\u001a\u00020\u000e2\u0006\u0010\f\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000f"}, d2 = {"Lkotlin/random/jdk8/PlatformThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextDouble", "", "until", "nextInt", "", TypedValues.TransitionType.S_FROM, "nextLong", "", "kotlin-stdlib-jdk8"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class PlatformThreadLocalRandom extends AbstractPlatformRandom {
@Override // kotlin.random.AbstractPlatformRandom
public Random getImpl() {
ThreadLocalRandom current = ThreadLocalRandom.current();
Intrinsics.checkNotNullExpressionValue(current, "current()");
return current;
}
@Override // kotlin.random.Random
public int nextInt(int from, int until) {
return ThreadLocalRandom.current().nextInt(from, until);
}
@Override // kotlin.random.Random
public long nextLong(long until) {
return ThreadLocalRandom.current().nextLong(until);
}
@Override // kotlin.random.Random
public long nextLong(long from, long until) {
return ThreadLocalRandom.current().nextLong(from, until);
}
@Override // kotlin.random.Random
public double nextDouble(double until) {
return ThreadLocalRandom.current().nextDouble(until);
}
}