BNB Chain
0xfd89fb9faf9de258c2148b2d0ec14da16ee42593
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0xfd89fb9f…6ee425939.2 KB37.3 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0xfd89fb9faf9de258c2148b2d0ec14da16ee42593
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
contract DesolexContract {
uint256 public constant GOVERNANCE_ROLE = 51344670724517732003549907689393193919197804398902247150944709319656146718385;
uint256 public constant DEFAULT_ADMIN_ROLE = 0;
uint256 public constant MINIMUM_GOVERNANCE_DELAY = 600;
uint256 public constant SCHEMA_VERSION = 1;
uint256 public constant unresolved_506b7d29 = 16;
mapping(bytes32 => mapping(address => bool)) public hasRole; // STORAGE[0x0]
mapping(bytes32 => uint256) public getRoleMemberCount; // STORAGE[0x1]
uint64 public governanceDelay; // STORAGE[0x2]
mapping(bytes32 => address) public activeAddress; // STORAGE[0x3]
mapping(bytes32 => uint64) public activeVersion; // STORAGE[0x4]
mapping(bytes32 => bytes) public pendingProposal; // STORAGE[0x5]
mapping(uint256 => mapping(address => bool)) public unresolved_e1682f11; // STORAGE[0x6]
mapping(bytes32 => uint256) public historyLength; // STORAGE[0x7]
mapping(uint256 => uint256) public unresolved_6f7292e9; // STORAGE[0x8]
mapping(uint256 => mapping(address => uint256)) mapping_9; // STORAGE[0x9]
mapping(uint256 => mapping(address => bool)) mapping_a; // STORAGE[0xa]
mapping(address => uint256) mapping_dc19aedbecc87684583f913a7cdd973b59879b34f362eaad70cb582f744658f; // STORAGE[0xdc19aedbecc87684583f913a7cdd973b59879b34f362eaad70cb582f744658f]
mapping(address => uint256) mapping_17c8f720dea4136a24f56caa6b86efa86bb9713a597d5da2be9a69f89fa013a0; // STORAGE[0x17c8f720dea4136a24f56caa6b86efa86bb9713a597d5da2be9a69f89fa013a0]
bool stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0; // STORAGE[0x2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0]
mapping(address => bool) mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef; // STORAGE[0x316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef]
mapping(address => uint256) mapping_6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802; // STORAGE[0x6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802]
address stor_671ca1b96299e9518aae4fe31601680d7e9939f413e36040080eb5e982df72e8; // STORAGE[0x671ca1b96299e9518aae4fe31601680d7e9939f413e36040080eb5e982df72e8]
address stor_7117ff4fa8cf6f8fd73cd81af8cfa5220c65a6a76cf5fb0e23813740ecc2ea3a; // STORAGE[0x7117ff4fa8cf6f8fd73cd81af8cfa5220c65a6a76cf5fb0e23813740ecc2ea3a]
bool stor_c3546aafc2661e0e1551b967bc48605ceb507c40ffe3291d607231d9aa9b06c7; // STORAGE[0xc3546aafc2661e0e1551b967bc48605ceb507c40ffe3291d607231d9aa9b06c7]
mapping(address => uint256) mapping_expr_bd;
mapping(address => uint256) mapping_expr_bn;
mapping(address => uint256) mapping_expr_g;
bytes32 stor_expr_ab;
bytes32 stor_expr_af;
bytes32 stor_expr_ah;
bytes32 stor_expr_ai;
bytes32 stor_expr_av; // DESOLEX_RAW_STORAGE: whole slot: address [LegacyInference] vs uint256 [LegacyInference] (ambiguous)
uint256 stor_expr_aw;
bytes32 stor_expr_ax; // DESOLEX_RAW_STORAGE: whole slot: address [LegacyInference] vs uint256 [LegacyInference] (ambiguous)
bytes32 stor_expr_b;
bytes32 stor_expr_ba;
bytes32 stor_expr_bb;
bytes32 stor_expr_bg;
uint256 stor_expr_bh;
bytes32 stor_expr_bi;
uint256 stor_expr_bk;
uint256 stor_expr_bm;
address stor_expr_bo;
bytes32 stor_expr_d;
uint256 stor_expr_h;
uint256 stor_expr_i;
uint256 stor_expr_j;
bytes32 stor_expr_l;
bytes32 stor_expr_m;
bytes32 stor_expr_n;
uint256 stor_expr_p;
bytes32 stor_expr_q;
bytes32 stor_expr_y;
bytes32 stor_expr_z;
event Event_a230cb13(uint256 indexed, uint256 indexed);
event RoleRevoked(bytes32 indexed, address indexed, address indexed);
error CustomError_50bf9df2();
error CustomError_cc69cf99();
error ProposalMissing();
error CustomError_99305b7a();
error CustomError_9efa8d12();
error CustomError_df45d152();
event RoleGranted(bytes32 indexed, address indexed, address indexed);
error CustomError_d466baab();
event Event_91a41771(uint256 indexed, uint256 indexed, uint256, uint256);
error AccessControlBadConfirmation();
error NotContract();
error OpenPositionsRemain();
error VersionNotIncreasing();
event Event_6622b245(uint256, uint256, uint256);
error OutstandingLiability();
event Event_cf3af842(uint256 indexed, address indexed, address indexed, uint256);
error AccessControlUnauthorizedAccount(address, bytes32);
event Event_8d3f2604(uint256 indexed, uint256 indexed, uint256, uint256, uint256);
error CustomError_0fa60cb4();
error CustomError_bb8e3b1d();
event Event_3623a483(uint256 indexed, address indexed, uint256);
error ProposalAlreadyExists();
event Event_33a4190f(uint256 indexed, uint256 indexed);
error CustomError_ba299947();
error ModuleAlreadyRegistered();
function _desolexPanic(uint256 code) private pure {
assembly ("memory-safe") {
mstore(0x00, shl(224, 0x4e487b71))
mstore(0x04, code)
revert(0x00, 0x24)
}
}
fallback() external payable {
// Synthetic compatibility routes preserve original selectors for unresolved names.
if ((msg.data.length >= 4) && (msg.sig == 0x0fa18730)) {
// Route to Unknown_0fa18730(bytes32) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x6a72738e));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x10398b3c)) {
// Route to Unknown_10398b3c(uint256,address,uint64,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xec634913));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x2a99cde5)) {
// Route to Unknown_2a99cde5(uint256,address) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x6f6ed680));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x3f4747a3)) {
// Route to Unknown_3f4747a3(uint256,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xd22d8f03));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x545aa9ce)) {
// Route to Unknown_545aa9ce(uint64) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xe23ac8a3));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x641b82d7)) {
// Route to Unknown_641b82d7(uint256,address,uint64,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x884d1b7c));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x84f7a864)) {
// Route to Unknown_84f7a864(uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xd29afcda));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x9010d07c)) {
// Route to Unknown_9010d07c(uint256,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xb656a175));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xa3246ad3)) {
// Route to Unknown_a3246ad3(uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x1cf458ec));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xbbd3eecd)) {
// Route to Unknown_bbd3eecd(uint256,address) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xc4ef0ee8));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xca0f8f3b)) {
// Route to Unknown_ca0f8f3b(uint256,address) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x3d122075));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xff78c9db)) {
// Route to Unknown_ff78c9db(uint256,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x6d83aac6));
return;
}
revert();
}
function Unknown_ff78c9db(uint256 arg0, uint256 arg1) public view returns (address) {
if (!(arg1 < historyLength[arg0])) _desolexPanic(50);
return address(stor_expr_b >> 0);
}
function revokeRole(bytes32 role, address account) public {
require(bytes1(hasRole[stor_expr_d][msg.sender]), AccessControlUnauthorizedAccount());
uint256 value0 = 0;
if (bytes1(hasRole[role][account])) {
hasRole[role][account] = false;
emit RoleRevoked(role, account, msg.sender);
value0 = 0x01;
}
if (value0 != 0x0) {
uint256 value4 = 0;
if (!(0 == (!(!(mapping_expr_g[account]))))) {
uint256 value1 = 0;
uint256 value2 = 0;
uint256 value3 = 0;
if ((mapping_expr_g[account] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (stor_expr_h + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
if (!(((stor_expr_h + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_i))) _desolexPanic(50);
if (!(((mapping_expr_g[account] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_j))) _desolexPanic(50);
stor_expr_m = (0 & stor_expr_n) | ((stor_expr_l >> 0) << 0);
mapping_expr_g[stor_expr_l >> 0] = mapping_expr_g[account];
} else {
value1 = mapping_expr_g[account] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value2 = stor_expr_h + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value3 = mapping_expr_g[account];
}
if (!(stor_expr_h != 0x0)) _desolexPanic(49);
if (!(((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + stor_expr_h) < stor_expr_p))) _desolexPanic(50);
stor_expr_q = (0) & stor_expr_q;
stor_expr_h = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + stor_expr_h;
mapping_expr_g[account] = 0;
value4 = 0x01;
}
}
}
function Unknown_ca0f8f3b(uint256 arg0, address arg1) public view returns (bool) {
uint256 value0 = msg.data[0] >> 0xe0;
bool flag0 = (bytes1(unresolved_e1682f11[arg0][arg1])) == 0x01;
uint256 value1 = 0x20;
if (activeAddress[arg0] == arg1) {
if (!(bytes1(unresolved_e1682f11[arg0][arg1]) < 0x05)) _desolexPanic(33);
} else {
value0 = arg0;
flag0 = activeAddress[arg0] == arg1;
value1 = arg1;
}
return flag0;
}
function Unknown_bbd3eecd(uint256 arg0, address arg1) public {
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
if (!(bytes1(unresolved_e1682f11[arg0][arg1]) < 0x05)) _desolexPanic(33);
uint256 value0 = msg.data[0] >> 0xe0;
if (bytes1(unresolved_e1682f11[arg0][arg1]) == 0x02) {
value0 = bytes1(unresolved_e1682f11[arg0][arg1]);
}
require(!((unresolved_e1682f11[arg0][arg1] & 0xff) != 0x2 && (unresolved_e1682f11[arg0][arg1] & 0xff) != 0x3), CustomError_ba299947());
(bool success0, bytes memory returnData0) = arg1.totalLiability(); // staticcall
require(success0);
uint256 value2 = msg.data[0] >> 0xe0;
uint256 var_d;
uint256 value3 = var_d.length;
if (success0) {
uint256 value1 = returnData0.length;
if (0x20 <= returnData0.length) {
value1 = 0x20;
}
if (((var_d + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value1) - var_d) >= 0x20);
} else {
value2 = var_d;
value3 = 0;
}
require(!(value3), OutstandingLiability());
(bool success1, bytes memory returnData1) = arg1.hasOpenPositions(); // staticcall
require(success1);
uint256 value5 = msg.data[0] >> 0xe0;
uint256 value6 = var_d.length;
if (success1) {
uint256 value4 = returnData1.length;
if (0x20 <= returnData1.length) {
value4 = 0x20;
}
if (((var_d + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value4) - var_d) >= 0x20);
require(var_d.length == var_d.length);
} else {
value5 = var_d;
value6 = 0;
}
require(!(value6), OpenPositionsRemain());
unresolved_e1682f11[arg0][arg1] = (unresolved_e1682f11[arg0][arg1] & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00)) | 0x04;
internal_1e57(arg0, arg1);
emit Event_33a4190f(arg0, arg1);
}
function Unknown_a3246ad3(uint256 arg0) public view returns (bytes memory) {
uint256 value0 = 0;
uint256 value1 = keccak256(abi.encode(keccak256(abi.encode(arg0, 0x01))));
uint256 var_a;
uint256 value2 = var_a + 0x20;
while (true) {
if (value0 >= getRoleMemberCount[arg0]) {
break;
}
value0 = 0x01 + value0;
value1 = 0x01 + value1;
value2 = value2 + 0x20;
}
if (((var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
uint256 value3 = 0;
uint256 value4 = var_a + 0x20;
uint256 value5 = var_a + 0x40;
while (true) {
var_a = var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value3 >= var_a.length) {
return abi.encodePacked(0x20, var_a.length);
}
value3 = 0x01 + value3;
value4 = value4 + 0x20;
value5 = 0x20 + value5;
}
}
function Unknown_9010d07c(uint256 arg0, uint256 arg1) public view returns (address) {
if (!(arg1 < getRoleMemberCount[arg0])) _desolexPanic(50);
return address(stor_expr_af >> 0);
}
function Unknown_84f7a864(uint256 arg0) public payable {
if (!(msg.value)) {
if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x20) {
if (mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender]) {
uint256 var_c;
if (!(((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c))) {
var_c = var_c + 0x80;
require(address(pendingProposal[arg0]), ProposalMissing());
require(block.timestamp >= uint64(var_h), CustomError_d466baab());
uint256 value1 = 0;
uint256 value2 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success0, bytes memory returnData0) = address(var_c.length).protocolRegistry(); // staticcall
uint256 value0 = 0x60;
if ((returnData0.length) != 0x0) {
if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value0 = var_c;
}
bool flag0 = !(var_m == 0x20);
if (!success0) {
flag0 = !success0;
}
uint256 value63 = 0;
uint256 value64 = 0;
if (!(flag0)) {
value63 = 0x01;
value64 = var_n;
}
value1 = value63;
value2 = value64;
}
uint256 value3 = 0;
uint256 value4 = 0;
if (!(value1 != 0x0 && value2 > 0xffffffffffffffffffffffffffffffffffffffff || value1 == 0x0)) {
value3 = 0x01;
value4 = address(value2);
}
uint256 value6 = 0;
uint256 value7 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success1, bytes memory returnData1) = address(var_c.length).moduleKey(); // staticcall
uint256 value5 = 0x60;
if ((returnData1.length) != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value5 = var_c;
}
bool flag2 = !(var_o == 0x20);
if (!success1) {
flag2 = !success1;
}
uint256 value65 = 0;
uint256 value66 = 0;
if (!(flag2)) {
value65 = 0x01;
value66 = var_p;
}
value6 = value65;
value7 = value66;
}
uint256 value9 = 0;
uint256 value10 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success2, bytes memory returnData2) = address(var_c.length).interfaceVersion(); // staticcall
uint256 value8 = 0x60;
if ((returnData2.length) != 0x0) {
if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value8 = var_c;
}
bool flag3 = !(var_q == 0x20);
if (!success2) {
flag3 = !success2;
}
uint256 value67 = 0;
uint256 value68 = 0;
if (!(flag3)) {
value67 = 0x01;
value68 = var_r;
}
value9 = value67;
value10 = value68;
}
uint256 value11 = 0;
uint256 value12 = 0;
if (!(value9 != 0x0 && value10 > 0xffffffffffffffff || value9 == 0x0)) {
value11 = 0x01;
value12 = uint64(value10);
}
uint256 value13 = 0;
bool flag5 = value6 == 0x0;
if (value3 == 0) {
value13 = value6;
flag5 = value3 == 0x0;
}
uint256 value14 = 0;
bool flag6 = value11 == 0x0;
if (flag5) {
value14 = value11;
flag6 = flag5;
}
uint256 value15 = 0;
bool flag7 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value4);
if (flag6) {
value15 = value4;
flag7 = flag6;
}
uint256 value16 = 0;
bool flag8 = value7 != arg0;
if (flag7) {
value16 = value7;
flag8 = flag7;
}
uint256 value17 = 0;
uint256 value18 = 0;
if (flag8) {
value17 = uint64(var_i);
value18 = value12;
}
require(!(!flag8 && (value12 & 0xffffffffffffffff) != (0xffffffffffffffff & uint64(var_i)) || flag8), CustomError_df45d152());
bool flag10 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag10 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag11 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag10) {
flag11 = flag10;
}
bool flag12 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag11) {
flag12 = flag11;
}
bool flag13 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag12) {
flag13 = flag12;
}
if (!(!flag13 && arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b || flag13)) {
uint256 value20 = 0;
uint256 value21 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success3, bytes memory returnData3) = address(var_c.length).totalLiability(); // staticcall
uint256 value19 = 0x60;
if ((returnData3.length) != 0x0) {
if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value19 = var_c;
}
bool flag15 = !(var_s == 0x20);
if (!success3) {
flag15 = !success3;
}
uint256 value69 = 0;
uint256 value70 = 0;
if (!(flag15)) {
value69 = 0x01;
value70 = var_t;
}
value20 = value69;
value21 = value70;
}
uint256 value23 = 0;
uint256 value24 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success4, bytes memory returnData4) = address(var_c.length).hasOpenPositions(); // staticcall
uint256 value22 = 0x60;
if ((returnData4.length) != 0x0) {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value22 = var_c;
}
bool flag16 = !(var_u == 0x20);
if (!success4) {
flag16 = !success4;
}
uint256 value71 = 0;
uint256 value72 = 0;
if (!(flag16)) {
value71 = 0x01;
value72 = var_v;
}
value23 = value71;
value24 = value72;
}
uint256 value25 = 0;
bool flag18 = false;
if (!(value23 != 0x0 && value24 > 0x1 || value23 == 0x0)) {
value25 = 0x01;
flag18 = value24 != 0x0;
}
uint256 value26 = 0;
if (value20 == 0) {
value26 = value25;
}
require(!(value20 != 0x0 && value25 == 0x0 || value20 == 0x0), CustomError_df45d152());
}
if (arg0 == 0x6aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7) {
uint256 value28 = 0;
uint256 value29 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success5, bytes memory returnData5) = address(var_c.length).Unknown_03160fb4(); // staticcall
uint256 value27 = 0x60;
if ((returnData5.length) != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value27 = var_c;
}
bool flag20 = !(var_w == 0x20);
if (!success5) {
flag20 = !success5;
}
uint256 value73 = 0;
uint256 value74 = 0;
if (!(flag20)) {
value73 = 0x01;
value74 = var_x;
}
value28 = value73;
value29 = value74;
}
uint256 value90 = 0;
bool flag23 = false;
if (!(value28 != 0x0 && value29 > 0x1 || value28 == 0x0)) {
flag22 = true;
flag23 = value29 != 0x0;
}
uint256 value31 = 0;
uint256 value76 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success6, bytes memory returnData6) = address(var_c.length).bootstrapOpen(); // staticcall
uint256 value30 = 0x60;
if ((returnData6.length) != 0x0) {
if (!(returnData6.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value30 = var_c;
}
bool flag24 = !(var_y == 0x20);
if (!success6) {
flag24 = !success6;
}
uint256 value75 = 0;
uint256 value77 = 0;
if (!(flag24)) {
value75 = 0x01;
value77 = var_z;
}
value31 = value75;
value76 = value77;
}
} else {
if (arg0 == 0x2f07be5c4f9af7c6230f784f19332431b638fed28e5100d31a51b4e3fe04c53e) {
uint256 value33 = 0;
uint256 value34 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success7, bytes memory returnData7) = address(var_c.length).protocolReceiver(); // staticcall
uint256 value32 = 0x60;
if ((returnData7.length) != 0x0) {
if (!(returnData7.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value32 = var_c;
}
bool flag25 = !(var_aa == 0x20);
if (!success7) {
flag25 = !success7;
}
uint256 value78 = 0;
uint256 value79 = 0;
if (!(flag25)) {
value78 = 0x01;
value79 = var_ab;
}
value33 = value78;
value34 = value79;
}
uint256 value35 = 0;
uint256 value36 = 0;
if (!(value33 != 0x0 && value34 > 0xffffffffffffffffffffffffffffffffffffffff || value33 == 0x0)) {
value35 = 0x01;
value36 = address(value34);
}
uint256 value37 = 0;
bool flag27 = value35 == 0x0;
if (!(address(stor_c3546aafc2661e0e1551b967bc48605ceb507c40ffe3291d607231d9aa9b06c7))) {
value37 = value35;
flag27 = !(address(stor_c3546aafc2661e0e1551b967bc48605ceb507c40ffe3291d607231d9aa9b06c7));
}
if (!flag27) {
require(address(value36) == (address(stor_c3546aafc2661e0e1551b967bc48605ceb507c40ffe3291d607231d9aa9b06c7)), CustomError_df45d152());
} else {
require(!(flag27), CustomError_df45d152());
}
} else {
if (((arg0 != 0xca3d97006cf7d8eb1c25ea3619005d254dd30f30d857ea714bdd35c870ba2a22) && (arg0 == 0x28726adcc70d62d71a8a9aded75a5c405c5d4f4b431d2e7c15f9d7a6bdfc5f21)) || (arg0 == 0xca3d97006cf7d8eb1c25ea3619005d254dd30f30d857ea714bdd35c870ba2a22)) {
uint256 value39 = 0;
uint256 value40 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success8, bytes memory returnData8) = address(var_c.length).predecessor(); // staticcall
uint256 value38 = 0x60;
if ((returnData8.length) != 0x0) {
if (!(returnData8.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value38 = var_c;
}
bool flag29 = !(var_ac == 0x20);
if (!success8) {
flag29 = !success8;
}
uint256 value80 = 0;
uint256 value81 = 0;
if (!(flag29)) {
value80 = 0x01;
value81 = var_ad;
}
value39 = value80;
value40 = value81;
}
uint256 value91 = 0;
uint256 value41 = 0;
if (!(value39 != 0x0 && value40 > 0xffffffffffffffffffffffffffffffffffffffff || value39 == 0x0)) {
flag31 = true;
value41 = address(value40);
}
if (flag31) {
require(activeAddress[arg0] == (address(value41)), CustomError_df45d152());
} else {
require(flag31, CustomError_df45d152());
}
} else {
if (arg0 == 0x39485061e9df9de2e52725d3f549782722891330cb556e7e1c6c81b75a5d6f34) {
uint256 value43 = 0;
uint256 value44 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success9, bytes memory returnData9) = address(var_c.length).stakingMain(); // staticcall
uint256 value42 = 0x60;
if ((returnData9.length) != 0x0) {
if (!(returnData9.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value42 = var_c;
}
bool flag32 = !(var_ae == 0x20);
if (!success9) {
flag32 = !success9;
}
uint256 value82 = 0;
uint256 value83 = 0;
if (!(flag32)) {
value82 = 0x01;
value83 = var_af;
}
value43 = value82;
value44 = value83;
}
uint256 value92 = 0;
uint256 value45 = 0;
if (!(value43 != 0x0 && value44 > 0xffffffffffffffffffffffffffffffffffffffff || value43 == 0x0)) {
flag34 = true;
value45 = address(value44);
}
if (flag34) {
bool flag35 = (address(value45)) == (stor_671ca1b96299e9518aae4fe31601680d7e9939f413e36040080eb5e982df72e8);
if ((0xffffffffffffffffffffffffffffffffffffffff & value45) != 0x0) {
} else {
flag35 = (0xffffffffffffffffffffffffffffffffffffffff & value45) != 0x0;
}
uint256 value46 = 0;
bool flag36 = 0x01 == (bytes1(mapping_dc19aedbecc87684583f913a7cdd973b59879b34f362eaad70cb582f744658f[address(value45)]));
if (flag35) {
if (!(bytes1(mapping_dc19aedbecc87684583f913a7cdd973b59879b34f362eaad70cb582f744658f[address(value45)]) < 0x05)) _desolexPanic(33);
} else {
value46 = address(value45);
flag36 = flag35;
}
require(flag36, CustomError_df45d152());
} else {
require(flag34, CustomError_df45d152());
}
} else {
if (arg0 == 0xec3c2045da149c45c16ce5a6d86d63bb81d27c31c6383c580ec51f98d5c3ee4c) {
uint256 value48 = 0;
uint256 value49 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success10, bytes memory returnData10) = address(var_c.length).Unknown_1aa5bb66(); // staticcall
uint256 value47 = 0x60;
if ((returnData10.length) != 0x0) {
if (!(returnData10.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value47 = var_c;
}
bool flag37 = !(var_ag == 0x20);
if (!success10) {
flag37 = !success10;
}
uint256 value84 = 0;
uint256 value85 = 0;
if (!(flag37)) {
value84 = 0x01;
value85 = var_ah;
}
value48 = value84;
value49 = value85;
}
uint256 value93 = 0;
uint256 value50 = 0;
if (!(value48 != 0x0 && value49 > 0xffffffffffffffffffffffffffffffffffffffff || value48 == 0x0)) {
flag39 = true;
value50 = address(value49);
}
if (flag39) {
bool flag40 = (address(value50)) == (stor_7117ff4fa8cf6f8fd73cd81af8cfa5220c65a6a76cf5fb0e23813740ecc2ea3a);
if ((0xffffffffffffffffffffffffffffffffffffffff & value50) != 0x0) {
} else {
flag40 = (0xffffffffffffffffffffffffffffffffffffffff & value50) != 0x0;
}
bool flag41 = 0x01 == (bytes1(mapping_6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802[address(value50)]));
if (flag40) {
if (!(bytes1(mapping_6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802[address(value50)]) < 0x05)) _desolexPanic(33);
} else {
flag41 = flag40;
}
require(flag41, CustomError_df45d152());
} else {
require(flag39, CustomError_df45d152());
}
} else {
bool flag42 = arg0 == 0x68de1c984c4eebc5de4b763a1ad06988c52ea9c0d76dfd49a8657b00be3dae24;
if (arg0 == 0x3dce1dc86d1deb25701dba1ad261b444c7b5a7a6b9092d0a6d658ac794c13f00) {
flag42 = arg0 == 0x3dce1dc86d1deb25701dba1ad261b444c7b5a7a6b9092d0a6d658ac794c13f00;
}
bool flag43 = arg0 == 0xbc927bfc5c186c97e68035e3b13e627bfcabf0c3e3c383eb0baaa821e9c0993;
if (flag42) {
flag43 = flag42;
}
bool flag44 = arg0 == 0x3b72d04cd592877045c3c489fde60236e534d59d13644602ca8793a8de465735;
if (flag43) {
flag44 = flag43;
}
bool flag45 = arg0 == 0x44d1897000e1820489c98f12d565e42cac755320f25261f7078ea1c4b54bf1e3;
if (flag44) {
flag45 = flag44;
}
bool flag46 = arg0 == 0x59b73660b44be2e41bfe589999d21f4dc6542904655f8d2668d67af9a866f6e8;
if (flag45) {
flag46 = flag45;
}
bool flag47 = arg0 == 0xd7d99e9ca15bc1ab44d3d7d29d8fe31071d7776deb01a8d9a728b73eed95f421;
if (flag46) {
flag47 = flag46;
}
bool flag48 = arg0 == 0x531aa12b76219651557faf31b798ad39530437acdc017b2a4cfa4e34d41b5e8f;
if (flag47) {
flag48 = flag47;
}
bool flag49 = arg0 == 0x394c2f20e3fe5e5a2d5d9824b1ccc14d91d17c934caaef23a00ca65ad7d6b244;
if (flag48) {
flag49 = flag48;
}
uint256 value51 = 0;
if (flag49) {
value51 = arg0;
}
if (((!flag49) && (arg0 == 0x689a43c59c00602c815d4b978a6b148a95d2f0b49de2a245129fb1f0a7359035)) || (flag49)) {
uint256 value53 = 0;
uint256 value54 = 0;
if (!(address(var_c.length).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success11, bytes memory returnData11) = address(var_c.length).Unknown_1aa5bb66(); // staticcall
uint256 value52 = 0x60;
if ((returnData11.length) != 0x0) {
if (!(returnData11.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value52 = var_c;
}
bool flag51 = !(var_ai == 0x20);
if (!success11) {
flag51 = !success11;
}
uint256 value86 = 0;
uint256 value87 = 0;
if (!(flag51)) {
value86 = 0x01;
value87 = var_aj;
}
value53 = value86;
value54 = value87;
}
uint256 value55 = 0;
uint256 value56 = 0;
if (!(value53 != 0x0 && value54 > 0xffffffffffffffffffffffffffffffffffffffff || value53 == 0x0)) {
value55 = 0x01;
value56 = address(value54);
}
uint256 value58 = 0;
uint256 value59 = 0;
if (!(address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0).code.length == 0x0)) {
if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);
var_c = var_c + 0x40;
(bool success12, bytes memory returnData12) = address(var_c.length).Unknown_1aa5bb66(); // staticcall
uint256 value57 = 0x60;
if ((returnData12.length) != 0x0) {
if (!(returnData12.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData12.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData12.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData12.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value57 = var_c;
}
bool flag53 = !(var_ak == 0x20);
if (!success12) {
flag53 = !success12;
}
uint256 value88 = 0;
uint256 value89 = 0;
if (!(flag53)) {
value88 = 0x01;
value89 = var_al;
}
value58 = value88;
value59 = value89;
}
uint256 value60 = 0;
uint256 value61 = 0;
if (!(value58 != 0x0 && value59 > 0xffffffffffffffffffffffffffffffffffffffff || value58 == 0x0)) {
value60 = 0x01;
value61 = address(value59);
}
uint256 value62 = 0;
bool flag55 = value60 == 0x0;
if (value55 == 0) {
value62 = value60;
flag55 = value55 == 0x0;
}
bool flag58;
if (!flag55) {
bool flag56 = (address(value56)) == (stor_7117ff4fa8cf6f8fd73cd81af8cfa5220c65a6a76cf5fb0e23813740ecc2ea3a);
if ((0xffffffffffffffffffffffffffffffffffffffff & value56) != 0x0) {
} else {
flag56 = (0xffffffffffffffffffffffffffffffffffffffff & value56) != 0x0;
}
bool flag57 = 0x01 == (bytes1(mapping_6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802[address(value56)]));
if (flag56) {
if (!(bytes1(mapping_6078bdf681fb8eff6a05a00c6943778187080cfae18c55c0b846fcf8ece2d802[address(value56)]) < 0x05)) _desolexPanic(33);
} else {
flag57 = flag56;
}
flag58 = !flag57;
} else {
flag58 = flag55;
}
address account1 = address(0);
bool flag61;
if (!flag58) {
bool flag59 = (address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0)) == (address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0));
if (!(!(address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0)))) {
} else {
flag59 = !(!(address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0)));
}
address account0 = address(0);
bool flag60 = 0x01 == (bytes1(mapping_17c8f720dea4136a24f56caa6b86efa86bb9713a597d5da2be9a69f89fa013a0[address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0)]));
if (flag59) {
if (!(bytes1(mapping_17c8f720dea4136a24f56caa6b86efa86bb9713a597d5da2be9a69f89fa013a0[address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0)]) < 0x05)) _desolexPanic(33);
} else {
account0 = address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0);
flag60 = flag59;
}
flag61 = !flag60;
} else {
account1 = address(stor_2f07fdb8e72d9526a11e209d367088689fc74d2103dea113ea5f345a35e203f0);
flag61 = flag58;
}
if (!flag61) {
require(address(value56) == (address(value61)), CustomError_df45d152());
} else {
require(!(flag61), CustomError_df45d152());
}
}
}
}
}
}
require(unresolved_6f7292e9[arg0] < 0x10, CustomError_99305b7a());
if (activeAddress[arg0] != 0x0) {
unresolved_e1682f11[arg0][activeAddress[arg0] & (0xffffffffffffffffffffffffffffffffffffffff) & (0xffffffffffffffffffffffffffffffffffffffff)] = 0x02 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & unresolved_e1682f11[arg0][activeAddress[arg0] & (0xffffffffffffffffffffffffffffffffffffffff) & (0xffffffffffffffffffffffffffffffffffffffff)]);
}
activeAddress[arg0] = (address(var_c.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & activeAddress[arg0]);
activeVersion[arg0] = (uint64(var_am)) | (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 & activeVersion[arg0]);
unresolved_e1682f11[arg0][address(var_c.length)] = true;
mapping_a[arg0][address(var_c.length)] = true;
if (!(historyLength[arg0] < 0x010000000000000000)) _desolexPanic(65);
historyLength[arg0] = historyLength[arg0] + 0x01;
if (!(historyLength[arg0] < historyLength[arg0])) _desolexPanic(50);
stor_expr_av = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_av) | (0xffffffffffffffffffffffffffffffffffffffff & (0xffffffffffffffffffffffffffffffffffffffff & (var_c.length)) << 0);
require(unresolved_6f7292e9[arg0] < 0x10, CustomError_99305b7a());
if (!(unresolved_6f7292e9[arg0] < 0x010000000000000000)) _desolexPanic(65);
unresolved_6f7292e9[arg0] = unresolved_6f7292e9[arg0] + 0x01;
if (!((historyLength[arg0] < stor_expr_aw))) _desolexPanic(50);
stor_expr_ax = (~(0xffffffffffffffffffffffffffffffffffffffff << (0 << 0x03)) & stor_expr_ax) | (address(var_c.length) << (0 << 0x03));
mapping_9[arg0][address(var_c.length)] = unresolved_6f7292e9[arg0];
pendingProposal[arg0] = 0;
stor_expr_ah = 0;
stor_expr_ai = 0;
emit Event_cf3af842(arg0, activeAddress[arg0], address(var_c.length), uint64(var_i));
}
}
}
}
}
}
function Unknown_641b82d7(uint256 arg0, address arg1, uint64 arg2, uint256 arg3) public {
require(arg2 == (arg2 & 0xffffffffffffffff));
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
require(arg0 != 0x0, CustomError_50bf9df2());
bool flag0 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag0 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag1 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag0) {
flag1 = flag0;
}
bool flag2 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag1) {
flag2 = flag1;
}
bool flag3 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag2) {
flag3 = flag2;
}
uint256 var_e;
if (!flag3) {
require(arg0 != 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b, CustomError_bb8e3b1d());
require(arg1.code.length != 0x0, NotContract());
require(!(address(pendingProposal[arg0])), ProposalAlreadyExists());
require(!(bytes1(mapping_a[arg0][arg1])), ModuleAlreadyRegistered());
bool flag4 = !(uint64(arg2) > (uint64(activeVersion[arg0])));
if ((arg2 & 0xffffffffffffffff) != 0x0) {
} else {
flag4 = (arg2 & 0xffffffffffffffff) == 0x0;
}
require(!(flag4), VersionNotIncreasing());
uint256 value1 = 0;
uint256 value2 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success0, bytes memory returnData0) = arg1.protocolRegistry(); // staticcall
uint256 value0 = 0x60;
if ((returnData0.length) != 0x0) {
if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value0 = var_e;
}
bool flag5 = !(var_g == 0x20);
if (!success0) {
flag5 = !success0;
}
uint256 value66 = 0;
uint256 value67 = 0;
if (!(flag5)) {
value66 = 0x01;
value67 = var_h;
}
value1 = value66;
value2 = value67;
}
uint256 value3 = 0;
uint256 value4 = 0;
if (!(value1 != 0x0 && value2 > 0xffffffffffffffffffffffffffffffffffffffff || value1 == 0x0)) {
value3 = 0x01;
value4 = address(value2);
}
uint256 value6 = 0;
uint256 value7 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success1, bytes memory returnData1) = arg1.moduleKey(); // staticcall
uint256 value5 = 0x60;
if ((returnData1.length) != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value5 = var_e;
}
bool flag7 = !(var_i == 0x20);
if (!success1) {
flag7 = !success1;
}
uint256 value68 = 0;
uint256 value69 = 0;
if (!(flag7)) {
value68 = 0x01;
value69 = var_j;
}
value6 = value68;
value7 = value69;
}
uint256 value9 = 0;
uint256 value10 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success2, bytes memory returnData2) = arg1.interfaceVersion(); // staticcall
uint256 value8 = 0x60;
if ((returnData2.length) != 0x0) {
if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value8 = var_e;
}
bool flag8 = !(var_k == 0x20);
if (!success2) {
flag8 = !success2;
}
uint256 value70 = 0;
uint256 value71 = 0;
if (!(flag8)) {
value70 = 0x01;
value71 = var_l;
}
value9 = value70;
value10 = value71;
}
uint256 value11 = 0;
uint256 value12 = 0;
if (!(value9 != 0x0 && value10 > 0xffffffffffffffff || value9 == 0x0)) {
value11 = 0x01;
value12 = uint64(value10);
}
uint256 value13 = 0;
bool flag10 = value6 == 0x0;
if (value3 == 0) {
value13 = value6;
flag10 = value3 == 0x0;
}
uint256 value14 = 0;
bool flag11 = value11 == 0x0;
if (flag10) {
value14 = value11;
flag11 = flag10;
}
uint256 value15 = 0;
bool flag12 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value4);
if (flag11) {
value15 = value4;
flag12 = flag11;
}
uint256 value16 = 0;
bool flag13 = value7 != arg0;
if (flag12) {
value16 = value7;
flag13 = flag12;
}
uint256 value17 = 0;
uint256 value18 = 0;
if (flag13) {
value17 = arg2;
value18 = value12;
}
require(!(!flag13 && (value12 & 0xffffffffffffffff) != (0xffffffffffffffff & arg2) || flag13), CustomError_df45d152());
bool flag15 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag15 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag16 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag15) {
flag16 = flag15;
}
bool flag17 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag16) {
flag17 = flag16;
}
bool flag18 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag17) {
flag18 = flag17;
}
if (!(!flag18 && arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b || flag18)) {
uint256 value20 = 0;
uint256 value21 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success3, bytes memory returnData3) = arg1.totalLiability(); // staticcall
uint256 value19 = 0x60;
if ((returnData3.length) != 0x0) {
if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value19 = var_e;
}
bool flag20 = !(var_m == 0x20);
if (!success3) {
flag20 = !success3;
}
uint256 value72 = 0;
uint256 value73 = 0;
if (!(flag20)) {
value72 = 0x01;
value73 = var_n;
}
value20 = value72;
value21 = value73;
}
uint256 value23 = 0;
uint256 value24 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success4, bytes memory returnData4) = arg1.hasOpenPositions(); // staticcall
uint256 value22 = 0x60;
if ((returnData4.length) != 0x0) {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value22 = var_e;
}
bool flag21 = !(var_o == 0x20);
if (!success4) {
flag21 = !success4;
}
uint256 value74 = 0;
uint256 value75 = 0;
if (!(flag21)) {
value74 = 0x01;
value75 = var_p;
}
value23 = value74;
value24 = value75;
}
uint256 value25 = 0;
bool flag23 = false;
if (!(value23 != 0x0 && value24 > 0x1 || value23 == 0x0)) {
value25 = 0x01;
flag23 = value24 != 0x0;
}
uint256 value26 = 0;
if (value20 == 0) {
value26 = value25;
}
require(!(value20 != 0x0 && value25 == 0x0 || value20 == 0x0), CustomError_df45d152());
}
if (!(0x2f07be5c4f9af7c6230f784f19332431b638fed28e5100d31a51b4e3fe04c53e != arg0)) {
uint256 value28 = 0;
uint256 value29 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success5, bytes memory returnData5) = arg1.protocolReceiver(); // staticcall
uint256 value27 = 0x60;
if ((returnData5.length) != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value27 = var_e;
}
bool flag25 = !(var_q == 0x20);
if (!success5) {
flag25 = !success5;
}
uint256 value76 = 0;
uint256 value77 = 0;
if (!(flag25)) {
value76 = 0x01;
value77 = var_r;
}
value28 = value76;
value29 = value77;
}
uint256 value30 = 0;
uint256 value31 = 0;
if (!(value28 != 0x0 && value29 > 0xffffffffffffffffffffffffffffffffffffffff || value28 == 0x0)) {
value30 = 0x01;
value31 = address(value29);
}
bool flag27 = value31.code.length == 0x0;
if (value30 == 0) {
flag27 = value30 == 0x0;
}
address account0 = address(0);
uint256 value32 = 0;
if (flag27) {
account0 = arg1;
value32 = value31;
}
require(!(!flag27 && arg1 == (0xffffffffffffffffffffffffffffffffffffffff & value31) || flag27), CustomError_df45d152());
}
} else {
require(!(flag3), CustomError_bb8e3b1d());
require(arg1.code.length != 0x0, NotContract());
require(!(address(pendingProposal[arg0])), ProposalAlreadyExists());
require(!(bytes1(mapping_a[arg0][arg1])), ModuleAlreadyRegistered());
bool flag29 = !(uint64(arg2) > (uint64(activeVersion[arg0])));
if ((arg2 & 0xffffffffffffffff) != 0x0) {
} else {
flag29 = (arg2 & 0xffffffffffffffff) == 0x0;
}
require(!(flag29), VersionNotIncreasing());
uint256 value34 = 0;
uint256 value35 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success6, bytes memory returnData6) = arg1.protocolRegistry(); // staticcall
uint256 value33 = 0x60;
if ((returnData6.length) != 0x0) {
if (!(returnData6.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value33 = var_e;
}
bool flag30 = !(var_s == 0x20);
if (!success6) {
flag30 = !success6;
}
uint256 value78 = 0;
uint256 value79 = 0;
if (!(flag30)) {
value78 = 0x01;
value79 = var_t;
}
value34 = value78;
value35 = value79;
}
uint256 value36 = 0;
uint256 value37 = 0;
if (!(value34 != 0x0 && value35 > 0xffffffffffffffffffffffffffffffffffffffff || value34 == 0x0)) {
value36 = 0x01;
value37 = address(value35);
}
uint256 value39 = 0;
uint256 value40 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success7, bytes memory returnData7) = arg1.moduleKey(); // staticcall
uint256 value38 = 0x60;
if ((returnData7.length) != 0x0) {
if (!(returnData7.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value38 = var_e;
}
bool flag32 = !(var_u == 0x20);
if (!success7) {
flag32 = !success7;
}
uint256 value80 = 0;
uint256 value81 = 0;
if (!(flag32)) {
value80 = 0x01;
value81 = var_v;
}
value39 = value80;
value40 = value81;
}
uint256 value42 = 0;
uint256 value43 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success8, bytes memory returnData8) = arg1.interfaceVersion(); // staticcall
uint256 value41 = 0x60;
if ((returnData8.length) != 0x0) {
if (!(returnData8.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value41 = var_e;
}
bool flag33 = !(var_w == 0x20);
if (!success8) {
flag33 = !success8;
}
uint256 value82 = 0;
uint256 value83 = 0;
if (!(flag33)) {
value82 = 0x01;
value83 = var_x;
}
value42 = value82;
value43 = value83;
}
uint256 value44 = 0;
uint256 value45 = 0;
if (!(value42 != 0x0 && value43 > 0xffffffffffffffff || value42 == 0x0)) {
value44 = 0x01;
value45 = uint64(value43);
}
uint256 value46 = 0;
bool flag35 = value39 == 0x0;
if (value36 == 0) {
value46 = value39;
flag35 = value36 == 0x0;
}
uint256 value47 = 0;
bool flag36 = value44 == 0x0;
if (flag35) {
value47 = value44;
flag36 = flag35;
}
uint256 value48 = 0;
bool flag37 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value37);
if (flag36) {
value48 = value37;
flag37 = flag36;
}
uint256 value49 = 0;
bool flag38 = value40 != arg0;
if (flag37) {
value49 = value40;
flag38 = flag37;
}
uint256 value50 = 0;
uint256 value51 = 0;
if (flag38) {
value50 = arg2;
value51 = value45;
}
require(!(!flag38 && (value45 & 0xffffffffffffffff) != (0xffffffffffffffff & arg2) || flag38), CustomError_df45d152());
bool flag40 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag40 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag41 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag40) {
flag41 = flag40;
}
bool flag42 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag41) {
flag42 = flag41;
}
bool flag43 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag42) {
flag43 = flag42;
}
if (!(!flag43 && arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b || flag43)) {
uint256 value53 = 0;
uint256 value54 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success9, bytes memory returnData9) = arg1.totalLiability(); // staticcall
uint256 value52 = 0x60;
if ((returnData9.length) != 0x0) {
if (!(returnData9.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value52 = var_e;
}
bool flag45 = !(var_y == 0x20);
if (!success9) {
flag45 = !success9;
}
uint256 value84 = 0;
uint256 value85 = 0;
if (!(flag45)) {
value84 = 0x01;
value85 = var_z;
}
value53 = value84;
value54 = value85;
}
uint256 value56 = 0;
uint256 value57 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success10, bytes memory returnData10) = arg1.hasOpenPositions(); // staticcall
uint256 value55 = 0x60;
if ((returnData10.length) != 0x0) {
if (!(returnData10.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value55 = var_e;
}
bool flag46 = !(var_aa == 0x20);
if (!success10) {
flag46 = !success10;
}
uint256 value86 = 0;
uint256 value87 = 0;
if (!(flag46)) {
value86 = 0x01;
value87 = var_ab;
}
value56 = value86;
value57 = value87;
}
uint256 value58 = 0;
uint256 value90 = 0;
if (!(value56 != 0x0 && value57 > 0x1 || value56 == 0x0)) {
value58 = 0x01;
flag48 = value57 != 0x0;
}
uint256 value59 = 0;
if (value53 == 0) {
value59 = value58;
}
require(!(value53 != 0x0 && value58 == 0x0 || value53 == 0x0), CustomError_df45d152());
}
if (!(0x2f07be5c4f9af7c6230f784f19332431b638fed28e5100d31a51b4e3fe04c53e != arg0)) {
uint256 value61 = 0;
uint256 value62 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success11, bytes memory returnData11) = arg1.protocolReceiver(); // staticcall
uint256 value60 = 0x60;
if ((returnData11.length) != 0x0) {
if (!(returnData11.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value60 = var_e;
}
bool flag50 = !(var_ac == 0x20);
if (!success11) {
flag50 = !success11;
}
uint256 value88 = 0;
uint256 value89 = 0;
if (!(flag50)) {
value88 = 0x01;
value89 = var_ad;
}
value61 = value88;
value62 = value89;
}
uint256 value63 = 0;
uint256 value64 = 0;
if (!(value61 != 0x0 && value62 > 0xffffffffffffffffffffffffffffffffffffffff || value61 == 0x0)) {
value63 = 0x01;
value64 = address(value62);
}
bool flag52 = value64.code.length == 0x0;
if (value63 == 0) {
flag52 = value63 == 0x0;
}
address account1 = address(0);
uint256 value65 = 0;
if (flag52) {
account1 = arg1;
value65 = value64;
}
require(!(!flag52 && arg1 == (0xffffffffffffffffffffffffffffffffffffffff & value64) || flag52), CustomError_df45d152());
}
}
if (((var_e + 0x80) > 0xffffffffffffffff) | ((var_e + 0x80) < var_e)) _desolexPanic(65);
var_e = var_e + 0x80;
pendingProposal[arg0] = (0xffffffffffffffff0000000000000000000000000000000000000000 & (var_af << 0xa0)) | (0xffffffffffffffffffffffffffffffffffffffff & (var_e.length) | (pendingProposal[arg0] & (0xffffffff00000000000000000000000000000000000000000000000000000000)));
stor_expr_ah = (uint64(var_ag)) | (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 & stor_expr_ah);
stor_expr_ba = var_ah;
emit Event_8d3f2604(arg0, arg1, uint64(arg2), arg3, uint64(block.timestamp + governanceDelay));
}
function Unknown_545aa9ce(uint64 arg0) public {
require(arg0 == (arg0 & 0xffffffffffffffff));
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
require(uint64(arg0) >= 0x0258, CustomError_0fa60cb4());
governanceDelay = (governanceDelay & (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000)) | (arg0 & (0xffffffffffffffff));
emit Event_6622b245(uint64(governanceDelay), uint64(arg0), block.timestamp);
}
function Unknown_3f4747a3(uint256 arg0, uint256 arg1) public view returns (address) {
if (!(arg1 < unresolved_6f7292e9[arg0])) _desolexPanic(50);
return address(stor_expr_bb >> 0);
}
function renounceRole(bytes32 role, address account) public {
require(account == msg.sender, AccessControlBadConfirmation());
internal_14f6(role, account);
}
function grantRole(bytes32 role, address account) public {
require(bytes1(hasRole[stor_expr_d][msg.sender]), AccessControlUnauthorizedAccount());
if (!(bytes1(hasRole[role][account]) != 0x0)) {
hasRole[role][account] = true;
emit RoleGranted(role, account, msg.sender);
}
if (!(0 == (!(mapping_expr_bn[account])))) {
if (!(stor_expr_bm < 0x010000000000000000)) _desolexPanic(65);
stor_expr_bm = stor_expr_bm + 0x01;
if (!(stor_expr_bm < stor_expr_bm)) _desolexPanic(50);
stor_expr_bo = (0 & stor_expr_bo) | (account << 0);
mapping_expr_bn[account] = stor_expr_bm;
}
}
function Unknown_2a99cde5(uint256 arg0, address arg1) public {
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
if (!(bytes1(unresolved_e1682f11[arg0][arg1]) < 0x05)) _desolexPanic(33);
require(0x2 == (bytes1(unresolved_e1682f11[arg0][arg1])), CustomError_9efa8d12());
unresolved_e1682f11[arg0][arg1] = 0x03 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & unresolved_e1682f11[arg0][arg1]);
emit Event_a230cb13(arg0, arg1);
}
function getRoleAdmin(bytes32 role) public view returns (uint256) {
return stor_expr_d;
}
function Unknown_10398b3c(uint256 arg0, address arg1, uint64 arg2, uint256 arg3) public {
require(arg2 == (arg2 & 0xffffffffffffffff));
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
bool flag0 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag0 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag1 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag0) {
flag1 = flag0;
}
bool flag2 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag1) {
flag2 = flag1;
}
bool flag3 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag2) {
flag3 = flag2;
}
if (!flag3) {
require(arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b, CustomError_cc69cf99());
require(arg1.code.length != 0x0, NotContract());
bool flag4 = bytes1(mapping_a[arg0][arg1]);
if (!(activeAddress[arg0])) {
} else {
flag4 = !(!(activeAddress[arg0]));
}
require(!(flag4), ModuleAlreadyRegistered());
require(uint64(arg2), VersionNotIncreasing());
uint256 value1 = 0;
uint256 value2 = 0;
if (!(arg1.code.length == 0x0)) {
uint256 var_e;
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success0, bytes memory returnData0) = arg1.protocolRegistry(); // staticcall
uint256 value0 = 0x60;
if ((returnData0.length) != 0x0) {
if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value0 = var_e;
}
bool flag5 = !(var_g == 0x20);
if (!success0) {
flag5 = !success0;
}
uint256 value54 = 0;
uint256 value55 = 0;
if (!(flag5)) {
value54 = 0x01;
value55 = var_h;
}
value1 = value54;
value2 = value55;
}
uint256 value3 = 0;
uint256 value4 = 0;
if (!(value1 != 0x0 && value2 > 0xffffffffffffffffffffffffffffffffffffffff || value1 == 0x0)) {
value3 = 0x01;
value4 = address(value2);
}
uint256 value6 = 0;
uint256 value7 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success1, bytes memory returnData1) = arg1.moduleKey(); // staticcall
uint256 value5 = 0x60;
if ((returnData1.length) != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value5 = var_e;
}
bool flag7 = !(var_i == 0x20);
if (!success1) {
flag7 = !success1;
}
uint256 value56 = 0;
uint256 value57 = 0;
if (!(flag7)) {
value56 = 0x01;
value57 = var_j;
}
value6 = value56;
value7 = value57;
}
uint256 value9 = 0;
uint256 value10 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success2, bytes memory returnData2) = arg1.interfaceVersion(); // staticcall
uint256 value8 = 0x60;
if ((returnData2.length) != 0x0) {
if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value8 = var_e;
}
bool flag8 = !(var_k == 0x20);
if (!success2) {
flag8 = !success2;
}
uint256 value58 = 0;
uint256 value59 = 0;
if (!(flag8)) {
value58 = 0x01;
value59 = var_l;
}
value9 = value58;
value10 = value59;
}
uint256 value11 = 0;
uint256 value12 = 0;
if (!(value9 != 0x0 && value10 > 0xffffffffffffffff || value9 == 0x0)) {
value11 = 0x01;
value12 = uint64(value10);
}
uint256 value13 = 0;
bool flag10 = value6 == 0x0;
if (value3 == 0) {
value13 = value6;
flag10 = value3 == 0x0;
}
uint256 value14 = 0;
bool flag11 = value11 == 0x0;
if (flag10) {
value14 = value11;
flag11 = flag10;
}
uint256 value15 = 0;
bool flag12 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value4);
if (flag11) {
value15 = value4;
flag12 = flag11;
}
uint256 value16 = 0;
bool flag13 = value7 != arg0;
if (flag12) {
value16 = value7;
flag13 = flag12;
}
uint256 value17 = 0;
uint256 value18 = 0;
if (flag13) {
value17 = arg2;
value18 = value12;
}
require(!(!flag13 && (value12 & 0xffffffffffffffff) != (0xffffffffffffffff & arg2) || flag13), CustomError_df45d152());
bool flag15 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag15 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag16 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag15) {
flag16 = flag15;
}
bool flag17 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag16) {
flag17 = flag16;
}
bool flag18 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag17) {
flag18 = flag17;
}
if (!(!flag18 && arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b || flag18)) {
uint256 value20 = 0;
uint256 value21 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success3, bytes memory returnData3) = arg1.totalLiability(); // staticcall
uint256 value19 = 0x60;
if ((returnData3.length) != 0x0) {
if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value19 = var_e;
}
bool flag20 = !(var_m == 0x20);
if (!success3) {
flag20 = !success3;
}
uint256 value60 = 0;
uint256 value61 = 0;
if (!(flag20)) {
value60 = 0x01;
value61 = var_n;
}
value20 = value60;
value21 = value61;
}
uint256 value23 = 0;
uint256 value24 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success4, bytes memory returnData4) = arg1.hasOpenPositions(); // staticcall
uint256 value22 = 0x60;
if ((returnData4.length) != 0x0) {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value22 = var_e;
}
bool flag21 = !(var_o == 0x20);
if (!success4) {
flag21 = !success4;
}
uint256 value62 = 0;
uint256 value63 = 0;
if (!(flag21)) {
value62 = 0x01;
value63 = var_p;
}
value23 = value62;
value24 = value63;
}
uint256 value25 = 0;
bool flag23 = false;
if (!(value23 != 0x0 && value24 > 0x1 || value23 == 0x0)) {
value25 = 0x01;
flag23 = value24 != 0x0;
}
uint256 value26 = 0;
if (value20 == 0) {
value26 = value25;
}
require(!(value20 != 0x0 && value25 == 0x0 || value20 == 0x0), CustomError_df45d152());
}
} else {
require(flag3, CustomError_cc69cf99());
require(arg1.code.length != 0x0, NotContract());
bool flag25 = bytes1(mapping_a[arg0][arg1]);
if (!(activeAddress[arg0])) {
} else {
flag25 = !(!(activeAddress[arg0]));
}
require(!(flag25), ModuleAlreadyRegistered());
require(uint64(arg2), VersionNotIncreasing());
uint256 value28 = 0;
uint256 value29 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success5, bytes memory returnData5) = arg1.protocolRegistry(); // staticcall
uint256 value27 = 0x60;
if ((returnData5.length) != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value27 = var_e;
}
bool flag26 = !(var_q == 0x20);
if (!success5) {
flag26 = !success5;
}
uint256 value64 = 0;
uint256 value65 = 0;
if (!(flag26)) {
value64 = 0x01;
value65 = var_r;
}
value28 = value64;
value29 = value65;
}
uint256 value30 = 0;
uint256 value31 = 0;
if (!(value28 != 0x0 && value29 > 0xffffffffffffffffffffffffffffffffffffffff || value28 == 0x0)) {
value30 = 0x01;
value31 = address(value29);
}
uint256 value33 = 0;
uint256 value34 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((0x24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success6, bytes memory returnData6) = arg1.moduleKey(); // staticcall
uint256 value32 = 0x60;
if ((returnData6.length) != 0x0) {
if (!(returnData6.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData6.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value32 = var_e;
}
bool flag28 = !(var_s == 0x20);
if (!success6) {
flag28 = !success6;
}
uint256 value66 = 0;
uint256 value67 = 0;
if (!(flag28)) {
value66 = 0x01;
value67 = var_t;
}
value33 = value66;
value34 = value67;
}
uint256 value36 = 0;
uint256 value37 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success7, bytes memory returnData7) = arg1.interfaceVersion(); // staticcall
uint256 value35 = 0x60;
if ((returnData7.length) != 0x0) {
if (!(returnData7.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData7.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value35 = var_e;
}
bool flag29 = !(var_u == 0x20);
if (!success7) {
flag29 = !success7;
}
uint256 value68 = 0;
uint256 value69 = 0;
if (!(flag29)) {
value68 = 0x01;
value69 = var_v;
}
value36 = value68;
value37 = value69;
}
uint256 value38 = 0;
uint256 value39 = 0;
if (!(value36 != 0x0 && value37 > 0xffffffffffffffff || value36 == 0x0)) {
value38 = 0x01;
value39 = uint64(value37);
}
uint256 value40 = 0;
bool flag31 = value33 == 0x0;
if (value30 == 0) {
value40 = value33;
flag31 = value30 == 0x0;
}
uint256 value41 = 0;
bool flag32 = value38 == 0x0;
if (flag31) {
value41 = value38;
flag32 = flag31;
}
uint256 value42 = 0;
bool flag33 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value31);
if (flag32) {
value42 = value31;
flag33 = flag32;
}
uint256 value43 = 0;
bool flag34 = value34 != arg0;
if (flag33) {
value43 = value34;
flag34 = flag33;
}
uint256 value44 = 0;
uint256 value45 = 0;
if (flag34) {
value44 = arg2;
value45 = value39;
}
require(!(!flag34 && (value39 & 0xffffffffffffffff) != (0xffffffffffffffff & arg2) || flag34), CustomError_df45d152());
bool flag36 = arg0 == 0xe8d1d3be37123203a00831e4e7cddd9fc8ee58bd97cf5c07826fe61553798fe7;
if (arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111) {
flag36 = arg0 == 0xbd8de4166161f82d11cd3ddeb9252ebffceacbfddfb68bf162916d3e4e6e4111;
}
bool flag37 = arg0 == 0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc;
if (flag36) {
flag37 = flag36;
}
bool flag38 = arg0 == 0x38e12954a0a1ec6f83b8c8397ad1c1a513319167b388bf690914bc618e816525;
if (flag37) {
flag38 = flag37;
}
bool flag39 = arg0 == 0x465332bcc850872a7077bd29d9c354678be3b12916a7f79faae70eb5d4f293e7;
if (flag38) {
flag39 = flag38;
}
if (!(!flag39 && arg0 == 0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b || flag39)) {
uint256 value47 = 0;
uint256 value48 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success8, bytes memory returnData8) = arg1.totalLiability(); // staticcall
uint256 value46 = 0x60;
if ((returnData8.length) != 0x0) {
if (!(returnData8.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData8.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value46 = var_e;
}
bool flag41 = !(var_w == 0x20);
if (!success8) {
flag41 = !success8;
}
uint256 value70 = 0;
uint256 value71 = 0;
if (!(flag41)) {
value70 = 0x01;
value71 = var_x;
}
value47 = value70;
value48 = value71;
}
uint256 value50 = 0;
uint256 value51 = 0;
if (!(arg1.code.length == 0x0)) {
if (((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e)) _desolexPanic(65);
var_e = var_e + 0x40;
(bool success9, bytes memory returnData9) = arg1.hasOpenPositions(); // staticcall
uint256 value49 = 0x60;
if ((returnData9.length) != 0x0) {
if (!(returnData9.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value49 = var_e;
}
bool flag42 = !(var_y == 0x20);
if (!success9) {
flag42 = !success9;
}
uint256 value72 = 0;
uint256 value73 = 0;
if (!(flag42)) {
value72 = 0x01;
value73 = var_z;
}
value50 = value72;
value51 = value73;
}
uint256 value52 = 0;
bool flag44 = false;
if (!(value50 != 0x0 && value51 > 0x1 || value50 == 0x0)) {
value52 = 0x01;
flag44 = value51 != 0x0;
}
uint256 value53 = 0;
if (value47 == 0) {
value53 = value52;
}
require(!(value47 != 0x0 && value52 == 0x0 || value47 == 0x0), CustomError_df45d152());
}
}
activeAddress[arg0] = arg1 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & activeAddress[arg0]);
activeVersion[arg0] = (arg2 & (0xffffffffffffffff)) | (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 & activeVersion[arg0]);
unresolved_e1682f11[arg0][arg1] = true;
mapping_a[arg0][arg1] = true;
if (!(historyLength[arg0] < 0x010000000000000000)) _desolexPanic(65);
historyLength[arg0] = historyLength[arg0] + 0x01;
if (!(historyLength[arg0] < historyLength[arg0])) _desolexPanic(50);
stor_expr_av = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_av) | (arg1 << 0);
require(unresolved_6f7292e9[arg0] < 0x10, CustomError_99305b7a());
if (!(unresolved_6f7292e9[arg0] < 0x010000000000000000)) _desolexPanic(65);
unresolved_6f7292e9[arg0] = unresolved_6f7292e9[arg0] + 0x01;
if (!((historyLength[arg0] < stor_expr_aw))) _desolexPanic(50);
stor_expr_ax = (~(0xffffffffffffffffffffffffffffffffffffffff << (0 << 0x03)) & stor_expr_ax) | (arg1 << (0 << 0x03));
mapping_9[arg0][arg1] = unresolved_6f7292e9[arg0];
emit Event_91a41771(arg0, arg1, uint64(arg2), arg3);
}
function Unknown_0fa18730(bytes32 arg0) public {
require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
uint256 var_c;
if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
var_c = var_c + 0x80;
require(address(pendingProposal[arg0]), ProposalMissing());
pendingProposal[arg0] = 0;
stor_expr_ah = 0;
stor_expr_ai = 0;
emit Event_3623a483(arg0, address(var_c.length), uint64(var_j));
}
function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
require(interfaceId == (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000));
uint256 value1 = msg.data[0] >> 0xe0;
bool flag1;
if ((interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) != 0x5a05180f00000000000000000000000000000000000000000000000000000000) {
uint256 value0 = msg.data[0] >> 0xe0;
bool flag0 = 0x1ffc9a700000000000000000000000000000000000000000000000000000000 == (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000);
if (interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000) {
value0 = interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000);
flag0 = (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000;
}
flag1 = flag0;
} else {
value1 = interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000);
flag1 = (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x5a05180f00000000000000000000000000000000000000000000000000000000;
}
return flag1;
}
function internal_1e57(uint256 arg0, address arg1) private {
// Decompilation incomplete: helper effect provenance is conservative.
if (mapping_9[arg0][arg1] != 0) {
uint256 value7 = 0;
uint256 value8 = 0;
uint256 value9 = 0;
if ((mapping_9[arg0][arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (unresolved_6f7292e9[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
if (!((unresolved_6f7292e9[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < unresolved_6f7292e9[arg0])) _desolexPanic(50);
if (!((mapping_9[arg0][arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < unresolved_6f7292e9[arg0])) _desolexPanic(50);
stor_expr_z = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_z) | (0xffffffffffffffffffffffffffffffffffffffff & (0xffffffffffffffffffffffffffffffffffffffff & (stor_expr_y >> 0)) << 0);
mapping_9[arg0][address(stor_expr_y >> 0)] = mapping_9[arg0][arg1];
} else {
value7 = unresolved_6f7292e9[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value8 = mapping_9[arg0][arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value9 = mapping_9[arg0][arg1];
}
if (!(unresolved_6f7292e9[arg0])) _desolexPanic(49);
if (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + unresolved_6f7292e9[arg0]) < unresolved_6f7292e9[arg0])) _desolexPanic(50);
stor_expr_ab = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & stor_expr_ab;
unresolved_6f7292e9[arg0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + unresolved_6f7292e9[arg0];
mapping_9[arg0][arg1] = 0;
}
}
function internal_14f6(bytes32 arg0, address arg1) private {
// Decompilation incomplete: helper effect provenance is conservative.
uint256 value0 = 0;
if (bytes1(hasRole[arg0][arg1])) {
hasRole[arg0][arg1] = false;
emit RoleRevoked(arg0, arg1, msg.sender);
value0 = 0x01;
}
if (value0 != 0x0) {
uint256 value4 = 0;
if (!(0 == (!(!(mapping_expr_bd[arg1]))))) {
uint256 value1 = 0;
uint256 value2 = 0;
uint256 value3 = 0;
if ((mapping_expr_bd[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
if (!(((getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_i))) _desolexPanic(50);
if (!(((mapping_expr_bd[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_j))) _desolexPanic(50);
stor_expr_bh = (0 & stor_expr_bi | (stor_expr_bg >> (0 << 0x03) << 0));
mapping_expr_bd[stor_expr_bg >> (0 << 0x03)] = mapping_expr_bd[arg1];
} else {
value1 = mapping_expr_bd[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value2 = getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
value3 = mapping_expr_bd[arg1];
}
if (!(getRoleMemberCount[arg0])) _desolexPanic(49);
if (!(((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0]) < stor_expr_p))) _desolexPanic(50);
stor_expr_bk = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff << (0 << 0x03))) & stor_expr_bk;
getRoleMemberCount[arg0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0];
mapping_expr_bd[arg1] = 0;
flag0 = true;
}
}
}
function __desolexSelectorShim(uint32 rewrittenSelector) private {
assembly {
let input := mload(0x40)
calldatacopy(input, 0, calldatasize())
mstore(input, or(and(mload(input), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), shl(224, and(rewrittenSelector, 0xffffffff))))
let success := delegatecall(gas(), address(), input, calldatasize(), 0, 0)
let size := returndatasize()
returndatacopy(input, 0, size)
switch success
case 0 { revert(input, size) }
default { return(input, size) }
}
}
// Note: This selector table is synthetic and is not part of the original Solidity source.
// It records the recovered selector-to-signature mapping without executable behavior.
// 0x01ffc9a7 => supportsInterface(bytes4)
// 0x0233e379 => activeAddress(bytes32)
// 0x0fa18730 => Unknown_0fa18730(bytes32)
// 0x10398b3c => Unknown_10398b3c(uint256,address,uint64,uint256)
// 0x248a9ca3 => getRoleAdmin(bytes32)
// 0x2a99cde5 => Unknown_2a99cde5(uint256,address)
// 0x2f2ff15d => grantRole(bytes32,address)
// 0x36568abe => renounceRole(bytes32,address)
// 0x3b28ffc4 => activeVersion(bytes32)
// 0x3f4747a3 => Unknown_3f4747a3(uint256,uint256)
// 0x43905859 => historyLength(bytes32)
// 0x506b7d29 => unresolved_506b7d29()
// 0x545aa9ce => Unknown_545aa9ce(uint64)
// 0x5505256f => pendingProposal(bytes32)
// 0x6233b32a => SCHEMA_VERSION()
// 0x641b82d7 => Unknown_641b82d7(uint256,address,uint64,uint256)
// 0x6f7292e9 => unresolved_6f7292e9(bytes32)
// 0x76cdcd75 => MINIMUM_GOVERNANCE_DELAY()
// 0x84f7a864 => Unknown_84f7a864(uint256)
// 0x9010d07c => Unknown_9010d07c(uint256,uint256)
// 0x91d14854 => hasRole(bytes32,address)
// 0xa217fddf => DEFAULT_ADMIN_ROLE()
// 0xa3246ad3 => Unknown_a3246ad3(uint256)
// 0xbba32939 => governanceDelay()
// 0xbbd3eecd => Unknown_bbd3eecd(uint256,address)
// 0xca0f8f3b => Unknown_ca0f8f3b(uint256,address)
// 0xca15c873 => getRoleMemberCount(bytes32)
// 0xd547741f => revokeRole(bytes32,address)
// 0xe1682f11 => unresolved_e1682f11(uint256,address)
// 0xf36c8f5c => GOVERNANCE_ROLE()
// 0xff78c9db => Unknown_ff78c9db(uint256,uint256)
}