/**
 * This class file was automatically generated by jASN1 v1.8.2 (http://www.openmuc.org)
 */

package org.onosproject.xran.asn1lib.api;

import org.onosproject.xran.asn1lib.ber.types.BerInteger;

import java.math.BigInteger;


public class BitRate extends BerInteger {

    private static final long serialVersionUID = 1L;

    public BitRate() {
    }

    public BitRate(byte[] code) {
        super(code);
    }

    public BitRate(BigInteger value) {
        super(value);
    }

    public BitRate(long value) {
        super(value);
    }

}
