// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry.util;

import java.util.UUID;

public final class UUIDGenerator
{
    public static long randomHalfLengthUUID() {
        final Random ng = SentryRandom.current();
        final byte[] randomBytes = new byte[8];
        ng.nextBytes(randomBytes);
        final byte[] array = randomBytes;
        final int n = 6;
        array[n] &= 0xF;
        final byte[] array2 = randomBytes;
        final int n2 = 6;
        array2[n2] |= 0x40;
        long msb = 0L;
        for (int i = 0; i < 8; ++i) {
            msb = (msb << 8 | (long)(randomBytes[i] & 0xFF));
        }
        return msb;
    }
    
    public static UUID randomUUID() {
        final Random ng = SentryRandom.current();
        final byte[] randomBytes = new byte[16];
        ng.nextBytes(randomBytes);
        final byte[] array = randomBytes;
        final int n = 6;
        array[n] &= 0xF;
        final byte[] array2 = randomBytes;
        final int n2 = 6;
        array2[n2] |= 0x40;
        final byte[] array3 = randomBytes;
        final int n3 = 8;
        array3[n3] &= 0x3F;
        final byte[] array4 = randomBytes;
        final int n4 = 8;
        array4[n4] |= (byte)128;
        long msb = 0L;
        long lsb = 0L;
        for (int i = 0; i < 8; ++i) {
            msb = (msb << 8 | (long)(randomBytes[i] & 0xFF));
        }
        for (int i = 8; i < 16; ++i) {
            lsb = (lsb << 8 | (long)(randomBytes[i] & 0xFF));
        }
        return new UUID(msb, lsb);
    }
}
