Contract: AdminUpgradeabilityProxy
Malicious: no
Decompiled opcodes:
PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x097b CODESIZE SUB DUP1 PUSH2 0x097b DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x0026 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD DUP1 MLOAD SWAP2 MLOAD SWAP4 SWAP6 SWAP3 SWAP5 DUP4 ADD SWAP3 SWAP2 DUP5 PUSH5 0x0100000000 DUP3 GT ISZERO PUSH2 0x0051 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x0066 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH5 0x0100000000 DUP2 GT DUP3 DUP3 ADD DUP9 LT OR ISZERO PUSH2 0x0080 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x00ad JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0095 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1f AND DUP1 ISZERO PUSH2 0x00da JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP2 DUP2 MSTORE PUSH32 0x656970313936372e70726f78792e696d706c656d656e746174696f6e00000000 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x1c ADD SWAP1 SHA3 DUP7 SWAP4 POP DUP5 SWAP3 POP PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0920 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x00 NOT SWAP1 SWAP2 ADD EQ SWAP1 POP PUSH2 0x0131 JUMPI UNKNOWN_0xfe JUMPDEST PUSH2 0x0143 DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB PUSH2 0x0265 AND JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x01fb JUMPI PUSH1 0x00 DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x0186 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1f NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x0167 JUMP JUMPDEST PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x01e6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x01eb JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x01f9 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH32 0x656970313936372e70726f78792e61646d696e00000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x13 ADD SWAP1 SHA3 PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0900 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x00 NOT SWAP1 SWAP2 ADD EQ PUSH2 0x024b JUMPI UNKNOWN_0xfe JUMPDEST PUSH2 0x025d DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB PUSH2 0x02c5 AND JUMP JUMPDEST POP POP POP PUSH2 0x02dd JUMP JUMPDEST PUSH2 0x0278 DUP2 PUSH2 0x02d7 PUSH1 0x20 SHL PUSH2 0x0535 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x02b3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3b DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0940 PUSH1 0x3b SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0920 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0900 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x0614 DUP1 PUSH2 0x02ec PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x04 CALLDATASIZE LT PUSH2 0x004a JUMPI PUSH1 0x00 CALLDATALOAD PUSH1 0xe0 SHR DUP1 PUSH4 0x3659cfe6 EQ PUSH2 0x0054 JUMPI DUP1 PUSH4 0x4f1ef286 EQ PUSH2 0x0087 JUMPI DUP1 PUSH4 0x5c60da1b EQ PUSH2 0x0107 JUMPI DUP1 PUSH4 0x8f283970 EQ PUSH2 0x0138 JUMPI DUP1 PUSH4 0xf851a440 EQ PUSH2 0x016b JUMPI JUMPDEST PUSH2 0x0052 PUSH2 0x0180 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0060 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x0077 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH2 0x019a JUMP JUMPDEST PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x009d JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP3 CALLDATALOAD AND SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH5 0x0100000000 DUP2 GT ISZERO PUSH2 0x00c8 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x00da JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x01 DUP4 MUL DUP5 ADD GT PUSH5 0x0100000000 DUP4 GT OR ISZERO PUSH2 0x00fc JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x01d4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0113 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x011c PUSH2 0x0281 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0144 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x015b JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH2 0x02be JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0177 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x011c PUSH2 0x0378 JUMP JUMPDEST PUSH2 0x0188 PUSH2 0x03a3 JUMP JUMPDEST PUSH2 0x0198 PUSH2 0x0193 PUSH2 0x03fb JUMP JUMPDEST PUSH2 0x0420 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x01a2 PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x01c9 JUMPI PUSH2 0x01c4 DUP2 PUSH2 0x0469 JUMP JUMPDEST PUSH2 0x01d1 JUMP JUMPDEST PUSH2 0x01d1 PUSH2 0x0180 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x01dc PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x0274 JUMPI PUSH2 0x01fe DUP4 PUSH2 0x0469 JUMP JUMPDEST PUSH1 0x00 DUP4 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x40 MLOAD SWAP3 ADD SWAP5 POP PUSH1 0x00 SWAP4 POP SWAP1 SWAP2 POP POP DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x025b JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x0260 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x026e JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x027c JUMP JUMPDEST PUSH2 0x027c PUSH2 0x0180 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x00 PUSH2 0x028b PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x02b3 JUMPI PUSH2 0x02ac PUSH2 0x03fb JUMP JUMPDEST SWAP1 POP PUSH2 0x02bb JUMP JUMPDEST PUSH2 0x02bb PUSH2 0x0180 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x02c6 PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x01c9 JUMPI PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP2 AND PUSH2 0x0324 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x36 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x056e PUSH1 0x36 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f PUSH2 0x034d PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG1 PUSH2 0x01c4 DUP2 PUSH2 0x04a9 JUMP JUMPDEST PUSH1 0x00 PUSH2 0x0382 PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x02b3 JUMPI PUSH2 0x02ac PUSH2 0x0444 JUMP JUMPDEST PUSH2 0x03ab PUSH2 0x0444 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x0198 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x053c PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc SLOAD SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x00 DUP1 CALLDATACOPY PUSH1 0x00 DUP1 CALLDATASIZE PUSH1 0x00 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x043f JUMPI RETURNDATASIZE PUSH1 0x00 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x0472 DUP2 PUSH2 0x04cd JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP3 AND SWAP1 PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b SWAP1 PUSH1 0x00 SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103 SSTORE JUMP JUMPDEST PUSH2 0x04d6 DUP2 PUSH2 0x0535 JUMP JUMPDEST PUSH2 0x0511 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3b DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x05a4 PUSH1 0x3b SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc SSTORE JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP UNKNOWN_0xfe NUMBER PUSH2 0x6e6e PUSH16 0x742063616c6c2066616c6c6261636b20 PUSH7 0x756e6374696f6e SHA3 PUSH7 0x726f6d20746865 SHA3 PUSH17 0x726f78792061646d696e43616e6e6f7420 PUSH4 0x68616e67 PUSH6 0x207468652061 PUSH5 0x6d696e206f PUSH7 0x20612070726f78 PUSH26 0x20746f20746865207a65726f206164647265737343616e6e6f74 SHA3 PUSH20 0x657420612070726f787920696d706c656d656e74 PUSH2 0x7469 PUSH16 0x6e20746f2061206e6f6e2d636f6e7472 PUSH2 0x6374 SHA3 PUSH2 0x6464 PUSH19 0x657373a2646970667358221220da78ab9cddd1 UNKNOWN_0xd8 SWAP16 CALLER LOG3 UNKNOWN_0xf7 DUP14 UNKNOWN_0xfc SIGNEXTEND UNKNOWN_0xd5 UNKNOWN_0xe7 UNKNOWN_0xea UNKNOWN_0xc1 UNKNOWN_0x23 SHA3 DUP1 DUP7 PUSH25 0x49771b690542759ee864736f6c63430006040033b53127684a JUMP DUP12 BALANCE PUSH20 0xae13b9f8a6016e243e63b6e8ee1178d6a717850b UNKNOWN_0x5d PUSH2 0x0336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 UNKNOWN_0x21 MOD PUSH8 0xc828492db98dca3e SHA3 PUSH23 0xcc3735a920a3ca505d382bbc43616e6e6f742073657420 PUSH2 0x2070 PUSH19 0x6f787920696d706c656d656e746174696f6e20 PUSH21 0x6f2061206e6f6e2d636f6e74726163742061646472 PUSH6 0x737300000000 STOP STOP STOP STOP STOP STOP STOP STOP LOG4 UNKNOWN_0xf9 ADDRESS PUSH15 0x4562bb41c44af36612e77d5550ad4f DUP15 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP MULMOD UNKNOWN_0xdb LOG4 STATICCALL XOR UNKNOWN_0x26 UNKNOWN_0xf7 UNKNOWN_0xd0 UNKNOWN_0xe2 DUP5 MLOAD CALLER CALLER UNKNOWN_0xfe PUSH18 0x867b32426100000000000000000000000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP PUSH1 0x00 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP DIFFICULTY BASEFEE UNKNOWN_0x5c UNKNOWN_0xc9 SSTORE STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP UNKNOWN_0xdc UNKNOWN_0xe8 BASEFEE UNKNOWN_0x25 DUP14 UNKNOWN_0xfb SHL UNKNOWN_0xbf CALLVALUE UNKNOWN_0xc3 CHAINID UNKNOWN_0xfb UNKNOWN_0xe4 UNKNOWN_0xf LT UNKNOWN_0xf8 LOG4 UNKNOWN_0x2d UNKNOWN_0x25 UNKNOWN_0x26 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD UNKNOWN_0xc SWAP1 UNKNOWN_0xd1 UNKNOWN_0x5d PUSH3 0xe5f07a GASPRICE CALLCODE DUP15 UNKNOWN_0xbb SWAP10 UNKNOWN_0xde UNKNOWN_0xaa UNKNOWN_0xad PUSH5 0x5f97000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP