export {Permissions}; class Permissions{ allow:bigint; deny:bigint; readonly hasDeny:boolean; constructor(allow:string,deny:string=""){ this.hasDeny=!!deny; try{ this.allow = BigInt(allow); this.deny = BigInt(deny); }catch(e){ this.allow = 0n; this.deny = 0n; console.error(`Something really stupid happened with a permission with allow being ${allow} and deny being, ${deny}, execution will still happen, but something really stupid happened, please report if you know what caused this.`) } } getPermissionbit(b:number,big:bigint) : boolean{ return Boolean((big>>BigInt(b))&1n); } setPermissionbit(b:number,state:boolean,big:bigint) : bigint{ const bit=1n<