@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
442 lines (441 loc) • 27.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "TssDelegationSlasher",
"sourceName": "contracts/L1/tss/delegation/TssDelegationSlasher.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IDelegationManager",
"name": "_delegationManager",
"type": "address"
},
{
"internalType": "contract IDelegation",
"name": "_delegation",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previouslySlashedAddress",
"type": "address"
}
],
"name": "FrozenStatusReset",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "contractAdded",
"type": "address"
}
],
"name": "GloballyPermissionedContractAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "contractRemoved",
"type": "address"
}
],
"name": "GloballyPermissionedContractRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "slashedOperator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "slashingContract",
"type": "address"
}
],
"name": "OperatorSlashed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
}
],
"name": "OptedIntoSlashing",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint32",
"name": "unbondedAfter",
"type": "uint32"
}
],
"name": "SlashingAbilityRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "contracts",
"type": "address[]"
}
],
"name": "addGloballyPermissionedContracts",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
}
],
"name": "allowToSlash",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bondedUntil",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "toBeSlashed",
"type": "address"
},
{
"internalType": "address",
"name": "slashingContract",
"type": "address"
}
],
"name": "canSlash",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "delegation",
"outputs": [
{
"internalType": "contract IDelegation",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "toBeFrozen",
"type": "address"
}
],
"name": "freezeOperator",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "globallyPermissionedContracts",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "investmentManager",
"outputs": [
{
"internalType": "contract IDelegationManager",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "staker",
"type": "address"
}
],
"name": "isFrozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "contracts",
"type": "address[]"
}
],
"name": "removeGloballyPermissionedContracts",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "frozenAddresses",
"type": "address[]"
}
],
"name": "resetFrozenStatus",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint32",
"name": "unbondedAfter",
"type": "uint32"
}
],
"name": "revokeSlashingAbility",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60c06040523480156200001157600080fd5b50604051620012ed380380620012ed833981016040819052620000349162000143565b6001600160a01b03808316608052811660a05281816200005362000068565b5062000060905062000068565b505062000182565b600054610100900460ff1615620000d55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000128576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200014057600080fd5b50565b600080604083850312156200015757600080fd5b825162000164816200012a565b602084015190925062000177816200012a565b809150509250929050565b60805160a051611129620001c460003960008181610294015281816105ea01528181610778015261083f01526000818161017201526105c101526111296000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80639f114f1c116100b2578063df5cf72311610081578063ec73f80811610066578063ec73f808146102c9578063f2fde38b146102dc578063fb3f2922146102ef57600080fd5b8063df5cf7231461028f578063e5839836146102b657600080fd5b80639f114f1c14610243578063bcdf8d1414610256578063c4d66de814610269578063d98128c01461027c57600080fd5b8063715018a6116100ee578063715018a6146101c4578063755defe4146101cc5780637cf72bba146102125780638da5cb5b1461022557600080fd5b806328648d791461012057806338c8ee64146101585780634b31bb101461016d5780635c975abb146101b9575b600080fd5b61014361012e366004610f7c565b60976020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61016b610166366004610f7c565b610302565b005b6101947f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014f565b60655460ff16610143565b61016b6103d8565b6101fd6101da366004610fa0565b609860209081526000928352604080842090915290825290205463ffffffff1681565b60405163ffffffff909116815260200161014f565b61016b610220366004610fd9565b6103ec565b60335473ffffffffffffffffffffffffffffffffffffffff16610194565b61016b610251366004610f7c565b61043b565b61016b610264366004610fd9565b610445565b61016b610277366004610f7c565b61048f565b61014361028a366004610fa0565b610675565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6101436102c4366004610f7c565b6106fd565b61016b6102d7366004610fd9565b6108f2565b61016b6102ea366004610f7c565b61093c565b61016b6102fd36600461104e565b6109f0565b61030a6109fb565b6103148133610675565b6103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605260248201527f536c61736865722e667265657a654f70657261746f723a206d73672e73656e6460448201527f657220646f6573206e6f742068617665207065726d697373696f6e20746f207360648201527f6c6173682074686973206f70657261746f720000000000000000000000000000608482015260a4015b60405180910390fd5b6103d58133610a68565b50565b6103e0610b12565b6103ea6000610b93565b565b6103f4610b12565b60005b818110156104365761042e83838381811061041457610414611085565b90506020020160208101906104299190610f7c565b610c0a565b6001016103f7565b505050565b6103d53382610cac565b61044d610b12565b60005b818110156104365761048783838381811061046d5761046d611085565b90506020020160208101906104829190610f7c565b610d37565b600101610450565b600054610100900460ff16158080156104af5750600054600160ff909116105b806104c95750303b1580156104c9575060005460ff166001145b610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103c2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156105b357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6105bc82610b93565b6105e57f0000000000000000000000000000000000000000000000000000000000000000610dd9565b61060e7f0000000000000000000000000000000000000000000000000000000000000000610dd9565b801561067157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205460ff16156106ab575060016106f7565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526098602090815260408083209386168352929052205463ffffffff164210156106f3575060016106f7565b5060005b92915050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604081205460ff161561073357506001919050565b6040517f3e28391d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633e28391d9060240160206040518083038186803b1580156107ba57600080fd5b505afa1580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f291906110b4565b156108ea576040517f65da126400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906365da12649060240160206040518083038186803b15801561088357600080fd5b505afa158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb91906110d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526099602052604090205460ff169392505050565b506000919050565b6108fa610b12565b60005b818110156104365761093483838381811061091a5761091a611085565b905060200201602081019061092f9190610f7c565b610dd9565b6001016108fd565b610944610b12565b73ffffffffffffffffffffffffffffffffffffffff81166109e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103c2565b6103d581610b93565b610671823383610e7d565b60655460ff16156103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016103c2565b73ffffffffffffffffffffffffffffffffffffffff821660009081526099602052604090205460ff166106715773ffffffffffffffffffffffffffffffffffffffff80831660008181526099602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551928416927ff4acf64f79205932079da891a26db757fc3c07818c0d1b1f9cdab0dcc45941539190a35050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604090205460ff16156103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526099602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517fd4cef0af27800d466fcacd85779857378b85cb61569005ff1464fa6e5ced69d89190a250565b73ffffffffffffffffffffffffffffffffffffffff80831660008181526098602090815260408083209486168084529490915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff179055517fefa9fb38e813d53c15edf501e03852843a3fed691960523391d71a092b3627d89190a35050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604090205460ff16156103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526097602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f7a536e216e18c96837fc3462941e45c8537eecb729fe74b2c16b3e322e17d0f79190a250565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604090205460ff166103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526097602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f255c4db16a16879fcabc9798880abb8d43877ae0c53d36e34d27409e0a6577499190a250565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526098602090815260408083209386168352929052205463ffffffff90811614156104365773ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff871690811790915591519182527f9aa1b1391f35c672ed1f3b7ece632f4513e618366bef7a2f67b7c6bc1f2d2b14910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103d557600080fd5b600060208284031215610f8e57600080fd5b8135610f9981610f5a565b9392505050565b60008060408385031215610fb357600080fd5b8235610fbe81610f5a565b91506020830135610fce81610f5a565b809150509250929050565b60008060208385031215610fec57600080fd5b823567ffffffffffffffff8082111561100457600080fd5b818501915085601f83011261101857600080fd5b81358181111561102757600080fd5b8660208260051b850101111561103c57600080fd5b60209290920196919550909350505050565b6000806040838503121561106157600080fd5b823561106c81610f5a565b9150602083013563ffffffff81168114610fce57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156110c657600080fd5b81518015158114610f9957600080fd5b6000602082840312156110e857600080fd5b8151610f9981610f5a56fea264697066735822122086f7deaadbc9acb9258c7ab54b7a8d2bbc168fe2387e017f22148edff5e2ab6764736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c80639f114f1c116100b2578063df5cf72311610081578063ec73f80811610066578063ec73f808146102c9578063f2fde38b146102dc578063fb3f2922146102ef57600080fd5b8063df5cf7231461028f578063e5839836146102b657600080fd5b80639f114f1c14610243578063bcdf8d1414610256578063c4d66de814610269578063d98128c01461027c57600080fd5b8063715018a6116100ee578063715018a6146101c4578063755defe4146101cc5780637cf72bba146102125780638da5cb5b1461022557600080fd5b806328648d791461012057806338c8ee64146101585780634b31bb101461016d5780635c975abb146101b9575b600080fd5b61014361012e366004610f7c565b60976020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61016b610166366004610f7c565b610302565b005b6101947f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014f565b60655460ff16610143565b61016b6103d8565b6101fd6101da366004610fa0565b609860209081526000928352604080842090915290825290205463ffffffff1681565b60405163ffffffff909116815260200161014f565b61016b610220366004610fd9565b6103ec565b60335473ffffffffffffffffffffffffffffffffffffffff16610194565b61016b610251366004610f7c565b61043b565b61016b610264366004610fd9565b610445565b61016b610277366004610f7c565b61048f565b61014361028a366004610fa0565b610675565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6101436102c4366004610f7c565b6106fd565b61016b6102d7366004610fd9565b6108f2565b61016b6102ea366004610f7c565b61093c565b61016b6102fd36600461104e565b6109f0565b61030a6109fb565b6103148133610675565b6103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605260248201527f536c61736865722e667265657a654f70657261746f723a206d73672e73656e6460448201527f657220646f6573206e6f742068617665207065726d697373696f6e20746f207360648201527f6c6173682074686973206f70657261746f720000000000000000000000000000608482015260a4015b60405180910390fd5b6103d58133610a68565b50565b6103e0610b12565b6103ea6000610b93565b565b6103f4610b12565b60005b818110156104365761042e83838381811061041457610414611085565b90506020020160208101906104299190610f7c565b610c0a565b6001016103f7565b505050565b6103d53382610cac565b61044d610b12565b60005b818110156104365761048783838381811061046d5761046d611085565b90506020020160208101906104829190610f7c565b610d37565b600101610450565b600054610100900460ff16158080156104af5750600054600160ff909116105b806104c95750303b1580156104c9575060005460ff166001145b610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103c2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156105b357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6105bc82610b93565b6105e57f0000000000000000000000000000000000000000000000000000000000000000610dd9565b61060e7f0000000000000000000000000000000000000000000000000000000000000000610dd9565b801561067157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205460ff16156106ab575060016106f7565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526098602090815260408083209386168352929052205463ffffffff164210156106f3575060016106f7565b5060005b92915050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604081205460ff161561073357506001919050565b6040517f3e28391d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633e28391d9060240160206040518083038186803b1580156107ba57600080fd5b505afa1580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f291906110b4565b156108ea576040517f65da126400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906365da12649060240160206040518083038186803b15801561088357600080fd5b505afa158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb91906110d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526099602052604090205460ff169392505050565b506000919050565b6108fa610b12565b60005b818110156104365761093483838381811061091a5761091a611085565b905060200201602081019061092f9190610f7c565b610dd9565b6001016108fd565b610944610b12565b73ffffffffffffffffffffffffffffffffffffffff81166109e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103c2565b6103d581610b93565b610671823383610e7d565b60655460ff16156103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016103c2565b73ffffffffffffffffffffffffffffffffffffffff821660009081526099602052604090205460ff166106715773ffffffffffffffffffffffffffffffffffffffff80831660008181526099602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551928416927ff4acf64f79205932079da891a26db757fc3c07818c0d1b1f9cdab0dcc45941539190a35050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604090205460ff16156103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526099602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517fd4cef0af27800d466fcacd85779857378b85cb61569005ff1464fa6e5ced69d89190a250565b73ffffffffffffffffffffffffffffffffffffffff80831660008181526098602090815260408083209486168084529490915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff179055517fefa9fb38e813d53c15edf501e03852843a3fed691960523391d71a092b3627d89190a35050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604090205460ff16156103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526097602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f7a536e216e18c96837fc3462941e45c8537eecb729fe74b2c16b3e322e17d0f79190a250565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604090205460ff166103d55773ffffffffffffffffffffffffffffffffffffffff811660008181526097602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f255c4db16a16879fcabc9798880abb8d43877ae0c53d36e34d27409e0a6577499190a250565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526098602090815260408083209386168352929052205463ffffffff90811614156104365773ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff871690811790915591519182527f9aa1b1391f35c672ed1f3b7ece632f4513e618366bef7a2f67b7c6bc1f2d2b14910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103d557600080fd5b600060208284031215610f8e57600080fd5b8135610f9981610f5a565b9392505050565b60008060408385031215610fb357600080fd5b8235610fbe81610f5a565b91506020830135610fce81610f5a565b809150509250929050565b60008060208385031215610fec57600080fd5b823567ffffffffffffffff8082111561100457600080fd5b818501915085601f83011261101857600080fd5b81358181111561102757600080fd5b8660208260051b850101111561103c57600080fd5b60209290920196919550909350505050565b6000806040838503121561106157600080fd5b823561106c81610f5a565b9150602083013563ffffffff81168114610fce57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156110c657600080fd5b81518015158114610f9957600080fd5b6000602082840312156110e857600080fd5b8151610f9981610f5a56fea264697066735822122086f7deaadbc9acb9258c7ab54b7a8d2bbc168fe2387e017f22148edff5e2ab6764736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}