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

package org.bouncycastle.pqc.crypto.picnic;

import java.io.IOException;
import org.bouncycastle.util.Exceptions;
import java.io.InputStream;
import java.io.DataInputStream;
import java.util.zip.GZIPInputStream;

public class LowmcConstantsL3 extends LowmcConstants
{
    LowmcConstantsL3() {
        try {
            final DataInputStream dataInputStream = new DataInputStream(new GZIPInputStream(LowmcConstants.class.getResourceAsStream("lowmcL3.bin.properties")));
            this.linearMatrices = LowmcConstants.readArray(dataInputStream);
            this.roundConstants = LowmcConstants.readArray(dataInputStream);
            this.keyMatrices = LowmcConstants.readArray(dataInputStream);
            this.linearMatrices_full = LowmcConstants.readArray(dataInputStream);
            this.keyMatrices_full = LowmcConstants.readArray(dataInputStream);
            this.keyMatrices_inv = LowmcConstants.readArray(dataInputStream);
            this.linearMatrices_inv = LowmcConstants.readArray(dataInputStream);
            this.roundConstants_full = LowmcConstants.readArray(dataInputStream);
        }
        catch (final IOException ex) {
            throw Exceptions.illegalStateException("unable to load Picnic properties: " + ex.getMessage(), ex);
        }
        this.LMatrix = new KMatrices(30, 192, 6, this.linearMatrices);
        this.KMatrix = new KMatrices(31, 192, 6, this.keyMatrices);
        this.RConstants = new KMatrices(30, 1, 6, this.roundConstants);
        this.LMatrix_full = new KMatrices(4, 192, 6, this.linearMatrices_full);
        this.LMatrix_inv = new KMatrices(4, 192, 6, this.linearMatrices_inv);
        this.KMatrix_full = new KMatrices(5, 192, 6, this.keyMatrices_full);
        this.KMatrix_inv = new KMatrices(1, 192, 6, this.keyMatrices_inv);
        this.RConstants_full = new KMatrices(4, 1, 6, this.roundConstants_full);
    }
}
