ETH Price: $2,049.42 (-3.82%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1561639102026-08-28 14:16:3774 days ago1787926597
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1561639102026-08-28 14:16:3774 days ago1787926597
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1561639102026-08-28 14:16:3774 days ago1787926597
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1561638872026-08-28 14:15:5174 days ago1787926551
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1561638872026-08-28 14:15:5174 days ago1787926551
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1561638872026-08-28 14:15:5174 days ago1787926551
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1513257312026-05-08 14:23:59186 days ago1778250239
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1513257312026-05-08 14:23:59186 days ago1778250239
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1513257312026-05-08 14:23:59186 days ago1778250239
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1505943492026-04-21 16:04:35203 days ago1776787475
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1505943492026-04-21 16:04:35203 days ago1776787475
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1505943492026-04-21 16:04:35203 days ago1776787475
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496821782026-03-31 13:18:53224 days ago1774963133
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496821782026-03-31 13:18:53224 days ago1774963133
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496821782026-03-31 13:18:53224 days ago1774963133
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496820452026-03-31 13:14:27224 days ago1774962867
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496820452026-03-31 13:14:27224 days ago1774962867
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1496820452026-03-31 13:14:27224 days ago1774962867
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1486046472026-03-06 14:41:11249 days ago1772808071
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1486046472026-03-06 14:41:11249 days ago1772808071
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1486046472026-03-06 14:41:11249 days ago1772808071
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1467845012026-01-23 11:29:39291 days ago1769167779
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1467845012026-01-23 11:29:39291 days ago1769167779
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1452192432025-12-18 5:54:23327 days ago1766037263
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
1452192432025-12-18 5:54:23327 days ago1766037263
0x8F44e6E0...384FCd33f
 Contract Creation0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

TokenVotingSetup

Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled
Yes with 200 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"contract GovernanceERC20","name":"_governanceERC20Base","type":"address"},{"internalType":"contract GovernanceWrappedERC20","name":"_governanceWrappedERC20Base","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint16","name":"fromBuild","type":"uint16"},{"internalType":"uint16","name":"thisBuild","type":"uint16"}],"name":"InvalidUpdatePath","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"TokenNotContract","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"TokenNotERC20","type":"error"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"decodeInstallationParameters","outputs":[{"components":[{"internalType":"enum MajorityVotingBase.VotingMode","name":"votingMode","type":"uint8"},{"internalType":"uint32","name":"supportThreshold","type":"uint32"},{"internalType":"uint32","name":"minParticipation","type":"uint32"},{"internalType":"uint64","name":"minDuration","type":"uint64"},{"internalType":"uint256","name":"minProposerVotingPower","type":"uint256"}],"internalType":"struct MajorityVotingBase.VotingSettings","name":"votingSettings","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"internalType":"struct TokenVotingSetup.TokenSettings","name":"tokenSettings","type":"tuple"},{"components":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bool","name":"ensureDelegationOnMint","type":"bool"}],"internalType":"struct GovernanceERC20.MintSettings","name":"mintSettings","type":"tuple"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"enum IPlugin.Operation","name":"operation","type":"uint8"}],"internalType":"struct IPlugin.TargetConfig","name":"targetConfig","type":"tuple"},{"internalType":"uint256","name":"minApprovals","type":"uint256"},{"internalType":"bytes","name":"pluginMetadata","type":"bytes"},{"internalType":"address[]","name":"excludedAccounts","type":"address[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"enum MajorityVotingBase.VotingMode","name":"votingMode","type":"uint8"},{"internalType":"uint32","name":"supportThreshold","type":"uint32"},{"internalType":"uint32","name":"minParticipation","type":"uint32"},{"internalType":"uint64","name":"minDuration","type":"uint64"},{"internalType":"uint256","name":"minProposerVotingPower","type":"uint256"}],"internalType":"struct MajorityVotingBase.VotingSettings","name":"votingSettings","type":"tuple"},{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"internalType":"struct TokenVotingSetup.TokenSettings","name":"tokenSettings","type":"tuple"},{"components":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bool","name":"ensureDelegationOnMint","type":"bool"}],"internalType":"struct GovernanceERC20.MintSettings","name":"mintSettings","type":"tuple"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"enum IPlugin.Operation","name":"operation","type":"uint8"}],"internalType":"struct IPlugin.TargetConfig","name":"targetConfig","type":"tuple"},{"internalType":"uint256","name":"minApprovals","type":"uint256"},{"internalType":"bytes","name":"pluginMetadata","type":"bytes"},{"internalType":"address[]","name":"excludedAccounts","type":"address[]"}],"name":"encodeInstallationParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"governanceERC20Base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceWrappedERC20Base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dao","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"prepareInstallation","outputs":[{"internalType":"address","name":"plugin","type":"address"},{"components":[{"internalType":"address[]","name":"helpers","type":"address[]"},{"components":[{"internalType":"enum PermissionLib.Operation","name":"operation","type":"uint8"},{"internalType":"address","name":"where","type":"address"},{"internalType":"address","name":"who","type":"address"},{"internalType":"address","name":"condition","type":"address"},{"internalType":"bytes32","name":"permissionId","type":"bytes32"}],"internalType":"struct PermissionLib.MultiTargetPermission[]","name":"permissions","type":"tuple[]"}],"internalType":"struct IPluginSetup.PreparedSetupData","name":"preparedSetupData","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dao","type":"address"},{"components":[{"internalType":"address","name":"plugin","type":"address"},{"internalType":"address[]","name":"currentHelpers","type":"address[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IPluginSetup.SetupPayload","name":"_payload","type":"tuple"}],"name":"prepareUninstallation","outputs":[{"components":[{"internalType":"enum PermissionLib.Operation","name":"operation","type":"uint8"},{"internalType":"address","name":"where","type":"address"},{"internalType":"address","name":"who","type":"address"},{"internalType":"address","name":"condition","type":"address"},{"internalType":"bytes32","name":"permissionId","type":"bytes32"}],"internalType":"struct PermissionLib.MultiTargetPermission[]","name":"permissions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dao","type":"address"},{"internalType":"uint16","name":"_fromBuild","type":"uint16"},{"components":[{"internalType":"address","name":"plugin","type":"address"},{"internalType":"address[]","name":"currentHelpers","type":"address[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IPluginSetup.SetupPayload","name":"_payload","type":"tuple"}],"name":"prepareUpdate","outputs":[{"internalType":"bytes","name":"initData","type":"bytes"},{"components":[{"internalType":"address[]","name":"helpers","type":"address[]"},{"components":[{"internalType":"enum PermissionLib.Operation","name":"operation","type":"uint8"},{"internalType":"address","name":"where","type":"address"},{"internalType":"address","name":"who","type":"address"},{"internalType":"address","name":"condition","type":"address"},{"internalType":"bytes32","name":"permissionId","type":"bytes32"}],"internalType":"struct PermissionLib.MultiTargetPermission[]","name":"permissions","type":"tuple[]"}],"internalType":"struct IPluginSetup.PreparedSetupData","name":"preparedSetupData","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"protocolVersion","outputs":[{"internalType":"uint8[3]","name":"","type":"uint8[3]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"supportsIVotesInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
610100604052348015610010575f5ffd5b506040516180aa3803806180aa83398101604081905261002f9161009b565b60405161003b90610077565b604051809103905ff080158015610054573d5f5f3e3d5ffd5b506001600160a01b03908116608081905260a05291821660c0521660e0526100d3565b614bde806134cc83390190565b6001600160a01b0381168114610098575f5ffd5b50565b5f5f604083850312156100ac575f5ffd5b82516100b781610084565b60208401519092506100c881610084565b809150509250929050565b60805160a05160c05160e0516133966101365f395f81816101c50152610f1201525f818160ff0152610fb401525f81816105390152818161109f015261123101525f818161013b015281816107da01528181610a8601526113ae01526133965ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80639cb0a1241161006e5780639cb0a1241461015f578063a8a9c29e1461017f578063b37edb51146101a0578063e89b6b91146101c0578063f10832f1146101e7578063f2ad76f914610208575f5ffd5b806301ffc9a7146100aa5780631c5d4013146100d25780632ae9c600146100e5578063599cb1a6146100fa5780635c60da1b14610139575b5f5ffd5b6100bd6100b8366004611911565b61022e565b60405190151581526020015b60405180910390f35b6100bd6100e0366004611956565b61027e565b6100ed61048c565b6040516100c99190611971565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c9565b7f0000000000000000000000000000000000000000000000000000000000000000610121565b61017261016d3660046119ba565b6104b5565b6040516100c99190611a7a565b61019261018d366004611ac2565b610900565b6040516100c9929190611bf8565b6101b36101ae366004612034565b610d6d565b6040516100c99190612118565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6101fa6101f536600461212a565b610da8565b6040516100c99291906121a8565b61021b6102163660046121cb565b611698565b6040516100c997969594939291906122e7565b5f6001600160e01b0319821663099718b560e41b148061025d57506001600160e01b03198216621574e360e91b145b8061027857506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080515f602480830182905283518084039091018152604490920183526020820180516001600160e01b0316632394e7a360e21b1790529151829182916001600160a01b038616916102d0916123a7565b5f60405180830381855afa9150503d805f8114610308576040519150601f19603f3d011682016040523d82523d5f602084013e61030d565b606091505b50604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166309ab24eb60e41b17905290519294509092505f9182916001600160a01b0388169161036891906123a7565b5f60405180830381855afa9150503d805f81146103a0576040519150601f19603f3d011682016040523d82523d5f602084013e6103a5565b606091505b50604080513060248201525f604480830182905283518084039091018152606490920183526020820180516001600160e01b0316630748d63560e31b17905291519395509193509182916001600160a01b038a169161040491906123a7565b5f60405180830381855afa9150503d805f811461043c576040519150601f19603f3d011682016040523d82523d5f602084013e610441565b606091505b5091509150858015610454575084516020145b801561045d5750835b801561046a575082516020145b80156104735750815b8015610480575080516020145b98975050505050505050565b6104946118ab565b506040805160608101825260018152600460208201525f9181019190915290565b60408051600680825260e08201909252606091816020015b6104d56118c9565b8152602001906001900390816104cd5750506040805160a081019091526001815290915060208082019061050b90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631befc4056040518163ffffffff1660e01b8152600401602060405180830381865afa158015610593573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b791906123bd565b815250815f815181106105cc576105cc6123d4565b60209081029190910101526040805160a081019091528060018152602001846001600160a01b03168152602001835f01602081019061060b9190611956565b6001600160a01b031681526020015f6001600160a01b031681526020017fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d8152508160018151811061065f5761065f6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061068c90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7815250816002815181106106ef576106ef6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061071c90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b8152508160038151811061077f5761077f6123d4565b60209081029190910101526040805160a0810190915280600181526020908101906107ac90850185611956565b6001600160a01b031681526020016001600160a01b03801681526020015f6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906123bd565b8152508160048151811061086e5761086e6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061089b90850185611956565b6001600160a01b03908116825260208201525f60408201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea8878896060909101528151829060059081106108ef576108ef6123d4565b602002602001018190525092915050565b606061091f604051806040016040528060608152602001606081525090565b60038461ffff161015610d65575f61093a6020850185611956565b604051610946906118f7565b6001600160a01b039091168152602001604051809103905ff08015801561096f573d5f5f3e3d5ffd5b5060408051600580825260c082019092529192505f9190816020015b6109936118c9565b81526020019060019003908161098b5750506040805160a08101909152600181529091506020808201906109c990880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f5815250815f81518110610a2b57610a2b6123d4565b60209081029190910101526040805160a081019091528060028152602090810190610a5890880188611956565b6001600160a01b031681526020016001600160a01b0380168152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0491906123bd565b81525081600181518110610b1a57610b1a6123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610b4690880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f781525081600281518110610ba957610ba96123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610bd590880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81525081600381518110610c3857610c386123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610c6490880188611956565b6001600160a01b03908116825260208201525f60408201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea887889606090910152815182906004908110610cb857610cb86123d4565b60209081029190910181019190915283810182905260408051600180825281830190925291828101908036833750505080845280518391905f90610cfe57610cfe6123d4565b6001600160a01b039092166020928302919091019091015285610d2460408701876123e8565b604051602401610d3693929190612431565b60408051601f198184030181529190526020810180516001600160e01b03166308641fa760e11b179052935050505b935093915050565b606087878787878787604051602001610d8c97969594939291906122e7565b6040516020818303038152906040529050979650505050505050565b5f610dc6604051806040016040528060608152602001606081525090565b610df260405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b5f610dfb6118c9565b604080516060808201835280825260208201525f91810191909152610e2f604080518082019091525f808252602082015290565b5f606080610e718c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061169892505050565b8551959e50949c50949a509198509650945090925090506001600160a01b03871615610faf576001600160a01b0387163b610ecf576040516318aca2db60e01b81526001600160a01b03881660048201526024015b60405180910390fd5b610ed88761172f565b610f005760405163fa8925f160e01b81526001600160a01b0388166004820152602401610ec6565b610f098761027e565b610faa57610f3f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166117d9565b885160208a01516040808c01519051639065714760e01b8152939a506001600160a01b038b1693639065714793610f7c939092909160040161246a565b5f604051808303815f87803b158015610f93575f5ffd5b505af1158015610fa5573d5f5f3e3d5ffd5b505050505b61104b565b610fe17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166117d9565b9650866001600160a01b0316636273f4dc8e8a602001518b60400151896040518563ffffffff1660e01b815260040161101d94939291906124a9565b5f604051808303815f87803b158015611034575f5ffd5b505af1158015611046573d5f5f3e3d5ffd5b505050505b6110c58d87898787878760405160240161106b97969594939291906124fd565b60408051601f198184030181529190526020810180516001600160e01b0316633140b25f60e21b1790526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690611870565b604080516002808252606082018352929c50919060208301908036833750505089526040518a906110f5906118f7565b6001600160a01b039091168152602001604051809103905ff08015801561111e573d5f5f3e3d5ffd5b50895180515f90611131576111316123d4565b60200260200101906001600160a01b031690816001600160a01b03168152505086895f0151600181518110611168576111686123d4565b6001600160a01b03928316602091820292909201015288515f97501694506111969350505050576007611199565b60065b60ff166001600160401b038111156111b3576111b3611c25565b6040519080825280602002602001820160405280156111ec57816020015b6111d96118c9565b8152602001906001900390816111d15790505b506040805160a08101909152909150805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631befc4056040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af91906123bd565b815250815f815181106112c4576112c46123d4565b60209081029190910101526040805160a08101909152805f8152602001896001600160a01b03168152602001866001600160a01b031681526020015f6001600160a01b031681526020017fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d81525081600181518110611345576113456123d4565b60209081029190910101526040805160a081019091528060028152602001866001600160a01b031681526020016001600160a01b0380168152602001855f01515f81518110611396576113966123d4565b60200260200101516001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015611408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c91906123bd565b81525081600281518110611442576114426123d4565b60209081029190910101526040805160a08101909152805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7815250816003815181106114c3576114c36123d4565b60209081029190910101526040805160a08101909152805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81525081600481518110611544576115446123d4565b60209081029190910101526040805160a08101909152805f81526001600160a01b03808816602083015260408201525f60608201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea8878896080909101528151829060059081106115b5576115b56123d4565b602090810291909101015282516001600160a01b0316611687575f826001600160a01b031663b2d2989c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163091906123bd565b6040805160a08101909152909150805f81526001600160a01b0380861660208301528b1660408201525f606082015260800182905282518390600690811061167a5761167a6123d4565b6020026020010181905250505b602084015250919590945092505050565b6116a06118c9565b6116cc60405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b604080516060808201835280825260208201525f91810191909152611700604080518082019091525f808252602082015290565b5f60608087806020019051810190611718919061280a565b959e949d50929b5090995097509550909350915050565b6040513060248201525f90819081906001600160a01b0385169060440160408051601f198184030181529181526020820180516001600160e01b03166370a0823160e01b1790525161178191906123a7565b5f60405180830381855afa9150503d805f81146117b9576040519150601f19603f3d011682016040523d82523d5f602084013e6117be565b606091505b50915091508180156117d1575080516020145b949350505050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b03811661186b5760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610ec6565b919050565b5f828260405161187f90611904565b61188a9291906128e0565b604051809103905ff0801580156118a3573d5f5f3e3d5ffd5b509392505050565b60405180606001604052806003906020820280368337509192915050565b6040805160a08101909152805f81525f60208201819052604082018190526060820181905260809091015290565b6105b68061290483390190565b6104a780612eba83390190565b5f60208284031215611921575f5ffd5b81356001600160e01b031981168114611938575f5ffd5b9392505050565b6001600160a01b0381168114611953575f5ffd5b50565b5f60208284031215611966575f5ffd5b81356119388161193f565b6060810181835f5b600381101561199b57815160ff16835260209283019290910190600101611979565b50505092915050565b5f606082840312156119b4575f5ffd5b50919050565b5f5f604083850312156119cb575f5ffd5b82356119d68161193f565b915060208301356001600160401b038111156119f0575f5ffd5b6119fc858286016119a4565b9150509250929050565b634e487b7160e01b5f52602160045260245ffd5b6003811061195357611953611a06565b5f8151611a3681611a1a565b8352506020818101516001600160a01b0390811691840191909152604080830151821690840152606080830151909116908301526080908101519082015260a00190565b602080825282518282018190525f918401906040840190835b81811015611ab757611aa6838551611a2a565b602094909401939250600101611a93565b509095945050505050565b5f5f5f60608486031215611ad4575f5ffd5b8335611adf8161193f565b9250602084013561ffff81168114611af5575f5ffd5b915060408401356001600160401b03811115611b0f575f5ffd5b611b1b868287016119a4565b9150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f8151808452602084019350602083015f5b82811015611b8c5781516001600160a01b0316865260209586019590910190600101611b65565b5093949350505050565b5f815160408452611baa6040850182611b53565b60208481015186830387830152805180845290820193505f92909101905b80831015611bee57611bdb828551611a2a565b9150602084019350600183019250611bc8565b5095945050505050565b604081525f611c0a6040830185611b25565b8281036020840152611c1c8185611b96565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715611c5b57611c5b611c25565b60405290565b604051606081016001600160401b0381118282101715611c5b57611c5b611c25565b604080519081016001600160401b0381118282101715611c5b57611c5b611c25565b604051601f8201601f191681016001600160401b0381118282101715611ccd57611ccd611c25565b604052919050565b60038110611953575f5ffd5b63ffffffff81168114611953575f5ffd5b6001600160401b0381168114611953575f5ffd5b5f60a08284031215611d16575f5ffd5b611d1e611c39565b90508135611d2b81611cd5565b81526020820135611d3b81611ce1565b60208201526040820135611d4e81611ce1565b60408201526060820135611d6181611cf2565b606082015260809182013591810191909152919050565b5f6001600160401b03821115611d9057611d90611c25565b50601f01601f191660200190565b5f82601f830112611dad575f5ffd5b8135602083015f611dc5611dc084611d78565b611ca5565b9050828152858383011115611dd8575f5ffd5b828260208301375f92810160200192909252509392505050565b5f60608284031215611e02575f5ffd5b611e0a611c61565b90508135611e178161193f565b815260208201356001600160401b03811115611e31575f5ffd5b611e3d84828501611d9e565b60208301525060408201356001600160401b03811115611e5b575f5ffd5b611e6784828501611d9e565b60408301525092915050565b5f6001600160401b03821115611e8b57611e8b611c25565b5060051b60200190565b5f82601f830112611ea4575f5ffd5b8135611eb2611dc082611e73565b8082825260208201915060208360051b860101925085831115611ed3575f5ffd5b602085015b83811015611bee578035611eeb8161193f565b835260209283019201611ed8565b8015158114611953575f5ffd5b803561186b81611ef9565b5f60608284031215611f21575f5ffd5b611f29611c61565b905081356001600160401b03811115611f40575f5ffd5b611f4c84828501611e95565b82525060208201356001600160401b03811115611f67575f5ffd5b8201601f81018413611f77575f5ffd5b8035611f85611dc082611e73565b8082825260208201915060208360051b850101925086831115611fa6575f5ffd5b6020840193505b82841015611fc8578335825260209384019390910190611fad565b602085015250611fdd91505060408301611f06565b604082015292915050565b60028110611953575f5ffd5b5f60408284031215612004575f5ffd5b61200c611c83565b905081356120198161193f565b8152602082013561202981611fe8565b602082015292915050565b5f5f5f5f5f5f5f610180888a03121561204b575f5ffd5b6120558989611d06565b965060a08801356001600160401b0381111561206f575f5ffd5b61207b8a828b01611df2565b96505060c08801356001600160401b03811115612096575f5ffd5b6120a28a828b01611f11565b9550506120b28960e08a01611ff4565b935061012088013592506101408801356001600160401b038111156120d5575f5ffd5b6120e18a828b01611d9e565b9250506101608801356001600160401b038111156120fd575f5ffd5b6121098a828b01611e95565b91505092959891949750929550565b602081525f6119386020830184611b25565b5f5f5f6040848603121561213c575f5ffd5b83356121478161193f565b925060208401356001600160401b03811115612161575f5ffd5b8401601f81018613612171575f5ffd5b80356001600160401b03811115612186575f5ffd5b866020828401011115612197575f5ffd5b939660209190910195509293505050565b6001600160a01b03831681526040602082018190525f906117d190830184611b96565b5f602082840312156121db575f5ffd5b81356001600160401b038111156121f0575f5ffd5b6117d184828501611d9e565b805161220781611a1a565b8083525063ffffffff602082015116602083015263ffffffff60408201511660408301526001600160401b036060820151166060830152608081015160808301525050565b5f8151606084526122606060850182611b53565b60208481015186830387830152805180845290820193505f92909101905b808310156122a1578351825260208201915060208401935060018301925061227e565b5060408501511515604087015280935050505092915050565b80516001600160a01b031682526020810151600281106122dc576122dc611a06565b806020840152505050565b6122f181896121fc565b61018060a0820181905287516001600160a01b031690820152602087015160606101a08301525f906123276101e0840182611b25565b9050604089015161017f19848303016101c08501526123468282611b25565b91505082810360c084015261235b818961224c565b905061236a60e08401886122ba565b856101208401528281036101408401526123848186611b25565b90508281036101608401526123998185611b53565b9a9950505050505050505050565b5f82518060208501845e5f920191825250919050565b5f602082840312156123cd575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e198436030181126123fd575f5ffd5b8301803591506001600160401b03821115612416575f5ffd5b60200191503681900382131561242a575f5ffd5b9250929050565b61ffff8416815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b6001600160a01b03841681526060602082018190525f9061248d90830185611b25565b828103604084015261249f8185611b25565b9695505050505050565b6001600160a01b03851681526080602082018190525f906124cc90830186611b25565b82810360408401526124de8186611b25565b905082810360608401526124f2818561224c565b979650505050505050565b6001600160a01b038816815261251660208201886121fc565b6001600160a01b03861660c082015261253260e08201866122ba565b836101208201526101806101408201525f612551610180830185611b25565b8281036101608401526123998185611b53565b5f60a08284031215612574575f5ffd5b61257c611c39565b9050815161258981611cd5565b8152602082015161259981611ce1565b602082015260408201516125ac81611ce1565b604082015260608201516125bf81611cf2565b606082015260809182015191810191909152919050565b5f82601f8301126125e5575f5ffd5b8151602083015f6125f8611dc084611d78565b905082815285838301111561260b575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f60608284031215612635575f5ffd5b61263d611c61565b9050815161264a8161193f565b815260208201516001600160401b03811115612664575f5ffd5b612670848285016125d6565b60208301525060408201516001600160401b0381111561268e575f5ffd5b611e67848285016125d6565b5f82601f8301126126a9575f5ffd5b81516126b7611dc082611e73565b8082825260208201915060208360051b8601019250858311156126d8575f5ffd5b602085015b83811015611bee5780516126f08161193f565b8352602092830192016126dd565b805161186b81611ef9565b5f60608284031215612719575f5ffd5b612721611c61565b905081516001600160401b03811115612738575f5ffd5b6127448482850161269a565b82525060208201516001600160401b0381111561275f575f5ffd5b8201601f8101841361276f575f5ffd5b805161277d611dc082611e73565b8082825260208201915060208360051b85010192508683111561279e575f5ffd5b6020840193505b828410156127c05783518252602093840193909101906127a5565b602085015250611fdd915050604083016126fe565b5f604082840312156127e5575f5ffd5b6127ed611c83565b905081516127fa8161193f565b8152602082015161202981611fe8565b5f5f5f5f5f5f5f610180888a031215612821575f5ffd5b61282b8989612564565b965060a08801516001600160401b03811115612845575f5ffd5b6128518a828b01612625565b96505060c08801516001600160401b0381111561286c575f5ffd5b6128788a828b01612709565b9550506128888960e08a016127d5565b6101208901516101408a015191955093506001600160401b038111156128ac575f5ffd5b6128b88a828b016125d6565b9250506101608801516001600160401b038111156128d4575f5ffd5b6121098a828b0161269a565b6001600160a01b03831681526040602082018190525f906117d190830184611b2556fe60c060405234801561000f575f5ffd5b506040516105b63803806105b683398101604081905261002e916100c3565b6001600160a01b03811660808190526040805163e28c3b1960e01b8152905163e28c3b19916004808201926020929091908290030181865afa158015610076573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009a91906100c3565b6001600160a01b031660a052506100e5565b6001600160a01b03811681146100c0575f5ffd5b50565b5f602082840312156100d3575f5ffd5b81516100de816100ac565b9392505050565b60805160a0516104aa61010c5f395f61023b01525f818160e7015261017001526104aa5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806301ffc9a7146100435780632675fdd01461006b5780632ae9c6001461007e575b5f5ffd5b61005661005136600461030e565b610093565b60405190151581526020015b60405180910390f35b610056610079366004610357565b6100e3565b6100866102c7565b60405161006291906103ec565b5f6001600160e01b031982166302675fdd60e41b14806100c257506001600160e01b03198216621574e360e91b145b806100dd57506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f60046b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610141573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610165919061041f565b905080156102b8575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663029dc4396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee9190610436565b15610205576101fe600142610455565b9050610213565b610210600143610455565b90505b604051630748d63560e31b81526001600160a01b0388811660048301526024820183905283917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa158015610282573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a6919061041f565b10156102b6575f925050506102be565b505b60019150505b95945050505050565b6102cf6102f0565b506040805160608101825260018152600460208201525f9181019190915290565b60405180606001604052806003906020820280368337509192915050565b5f6020828403121561031e575f5ffd5b81356001600160e01b031981168114610335575f5ffd5b9392505050565b80356001600160a01b0381168114610352575f5ffd5b919050565b5f5f5f5f5f6080868803121561036b575f5ffd5b6103748661033c565b94506103826020870161033c565b935060408601359250606086013567ffffffffffffffff8111156103a4575f5ffd5b8601601f810188136103b4575f5ffd5b803567ffffffffffffffff8111156103ca575f5ffd5b8860208284010111156103db575f5ffd5b959894975092955050506020019190565b6060810181835f5b600381101561041657815160ff168352602092830192909101906001016103f4565b50505092915050565b5f6020828403121561042f575f5ffd5b5051919050565b5f60208284031215610446575f5ffd5b81518015158114610335575f5ffd5b818103818111156100dd57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220454788e6ee890a91f7df3078dc4a318a4213f82b8d64cb48d752df4b397ec00964736f6c634300081c003360806040526040516104a73803806104a7833981016040819052610022916102b0565b61002d82825f610034565b50506103ca565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c383836040518060600160405280602781526020016104806027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f856001600160a01b031685604051610199919061037f565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b81526004016101339190610395565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156102c1575f5ffd5b82516001600160a01b03811681146102d7575f5ffd5b60208401519092506001600160401b038111156102f2575f5ffd5b8301601f81018513610302575f5ffd5b80516001600160401b0381111561031b5761031b61029c565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103495761034961029c565b604052818152828201602001871015610360575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60aa806103d65f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212204eccca71a994075912ed78d5d9f5ac2cdd66fe4ef112d0066687ba5abfedc0d564736f6c634300081c0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a65b2aab508824e7e547f99efa94662de2b88a2319814b7a8438e0579717fbef64736f6c634300081c003360a060405230608052348015610013575f5ffd5b5061001c610021565b6100dd565b5f54610100900460ff161561008c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff908116146100db575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051614acd6101115f395f8181610bd601528181610c1601528181610cbd01528181610cfd0152610d740152614acd5ff3fe60806040526004361061028b575f3560e01c80638a4b00f811610155578063cc63604a116100be578063e28c3b1911610078578063e28c3b191461087d578063e306bee71461089b578063ea65ab82146108ce578063ee57e36f146108ed578063f60046b21461090c578063fe0d94c114610921575f5ffd5b8063cc63604a146107c5578063ce6366c4146107e4578063cf13114914610803578063cfceb58814610822578063da35c66414610855578063dd63c06f14610869575f5ffd5b8063bb225da21161010f578063bb225da2146106e2578063c218c13214610701578063c502c97c14610720578063c7f758a81461073f578063c98425ee14610771578063c9c4bfca14610792575f5ffd5b80638a4b00f8146105dd5780638cb75059146105fc578063970601d81461062f5780639cba302114610685578063a230c524146106a4578063aac91e46146106c3575f5ffd5b80633659cfe6116101f757806352d1902d116101b157806352d1902d1461052a578063536f9f421461053e578063567157611461055d5780635c60da1b146105955780637a5b4f59146105a95780637c36e8e8146105bd575f5ffd5b80633659cfe61461045c57806336fa95891461047b5780633d3f4b1b146104b35780634162169f146104d457806341de6830146105055780634f1ef28614610517575f5ffd5b806310c83f4e1161024857806310c83f4e1461037657806311ce24381461039557806317d1b404146103c85780631befc405146103e757806323d071881461041a5780632ae9c6001461043b575f5ffd5b806301ffc9a71461028f578063029dc439146102c357806303ff90f6146102e4578063054fd2c2146103035780630de21856146103365780630dfb278e14610355575b5f5ffd5b34801561029a575f5ffd5b506102ae6102a9366004613625565b610940565b60405190151581526020015b60405180910390f35b3480156102ce575f5ffd5b50610191546102ae90600160a01b900460ff1681565b3480156102ef575f5ffd5b50610162545b6040519081526020016102ba565b34801561030e575f5ffd5b5061016054600160281b900463ffffffff165b60405163ffffffff90911681526020016102ba565b348015610341575f5ffd5b506102ae61035036600461364c565b610985565b348015610360575f5ffd5b5061037461036f366004613679565b610a26565b005b348015610381575f5ffd5b506103746103903660046136d7565b610a70565b3480156103a0575f5ffd5b506102f57f8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c9081565b3480156103d3575f5ffd5b506102ae6103e236600461374d565b610b64565b3480156103f2575f5ffd5b506102f57fbba35d41610b7d25c8e486006535c76bd423091563e694d206ae3d71ce949fe581565b348015610425575f5ffd5b506101605460ff165b6040516102ba91906137b0565b348015610446575f5ffd5b5061044f610ba3565b6040516102ba91906137c3565b348015610467575f5ffd5b506103746104763660046137f6565b610bcc565b348015610486575f5ffd5b506102ae61049536600461364c565b5f90815261015f602052604090206009810154600490910154101590565b3480156104be575f5ffd5b506104c7610c93565b6040516102ba919061383f565b3480156104df575f5ffd5b5060c9546001600160a01b03165b6040516001600160a01b0390911681526020016102ba565b348015610510575f5ffd5b505f61042e565b61037461052536600461390d565b610cb3565b348015610535575f5ffd5b506102f5610d68565b348015610549575f5ffd5b506102f561055836600461364c565b610e19565b348015610568575f5ffd5b5061016054600160481b90046001600160401b03166040516001600160401b0390911681526020016102ba565b3480156105a0575f5ffd5b506104ed610f45565b3480156105b4575f5ffd5b506104c7610f53565b3480156105c8575f5ffd5b5061016054610100900463ffffffff16610321565b3480156105e8575f5ffd5b506102ae6105f736600461364c565b611007565b348015610607575f5ffd5b506102f57f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f781565b34801561063a575f5ffd5b50610678610649366004613959565b5f82815261015f602090815260408083206001600160a01b038516845260060190915290205460ff1692915050565b6040516102ba919061399b565b348015610690575f5ffd5b506102f561069f366004613a0a565b611046565b3480156106af575f5ffd5b506102ae6106be3660046137f6565b6113c2565b3480156106ce575f5ffd5b506103746106dd36600461364c565b6114ad565b3480156106ed575f5ffd5b506103746106fc366004613ad9565b6114ef565b34801561070c575f5ffd5b506102ae61071b36600461364c565b61153f565b34801561072b575f5ffd5b5061037461073a366004613b15565b611595565b34801561074a575f5ffd5b5061075e61075936600461364c565b611738565b6040516102ba9796959493929190613ce3565b34801561077c575f5ffd5b506107856119fa565b6040516102ba9190613db2565b34801561079d575f5ffd5b506102f57f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f581565b3480156107d0575f5ffd5b506102ae6107df36600461364c565b611a60565b3480156107ef575f5ffd5b506103746107fe366004613dc0565b611a93565b34801561080e575f5ffd5b506102ae61081d36600461364c565b611ad4565b34801561082d575f5ffd5b506102f57ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea88788981565b348015610860575f5ffd5b506102f5611b35565b348015610874575f5ffd5b50610785611b4f565b348015610888575f5ffd5b50610191546001600160a01b03166104ed565b3480156108a6575f5ffd5b506102f57f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81565b3480156108d9575f5ffd5b506102f56108e8366004613df4565b611bfc565b3480156108f8575f5ffd5b50610374610907366004613eae565b611c47565b348015610917575f5ffd5b50610161546102f5565b34801561092c575f5ffd5b5061037461093b36600461364c565b611cc3565b5f6001600160e01b0319821663e28c3b1960e01b148061097057506001600160e01b0319821663288c314960e21b145b8061097f575061097f82611d2e565b92915050565b5f81815261015f60205260408120600381015460048201546001830154849291906109bf90600160a81b90046001600160401b0316610e19565b6109c99190613f00565b6109d39190613f00565b60018301549091506109f1908290610100900463ffffffff16613f13565b60048301546001840154610a1390610100900463ffffffff16620f4240613f00565b610a1d9190613f13565b11949350505050565b60c9547fbba35d41610b7d25c8e486006535c76bd423091563e694d206ae3d71ce949fe590610a63906001600160a01b031630335b845f36611da3565b610a6c82611e5d565b5050565b5f54600390610100900460ff16158015610a9057505f5460ff8083169116105b610ab55760405162461bcd60e51b8152600401610aac90613f2a565b60405180910390fd5b5f805461ffff191660ff831617610100179055600361ffff85161015610b09575f8080610ae485870187613fdb565b925092509250610af38361202b565b610afc82612091565b610b0581612172565b5050505b60048461ffff161015610b1e57610b1e6121da565b5f805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b5f610b6e84612366565b610b8e57604051630853c2a360e41b815260048101859052602401610aac565b610b9984848461238d565b90505b9392505050565b610bab613607565b506040805160608101825260018152600460208201525f9181019190915290565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c145760405162461bcd60e51b8152600401610aac9061402e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c466124d6565b6001600160a01b031614610c6c5760405162461bcd60e51b8152600401610aac9061407a565b610c75816124f1565b604080515f80825260208201909252610c909183919061252a565b50565b6060604051806080016040528060438152602001614a2e60439139905090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610cfb5760405162461bcd60e51b8152600401610aac9061402e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d2d6124d6565b6001600160a01b031614610d535760405162461bcd60e51b8152600401610aac9061407a565b610d5c826124f1565b610a6c8282600161252a565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e075760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610aac565b505f516020614a0e5f395f51905f5290565b5f5f5f5b610e28610192612694565b811015610ece57610191546001600160a01b0316633a46b1a8610e4d6101928461269d565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101879052604401602060405180830381865afa158015610e96573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eba91906140c6565b610ec490836140dd565b9150600101610e1d565b5061019154604051632394e7a360e21b81526004810185905282916001600160a01b031690638e539e8c90602401602060405180830381865afa158015610f17573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3b91906140c6565b610b9c9190613f00565b5f610f4e6124d6565b905090565b7f47ff9796f72d439c6e5c30a24b9fad985a00c85a9f2258074c400a94f8746b008054606091908190610f85906140f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb1906140f0565b8015610ffc5780601f10610fd357610100808354040283529160200191610ffc565b820191905f5260205f20905b815481529060010190602001808311610fdf57829003601f168201915b505050505091505090565b5f81815261015f60205260408120600281015460038201546005830154600484015461103391906140dd565b61103d91906140dd565b10159392505050565b60c9545f907f8c433a4cd6b51969eca37f974940894297b9fcf4b282a213fea5cd8f85289c9090611081906001600160a01b03163033610a5b565b610191545f90600160a01b900460ff16156110a057505f1942016110a6565b505f1943015b5f6110b082610e19565b9050805f036110d257604051631f05dadd60e21b815260040160405180910390fd5b6110dc88886126a8565b80985081995050506111498b8b8f8f6040516020016110fe9493929190614214565b60408051601f198184030181528282528051602091820120468483015243848401523060608501526080808501919091528251808503909101815260a0909301909152815191012090565b5f81815261015f60205260409020600181015491955090600160a81b90046001600160401b031615611191576040516312dba68f60e01b815260048101869052602401610aac565b6001810180546001600160401b038a8116600160681b0267ffffffffffffffff60681b19918d16600160281b029190911674ffffffffffffffffffffffffffffffff000000000019909216919091171790556111ec836127a3565b6001820180546001600160401b0392909216600160a81b0267ffffffffffffffff60a81b199092169190911790556112276101605460ff1690565b60018083018054909160ff19909116908360028111156112495761124961378c565b021790555061016054610100900463ffffffff1660018201805464ffffffff00191661010063ffffffff9384160217905561016054611297918491600160281b90041663ffffffff1661280e565b60028201556112af826112aa6101625490565b61280e565b60098201556112bc611b4f565b8051600a830180546001600160a01b031981166001600160a01b0390931692831782556020840151919283916001600160a81b03191617600160a01b83600181111561130a5761130a61378c565b0217905550508a15905061132057600881018a90555b5f5b8b81101561137d57816007018d8d838181106113405761134061423a565b9050602002810190611352919061424e565b81546001810183555f928352602090922090916003020161137382826142b7565b5050600101611322565b505f8760038111156113915761139161378c565b146113a1576113a1858888611a93565b6113b18e8e8e8e8e8a8f8f612883565b505050509998505050505050505050565b610191546040516309ab24eb60e41b81526001600160a01b0383811660048301525f928392911690639ab24eb090602401602060405180830381865afa15801561140e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143291906140c6565b118061097f5750610191546040516370a0823160e01b81526001600160a01b0384811660048301525f9216906370a0823190602401602060405180830381865afa158015611482573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a691906140c6565b1192915050565b60c9547fbba35d41610b7d25c8e486006535c76bd423091563e694d206ae3d71ce949fe5906114e6906001600160a01b03163033610a5b565b610a6c8261202b565b60c9547f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f790611528906001600160a01b03163033610a5b565b610a6c61153a368490038401846143e8565b612091565b5f61154982612366565b61156957604051630853c2a360e41b815260048101839052602401610aac565b5f82815261015f6020526040812090611581826128db565b905061158d848261293a565b949350505050565b5f5460ff16156115b75760405162dc149f60e41b815260040160405180910390fd5b5f54600390610100900460ff161580156115d757505f5460ff8083169116105b6115f35760405162461bcd60e51b8152600401610aac90613f2a565b5f805461ffff191660ff8316176101001790556116148989888888886129f0565b61019180546001600160a01b0319166001600160a01b0389161790556116386121da565b5f5b825181101561167a576116718382815181106116585761165861423a565b6020026020010151610192612a8190919063ffffffff16565b5060010161163a565b508151156116ba577f330e82750b7db80bc01257b45bc10a6d77fec6474d39222902f7010bb2caff87826040516116b19190614402565b60405180910390a15b6040516001600160a01b038816907f3f1ec22954d444cb99f80a1989ac8f631616b8a575a89379e514c0f7f748c933905f90a25f805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101829052819061178b60405180606001604052805f81526020015f81526020015f81525090565b60605f6117a7604080518082019091525f808252602082015290565b5f88815261015f602052604090206117be816128db565b81546040805160c08101909152600184018054939b5060ff9283169a509092909183911660028111156117f3576117f361378c565b60028111156118045761180461378c565b8152815463ffffffff6101008204166020808401919091526001600160401b03600160281b83048116604080860191909152600160681b84048216606080870191909152600160a81b909404909116608085015260019094015460a0909301929092528251908101835260038501548152600485015481830152600585015481840152600785018054845181850281018501909552808552949a509098509192905f9084015b8282101561198b575f848152602090819020604080516060810182526003860290920180546001600160a01b03168352600181015493830193909352600283018054929392918401916118fc906140f0565b80601f0160208091040260200160405190810160405280929190818152602001828054611928906140f0565b80156119735780601f1061194a57610100808354040283529160200191611973565b820191905f5260205f20905b81548152906001019060200180831161195657829003601f168201915b505050505081525050815260200190600101906118aa565b50505050600882015460408051808201909152600a840180546001600160a01b0381168352939750919550916020830190600160a01b900460ff1660018111156119d7576119d761378c565b60018111156119e8576119e861378c565b81525050915050919395979092949650565b604080518082019091525f80825260208201526040805180820190915260fb80546001600160a01b03811683526020830190600160a01b900460ff166001811115611a4757611a4761378c565b6001811115611a5857611a5861378c565b905250919050565b5f611a6a82612366565b611a8a57604051630853c2a360e41b815260048101839052602401610aac565b61097f82612a95565b33611a9f84828561238d565b611ac257838184604051631c2d2c9560e21b8152600401610aac9392919061444d565b611ace84848385612afe565b50505050565b5f81815261015f6020526040812060058101546001820154611b019190610100900463ffffffff16613f13565b60048201546001830154611b2390610100900463ffffffff16620f4240613f00565b611b2d9190613f13565b119392505050565b5f604051631bebc11560e01b815260040160405180910390fd5b604080518082019091525f80825260208201526040805180820190915260fb80546001600160a01b03811683525f9291906020830190600160a01b900460ff166001811115611ba057611ba061378c565b6001811115611bb157611bb161378c565b90525080519091506001600160a01b0316611bf7576040518060400160405280611be360c9546001600160a01b031690565b6001600160a01b031681526020015f905290505b919050565b5f5f5f5f90505f84515f14611c275784806020019051810190611c1f9190614470565b919450925090505b611c388b8b8b8b878c8c8989611046565b9b9a5050505050505050505050565b60c9547f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b90611c80906001600160a01b03163033610a5b565b611cbe83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061217292505050565b505050565b60c9547ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea88788990611cfc906001600160a01b03163033610a5b565b611d0582612a95565b611d2557604051639fefd0f160e01b815260048101839052602401610aac565b610a6c82612e29565b5f6001600160e01b0319821663059635cb60e31b1480611d5e57506001600160e01b0319821663433c580f60e11b145b80611d7957506001600160e01b0319821663781c112160e01b145b80611d9457506001600160e01b0319821663268c8a2f60e11b145b8061097f575061097f82612fa9565b604051637ef7c88360e11b81526001600160a01b0387169063fdef910690611dd790889088908890889088906004016144a6565b602060405180830381865afa158015611df2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1691906144d9565b611e5557604051630cb6f8ed60e21b81526001600160a01b03808816600483015280871660248301528516604482015260648101849052608401610aac565b505050505050565b611e6b6001620f4240613f00565b611e7b6040830160208401614505565b63ffffffff161115611ecd57611e956001620f4240613f00565b611ea56040830160208401614505565b60405163cc80c19560e01b8152600481019290925263ffffffff166024820152604401610aac565b620f4240611ee16060830160408401614505565b63ffffffff161115611f0157620f4240611ea56060830160408401614505565b610e10611f146080830160608401614520565b6001600160401b03161015611f6257610e10611f366080830160608401614520565b60405163628819f760e11b81526001600160401b03928316600482015291166024820152604401610aac565b6301e13380611f776080830160608401614520565b6001600160401b03161115611f9b576301e13380611f366080830160608401614520565b80610160611fa98282614553565b507fa8a18d06ddd19f24a872740e3d364c86f62be25f7154525dda18ef07fda46f3e9050611fda6020830183614624565b611fea6040840160208501614505565b611ffa6060850160408601614505565b61200a6080860160608701614520565b856080013560405161202095949392919061463f565b60405180910390a150565b620f424081111561205b5760405163cc80c19560e01b8152620f4240600482015260248101829052604401610aac565b6101628190556040518181527f881350fa9fec1b2382437d5d1e9f130ffa2a3b13d62236391c36d3b5e739ec4d90602001612020565b80516120ad906001600160a01b0316632a4f53ad60e11b612fe8565b80156120ce57506001816020015160018111156120cc576120cc61378c565b145b156120ee578060405163266d0fb960e01b8152600401610aac9190613db2565b805160fb80546001600160a01b039092166001600160a01b031983168117825560208401518493909183916001600160a81b03191617600160a01b83600181111561213b5761213b61378c565b02179055509050507f88e879ae0d71faf3aa708f2978daccb99b95243615dc104835b8c5a21c884ae6816040516120209190613db2565b7f47ff9796f72d439c6e5c30a24b9fad985a00c85a9f2258074c400a94f8746b008061219e838261467a565b507fbb39ebb37e60fb5d606ffdb749d2336e56b88e6c88c4bd6513b308f643186eed826040516121ce919061383f565b60405180910390a15050565b5f5f6101915f9054906101000a90046001600160a01b03166001600160a01b0316634bf5d7e96040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561224e57506040513d5f823e601f3d908101601f1916820160405261224b919081019061476a565b60015b156122a35760408051808201909152600e81526d06d6f64653d74696d657374616d760941b60209182015281519101207ff5b078ad22f37ec6a1ef7bb7557a33caf5438015a34794acb2076082df8e563f1491505b6101915f9054906101000a90046001600160a01b03166001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612312575060408051601f3d908101601f1916820190925261230f918101906147ae565b60015b156123245765ffffffffffff16421490505b8015158215151461234857604051632b6e78b160e21b815260040160405180910390fd5b8115610a6c57610191805460ff60a01b1916600160a01b1790555050565b5f90815261015f6020526040902060010154600160a81b90046001600160401b0316151590565b5f83815261015f602052604081206123a4816128db565b6123b1575f915050610b9c565b5f8360038111156123c4576123c461378c565b036123d2575f915050610b9c565b610191546001820154604051630748d63560e31b81526001600160a01b038781166004830152600160a81b9092046001600160401b03166024820152911690633a46b1a890604401602060405180830381865afa158015612435573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245991906140c6565b5f03612468575f915050610b9c565b6001600160a01b0384165f90815260068201602052604081205460ff1660038111156124965761249661378c565b141580156124bd57506002600182015460ff1660028111156124ba576124ba61378c565b14155b156124cb575f915050610b9c565b506001949350505050565b5f516020614a0e5f395f51905f52546001600160a01b031690565b60c9547f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f590610a6c906001600160a01b03163033610a5b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561255d57611cbe83613003565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156125b7575060408051601f3d908101601f191682019092526125b4918101906140c6565b60015b61261a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610aac565b5f516020614a0e5f395f51905f5281146126885760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610aac565b50611cbe83838361309e565b5f61097f825490565b5f610b9c83836130c2565b5f5f5f6126b4426127a3565b9050846001600160401b03165f036126ce57809250612717565b849250806001600160401b0316836001600160401b0316101561271757604051631332703d60e21b81526001600160401b03808316600483015284166024820152604401610aac565b610160545f9061273790600160481b90046001600160401b0316856147d3565b9050846001600160401b03165f036127515780925061279a565b849250806001600160401b0316836001600160401b0316101561279a57604051631332703d60e21b81526001600160401b03808316600483015284166024820152604401610aac565b50509250929050565b5f6001600160401b0382111561280a5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610aac565b5090565b5f620f424082111561283f5760405163cc80c19560e01b8152620f4240600482015260248101839052604401610aac565b6128498284613f13565b92505f612859620f424085614806565b9050612868620f424085614819565b9150801561287c576128798261482c565b91505b5092915050565b336001600160a01b0316837fa6c1f8f4276dc3f243459e13b557c84e8f4e90b2e09070bad5f6909cee687c9284848c8c8c8c8c6040516128c99796959493929190614844565b60405180910390a35050505050505050565b5f5f6128e6426127a3565b60018401549091506001600160401b03808316600160281b9092041611801590612927575060018301546001600160401b03600160681b9091048116908216105b8015610b9c575050905460ff1615919050565b5f82815261015f602052604081208215612992576002600182015460ff1660028111156129695761296961378c565b03612977575f91505061097f565b61298084610985565b61298d575f91505061097f565b6129a8565b61299b84611ad4565b6129a8575f91505061097f565b6129b184611007565b6129be575f91505061097f565b5f84815261015f60205260409020600981015460049091015410156129e6575f91505061097f565b5060019392505050565b5f54610100900460ff16612a165760405162461bcd60e51b8152600401610aac9061489d565b612a1f866130e8565b612a2885611e5d565b612a318361202b565b612a4361153a368690038601866143e8565b611e5582828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061217292505050565b5f610b9c836001600160a01b038416613117565b5f81815261015f60205260408120805460ff1615612ab557505f92915050565b5f612abf826128db565b905060018083015460ff166002811115612adb57612adb61378c565b14158015612ae65750805b15612af457505f9392505050565b61158d848261293a565b5f84815261015f60205260408082206101915460018201549251630748d63560e31b81526001600160a01b038781166004830152600160a81b9094046001600160401b031660248201529193921690633a46b1a890604401602060405180830381865afa158015612b71573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b9591906140c6565b6001600160a01b0385165f90815260068401602052604090205490915060ff166002816003811115612bc957612bc961378c565b03612be8576004830154612bde908390613f00565b6004840155612c4a565b6003816003811115612bfc57612bfc61378c565b03612c1b576005830154612c11908390613f00565b6005840155612c4a565b6001816003811115612c2f57612c2f61378c565b03612c4a576003830154612c44908390613f00565b60038401555b6002866003811115612c5e57612c5e61378c565b03612c7d576004830154612c739083906140dd565b6004840155612cdf565b6003866003811115612c9157612c9161378c565b03612cb0576005830154612ca69083906140dd565b6005840155612cdf565b6001866003811115612cc457612cc461378c565b03612cdf576003830154612cd99083906140dd565b60038401555b6001600160a01b0385165f9081526006840160205260409020805487919060ff19166001836003811115612d1557612d1561378c565b0217905550846001600160a01b0316877fb83d25c6a5d258561330739951487acb4bd09ba5190b5d32c4f261817d9067928885604051612d569291906148e8565b60405180910390a383612d6b57505050611ace565b612d7487612a95565b8015612e12575060c954604051637ef7c88360e11b81526001600160a01b039091169063fdef910690612dd390309089907ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea887889905f9036906004016144a6565b602060405180830381865afa158015612dee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e1291906144d9565b15612e2057612e2087612e29565b50505050505050565b5f81815261015f60209081526040808320805460ff19166001178155600a8101546007820180548451818702810187019095528085529295612f79956001600160a01b03909316948894909390919084015b82821015612f5c575f848152602090819020604080516060810182526003860290920180546001600160a01b0316835260018101549383019390935260028301805492939291840191612ecd906140f0565b80601f0160208091040260200160405190810160405280929190818152602001828054612ef9906140f0565b8015612f445780601f10612f1b57610100808354040283529160200191612f44565b820191905f5260205f20905b815481529060010190602001808311612f2757829003601f168201915b50505050508152505081526020019060010190612e7b565b505050506008850154600a860154600160a01b900460ff16613163565b505060405182907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f905f90a25050565b5f6001600160e01b0319821663368d719960e21b1480612fd957506001600160e01b03198216633f4644d160e21b145b8061097f575061097f826132ea565b5f612ff28361335e565b8015610b9c5750610b9c8383613390565b6001600160a01b0381163b6130705760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610aac565b5f516020614a0e5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6130a783613416565b5f825111806130b35750805b15611cbe57611ace8383613455565b5f825f0182815481106130d7576130d761423a565b905f5260205f200154905092915050565b5f54610100900460ff1661310e5760405162461bcd60e51b8152600401610aac9061489d565b610c908161347a565b5f81815260018301602052604081205461315c57508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561097f565b505f61097f565b60605f600183600181111561317a5761317a61378c565b03613268575f6060886001600160a01b03168888886040516024016131a193929190614903565b60408051601f198184030181529181526020820180516001600160e01b03166331c6fcc960e21b179052516131d6919061492b565b5f60405180830381855af49150503d805f811461320e576040519150601f19603f3d011682016040523d82523d5f602084013e613213565b606091505b509092509050816132475780511561322e5780518082602001fd5b6040516318cecad560e01b815260040160405180910390fd5b8080602001905181019061325b9190614941565b90945092506132e0915050565b6040516331c6fcc960e21b81526001600160a01b0388169063c71bf3249061329890899089908990600401614903565b5f604051808303815f875af11580156132b3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132da9190810190614941565b90925090505b9550959350505050565b5f6001600160e01b0319821663041de68360e41b148061331957506001600160e01b03198216621574e360e91b145b8061333457506001600160e01b031982166352d1902d60e01b145b8061334f57506001600160e01b0319821663afc5b82360e01b145b8061097f575061097f826134c2565b5f613370826301ffc9a760e01b613390565b801561097f5750613389826001600160e01b0319613390565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b17815282515f9392849283928392918391908a617530fa92503d91505f519050828015613400575060208210155b801561340b57505f81115b979650505050505050565b61341f81613003565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610b9c8383604051806060016040528060278152602001614a71602791396134f6565b5f54610100900460ff166134a05760405162461bcd60e51b8152600401610aac9061489d565b60c980546001600160a01b0319166001600160a01b0392909216919091179055565b5f6001600160e01b03198216634a06561b60e11b148061097f57506301ffc9a760e01b6001600160e01b031983161461097f565b60605f5f856001600160a01b031685604051613512919061492b565b5f60405180830381855af49150503d805f811461354a576040519150601f19603f3d011682016040523d82523d5f602084013e61354f565b606091505b50915091506135608683838761356a565b9695505050505050565b606083156135d85782515f036135d1576001600160a01b0385163b6135d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610aac565b508161158d565b61158d83838151156135ed5781518083602001fd5b8060405162461bcd60e51b8152600401610aac919061383f565b60405180606001604052806003906020820280368337509192915050565b5f60208284031215613635575f5ffd5b81356001600160e01b031981168114610b9c575f5ffd5b5f6020828403121561365c575f5ffd5b5035919050565b5f60a08284031215613673575f5ffd5b50919050565b5f60a08284031215613689575f5ffd5b610b9c8383613663565b5f5f83601f8401126136a3575f5ffd5b5081356001600160401b038111156136b9575f5ffd5b6020830191508360208285010111156136d0575f5ffd5b9250929050565b5f5f5f604084860312156136e9575f5ffd5b833561ffff811681146136fa575f5ffd5b925060208401356001600160401b03811115613714575f5ffd5b61372086828701613693565b9497909650939450505050565b6001600160a01b0381168114610c90575f5ffd5b60048110610c90575f5ffd5b5f5f5f6060848603121561375f575f5ffd5b8335925060208401356137718161372d565b9150604084013561378181613741565b809150509250925092565b634e487b7160e01b5f52602160045260245ffd5b60038110610c9057610c9061378c565b602081016137bd836137a0565b91905290565b6060810181835f5b60038110156137ed57815160ff168352602092830192909101906001016137cb565b50505092915050565b5f60208284031215613806575f5ffd5b8135610b9c8161372d565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610b9c6020830184613811565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561388d5761388d613851565b604052919050565b5f6001600160401b038211156138ad576138ad613851565b50601f01601f191660200190565b5f82601f8301126138ca575f5ffd5b81356138dd6138d882613895565b613865565b8181528460208386010111156138f1575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561391e575f5ffd5b82356139298161372d565b915060208301356001600160401b03811115613943575f5ffd5b61394f858286016138bb565b9150509250929050565b5f5f6040838503121561396a575f5ffd5b82359150602083013561397c8161372d565b809150509250929050565b600481106139975761399761378c565b9052565b6020810161097f8284613987565b5f5f83601f8401126139b9575f5ffd5b5081356001600160401b038111156139cf575f5ffd5b6020830191508360208260051b85010111156136d0575f5ffd5b6001600160401b0381168114610c90575f5ffd5b8015158114610c90575f5ffd5b5f5f5f5f5f5f5f5f5f60e08a8c031215613a22575f5ffd5b89356001600160401b03811115613a37575f5ffd5b613a438c828d01613693565b909a5098505060208a01356001600160401b03811115613a61575f5ffd5b613a6d8c828d016139a9565b90985096505060408a0135945060608a0135613a88816139e9565b935060808a0135613a98816139e9565b925060a08a0135613aa881613741565b915060c08a0135613ab8816139fd565b809150509295985092959850929598565b5f60408284031215613673575f5ffd5b5f60408284031215613ae9575f5ffd5b610b9c8383613ac9565b5f6001600160401b03821115613b0b57613b0b613851565b5060051b60200190565b5f5f5f5f5f5f5f5f610180898b031215613b2d575f5ffd5b8835613b388161372d565b9750613b478a60208b01613663565b965060c0890135613b578161372d565b9550613b668a60e08b01613ac9565b945061012089013593506101408901356001600160401b03811115613b89575f5ffd5b613b958b828c01613693565b9094509250506101608901356001600160401b03811115613bb4575f5ffd5b8901601f81018b13613bc4575f5ffd5b8035613bd26138d882613af3565b8082825260208201915060208360051b85010192508d831115613bf3575f5ffd5b6020840193505b82841015613c1e578335613c0d8161372d565b825260209384019390910190613bfa565b809450505050509295985092959890939650565b5f82825180855260208501945060208160051b830101602085015f5b83811015613caa57848303601f19018852815180516001600160a01b0316845260208082015190850152604090810151606091850182905290613c9390850182613811565b6020998a0199909450929092019150600101613c4e565b50909695505050505050565b80516001600160a01b03168252602081015160028110613cd857613cd861378c565b806020840152505050565b871515815286151560208201525f8651613cfc816137a0565b8060408401525063ffffffff60208801511660608301526001600160401b0360408801511660808301526001600160401b0360608801511660a08301526001600160401b0360808801511660c083015260a087015160e0830152613d786101008301878051825260208082015190830152604090810151910152565b6101e0610160830152613d8f6101e0830186613c32565b905083610180830152613da66101a0830184613cb6565b98975050505050505050565b6040810161097f8284613cb6565b5f5f5f60608486031215613dd2575f5ffd5b833592506020840135613de481613741565b91506040840135613781816139fd565b5f5f5f5f5f5f5f60a0888a031215613e0a575f5ffd5b87356001600160401b03811115613e1f575f5ffd5b613e2b8a828b01613693565b90985096505060208801356001600160401b03811115613e49575f5ffd5b613e558a828b016139a9565b9096509450506040880135613e69816139e9565b92506060880135613e79816139e9565b915060808801356001600160401b03811115613e93575f5ffd5b613e9f8a828b016138bb565b91505092959891949750929550565b5f5f60208385031215613ebf575f5ffd5b82356001600160401b03811115613ed4575f5ffd5b613ee085828601613693565b90969095509350505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561097f5761097f613eec565b808202811582820484141761097f5761097f613eec565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f60408284031215613f88575f5ffd5b604080519081016001600160401b0381118282101715613faa57613faa613851565b6040529050808235613fbb8161372d565b8152602083013560028110613fce575f5ffd5b6020919091015292915050565b5f5f5f60808486031215613fed575f5ffd5b83359250613ffe8560208601613f78565b915060608401356001600160401b03811115614018575f5ffd5b614024868287016138bb565b9150509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f602082840312156140d6575f5ffd5b5051919050565b8082018082111561097f5761097f613eec565b600181811c9082168061410457607f821691505b60208210810361367357634e487b7160e01b5f52602260045260245ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8383855260208501945060208460051b820101835f5b86811015613caa57838303601f19018852813536879003605e19018112614186575f5ffd5b860180356141938161372d565b6001600160a01b0316845260208181013590850152604081013536829003601e190181126141bf575f5ffd5b016020810190356001600160401b038111156141d9575f5ffd5b8036038213156141e7575f5ffd5b606060408601526141fc606086018284614122565b60209a8b019a90955093909301925050600101614161565b604081525f61422760408301868861414a565b828103602084015261340b818587614122565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112614262575f5ffd5b9190910192915050565b601f821115611cbe57805f5260205f20601f840160051c810160208510156142915750805b601f840160051c820191505b818110156142b0575f815560010161429d565b5050505050565b81356142c28161372d565b81546001600160a01b0319166001600160a01b039190911617815560208201356001820155604082013536839003601e190181126142fe575f5ffd5b820180356001600160401b03811115614315575f5ffd5b602082019150803603821315614329575f5ffd5b600283016001600160401b0382111561434457614344613851565b6143588261435283546140f0565b8361426c565b5f601f831160018114614389575f84156143725750848201355b5f19600386901b1c1916600185901b178355612e20565b5f83815260208120601f198616915b828110156143b85787850135825560209485019460019092019101614398565b50858210156143d4575f1960f88760031b161c19848801351681555b505060018460011b01835550505050505050565b5f604082840312156143f8575f5ffd5b610b9c8383613f78565b602080825282518282018190525f918401906040840190835b818110156144425783516001600160a01b031683526020938401939092019160010161441b565b509095945050505050565b8381526001600160a01b03831660208201526060810161158d6040830184613987565b5f5f5f60608486031215614482575f5ffd5b8351602085015190935061449581613741565b6040850151909250613781816139fd565b6001600160a01b03868116825285166020820152604081018490526080606082018190525f9061340b9083018486614122565b5f602082840312156144e9575f5ffd5b8151610b9c816139fd565b63ffffffff81168114610c90575f5ffd5b5f60208284031215614515575f5ffd5b8135610b9c816144f4565b5f60208284031215614530575f5ffd5b8135610b9c816139e9565b60038110610c90575f5ffd5b5f813561097f816139e9565b813561455e8161453b565b614567816137a0565b815460ff821691508160ff1982161783556020840135614586816144f4565b64ffffffff008160081b168364ffffffffff1984161717845550505060408201356145b0816144f4565b815468ffffffff0000000000191660289190911b68ffffffff0000000000161781556146156145e160608401614547565b825470ffffffffffffffff000000000000000000191660489190911b70ffffffffffffffff00000000000000000016178255565b60809190910135600190910155565b5f60208284031215614634575f5ffd5b8135610b9c8161453b565b60a0810161464c876137a0565b95815263ffffffff94851660208201529290931660408301526001600160401b031660608201526080015290565b81516001600160401b0381111561469357614693613851565b6146a7816146a184546140f0565b8461426c565b6020601f8211600181146146d9575f83156146c25750848201515b5f19600385901b1c1916600184901b1784556142b0565b5f84815260208120601f198516915b8281101561470857878501518255602094850194600190920191016146e8565b508482101561472557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f6147416138d884613895565b9050828152838383011115614754575f5ffd5b8282602083015e5f602084830101529392505050565b5f6020828403121561477a575f5ffd5b81516001600160401b0381111561478f575f5ffd5b8201601f8101841361479f575f5ffd5b61287984825160208401614734565b5f602082840312156147be575f5ffd5b815165ffffffffffff81168114610b9c575f5ffd5b6001600160401b03818116838216019081111561097f5761097f613eec565b634e487b7160e01b5f52601260045260245ffd5b5f82614814576148146147f2565b500690565b5f82614827576148276147f2565b500490565b5f6001820161483d5761483d613eec565b5060010190565b6001600160401b03881681526001600160401b038716602082015260a060408201525f61487560a083018789614122565b828103606084015261488881868861414a565b91505082608083015298975050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b604081016148f68285613987565b8260208301529392505050565b838152606060208201525f61491b6060830185613c32565b9050826040830152949350505050565b5f82518060208501845e5f920191825250919050565b5f5f60408385031215614952575f5ffd5b82516001600160401b03811115614967575f5ffd5b8301601f81018513614977575f5ffd5b80516149856138d882613af3565b8082825260208201915060208360051b8501019250878311156149a6575f5ffd5b602084015b838110156149f95780516001600160401b038111156149c8575f5ffd5b8501603f81018a136149d8575f5ffd5b6149ea8a602083015160408401614734565b845250602092830192016149ab565b50602096909601519597959650505050505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2875696e7432353620616c6c6f774661696c7572654d61702c2075696e743820766f74654f7074696f6e2c20626f6f6c207472794561726c79457865637574696f6e29416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220af80c079b12eb92904e9883d2879dfad1f96a3d63fc951d0ebe0ee6f801dfd7d64736f6c634300081c0033000000000000000000000000f5550fdd549a04b782229acc51bcf229527fb8a80000000000000000000000007432045e71368d66f91fdcc3e67a799347fa4167
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80639cb0a1241161006e5780639cb0a1241461015f578063a8a9c29e1461017f578063b37edb51146101a0578063e89b6b91146101c0578063f10832f1146101e7578063f2ad76f914610208575f5ffd5b806301ffc9a7146100aa5780631c5d4013146100d25780632ae9c600146100e5578063599cb1a6146100fa5780635c60da1b14610139575b5f5ffd5b6100bd6100b8366004611911565b61022e565b60405190151581526020015b60405180910390f35b6100bd6100e0366004611956565b61027e565b6100ed61048c565b6040516100c99190611971565b6101217f000000000000000000000000f5550fdd549a04b782229acc51bcf229527fb8a881565b6040516001600160a01b0390911681526020016100c9565b7f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a311610121565b61017261016d3660046119ba565b6104b5565b6040516100c99190611a7a565b61019261018d366004611ac2565b610900565b6040516100c9929190611bf8565b6101b36101ae366004612034565b610d6d565b6040516100c99190612118565b6101217f0000000000000000000000007432045e71368d66f91fdcc3e67a799347fa416781565b6101fa6101f536600461212a565b610da8565b6040516100c99291906121a8565b61021b6102163660046121cb565b611698565b6040516100c997969594939291906122e7565b5f6001600160e01b0319821663099718b560e41b148061025d57506001600160e01b03198216621574e360e91b145b8061027857506301ffc9a760e01b6001600160e01b03198316145b92915050565b604080515f602480830182905283518084039091018152604490920183526020820180516001600160e01b0316632394e7a360e21b1790529151829182916001600160a01b038616916102d0916123a7565b5f60405180830381855afa9150503d805f8114610308576040519150601f19603f3d011682016040523d82523d5f602084013e61030d565b606091505b50604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166309ab24eb60e41b17905290519294509092505f9182916001600160a01b0388169161036891906123a7565b5f60405180830381855afa9150503d805f81146103a0576040519150601f19603f3d011682016040523d82523d5f602084013e6103a5565b606091505b50604080513060248201525f604480830182905283518084039091018152606490920183526020820180516001600160e01b0316630748d63560e31b17905291519395509193509182916001600160a01b038a169161040491906123a7565b5f60405180830381855afa9150503d805f811461043c576040519150601f19603f3d011682016040523d82523d5f602084013e610441565b606091505b5091509150858015610454575084516020145b801561045d5750835b801561046a575082516020145b80156104735750815b8015610480575080516020145b98975050505050505050565b6104946118ab565b506040805160608101825260018152600460208201525f9181019190915290565b60408051600680825260e08201909252606091816020015b6104d56118c9565b8152602001906001900390816104cd5750506040805160a081019091526001815290915060208082019061050b90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3116001600160a01b0316631befc4056040518163ffffffff1660e01b8152600401602060405180830381865afa158015610593573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b791906123bd565b815250815f815181106105cc576105cc6123d4565b60209081029190910101526040805160a081019091528060018152602001846001600160a01b03168152602001835f01602081019061060b9190611956565b6001600160a01b031681526020015f6001600160a01b031681526020017fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d8152508160018151811061065f5761065f6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061068c90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7815250816002815181106106ef576106ef6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061071c90850185611956565b6001600160a01b03168152602001846001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b8152508160038151811061077f5761077f6123d4565b60209081029190910101526040805160a0810190915280600181526020908101906107ac90850185611956565b6001600160a01b031681526020016001600160a01b03801681526020015f6001600160a01b031681526020017f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3116001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906123bd565b8152508160048151811061086e5761086e6123d4565b60209081029190910101526040805160a08101909152806001815260209081019061089b90850185611956565b6001600160a01b03908116825260208201525f60408201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea8878896060909101528151829060059081106108ef576108ef6123d4565b602002602001018190525092915050565b606061091f604051806040016040528060608152602001606081525090565b60038461ffff161015610d65575f61093a6020850185611956565b604051610946906118f7565b6001600160a01b039091168152602001604051809103905ff08015801561096f573d5f5f3e3d5ffd5b5060408051600580825260c082019092529192505f9190816020015b6109936118c9565b81526020019060019003908161098b5750506040805160a08101909152600181529091506020808201906109c990880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f5815250815f81518110610a2b57610a2b6123d4565b60209081029190910101526040805160a081019091528060028152602090810190610a5890880188611956565b6001600160a01b031681526020016001600160a01b0380168152602001836001600160a01b031681526020017f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3116001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0491906123bd565b81525081600181518110610b1a57610b1a6123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610b4690880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f781525081600281518110610ba957610ba96123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610bd590880188611956565b6001600160a01b03168152602001886001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81525081600381518110610c3857610c386123d4565b60209081029190910101526040805160a08101909152805f8152602090810190610c6490880188611956565b6001600160a01b03908116825260208201525f60408201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea887889606090910152815182906004908110610cb857610cb86123d4565b60209081029190910181019190915283810182905260408051600180825281830190925291828101908036833750505080845280518391905f90610cfe57610cfe6123d4565b6001600160a01b039092166020928302919091019091015285610d2460408701876123e8565b604051602401610d3693929190612431565b60408051601f198184030181529190526020810180516001600160e01b03166308641fa760e11b179052935050505b935093915050565b606087878787878787604051602001610d8c97969594939291906122e7565b6040516020818303038152906040529050979650505050505050565b5f610dc6604051806040016040528060608152602001606081525090565b610df260405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b5f610dfb6118c9565b604080516060808201835280825260208201525f91810191909152610e2f604080518082019091525f808252602082015290565b5f606080610e718c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061169892505050565b8551959e50949c50949a509198509650945090925090506001600160a01b03871615610faf576001600160a01b0387163b610ecf576040516318aca2db60e01b81526001600160a01b03881660048201526024015b60405180910390fd5b610ed88761172f565b610f005760405163fa8925f160e01b81526001600160a01b0388166004820152602401610ec6565b610f098761027e565b610faa57610f3f7f0000000000000000000000007432045e71368d66f91fdcc3e67a799347fa41676001600160a01b03166117d9565b885160208a01516040808c01519051639065714760e01b8152939a506001600160a01b038b1693639065714793610f7c939092909160040161246a565b5f604051808303815f87803b158015610f93575f5ffd5b505af1158015610fa5573d5f5f3e3d5ffd5b505050505b61104b565b610fe17f000000000000000000000000f5550fdd549a04b782229acc51bcf229527fb8a86001600160a01b03166117d9565b9650866001600160a01b0316636273f4dc8e8a602001518b60400151896040518563ffffffff1660e01b815260040161101d94939291906124a9565b5f604051808303815f87803b158015611034575f5ffd5b505af1158015611046573d5f5f3e3d5ffd5b505050505b6110c58d87898787878760405160240161106b97969594939291906124fd565b60408051601f198184030181529190526020810180516001600160e01b0316633140b25f60e21b1790526001600160a01b037f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3111690611870565b604080516002808252606082018352929c50919060208301908036833750505089526040518a906110f5906118f7565b6001600160a01b039091168152602001604051809103905ff08015801561111e573d5f5f3e3d5ffd5b50895180515f90611131576111316123d4565b60200260200101906001600160a01b031690816001600160a01b03168152505086895f0151600181518110611168576111686123d4565b6001600160a01b03928316602091820292909201015288515f97501694506111969350505050576007611199565b60065b60ff166001600160401b038111156111b3576111b3611c25565b6040519080825280602002602001820160405280156111ec57816020015b6111d96118c9565b8152602001906001900390816111d15790505b506040805160a08101909152909150805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3116001600160a01b0316631befc4056040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af91906123bd565b815250815f815181106112c4576112c46123d4565b60209081029190910101526040805160a08101909152805f8152602001896001600160a01b03168152602001866001600160a01b031681526020015f6001600160a01b031681526020017fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d81525081600181518110611345576113456123d4565b60209081029190910101526040805160a081019091528060028152602001866001600160a01b031681526020016001600160a01b0380168152602001855f01515f81518110611396576113966123d4565b60200260200101516001600160a01b031681526020017f00000000000000000000000005cb00f812dc6a235d8146eed0d42b24dae2a3116001600160a01b03166311ce24386040518163ffffffff1660e01b8152600401602060405180830381865afa158015611408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c91906123bd565b81525081600281518110611442576114426123d4565b60209081029190910101526040805160a08101909152805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f568cc693d84eb1901f8bcecba154cbdef23ca3cf67efc0a0b698528a06c660f7815250816003815181106114c3576114c36123d4565b60209081029190910101526040805160a08101909152805f8152602001866001600160a01b03168152602001896001600160a01b031681526020015f6001600160a01b031681526020017f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81525081600481518110611544576115446123d4565b60209081029190910101526040805160a08101909152805f81526001600160a01b03808816602083015260408201525f60608201527ff281525e53675515a6ba7cc7bea8a81e649b3608423ee2d73be1752cea8878896080909101528151829060059081106115b5576115b56123d4565b602090810291909101015282516001600160a01b0316611687575f826001600160a01b031663b2d2989c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163091906123bd565b6040805160a08101909152909150805f81526001600160a01b0380861660208301528b1660408201525f606082015260800182905282518390600690811061167a5761167a6123d4565b6020026020010181905250505b602084015250919590945092505050565b6116a06118c9565b6116cc60405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b604080516060808201835280825260208201525f91810191909152611700604080518082019091525f808252602082015290565b5f60608087806020019051810190611718919061280a565b959e949d50929b5090995097509550909350915050565b6040513060248201525f90819081906001600160a01b0385169060440160408051601f198184030181529181526020820180516001600160e01b03166370a0823160e01b1790525161178191906123a7565b5f60405180830381855afa9150503d805f81146117b9576040519150601f19603f3d011682016040523d82523d5f602084013e6117be565b606091505b50915091508180156117d1575080516020145b949350505050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b03811661186b5760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610ec6565b919050565b5f828260405161187f90611904565b61188a9291906128e0565b604051809103905ff0801580156118a3573d5f5f3e3d5ffd5b509392505050565b60405180606001604052806003906020820280368337509192915050565b6040805160a08101909152805f81525f60208201819052604082018190526060820181905260809091015290565b6105b68061290483390190565b6104a780612eba83390190565b5f60208284031215611921575f5ffd5b81356001600160e01b031981168114611938575f5ffd5b9392505050565b6001600160a01b0381168114611953575f5ffd5b50565b5f60208284031215611966575f5ffd5b81356119388161193f565b6060810181835f5b600381101561199b57815160ff16835260209283019290910190600101611979565b50505092915050565b5f606082840312156119b4575f5ffd5b50919050565b5f5f604083850312156119cb575f5ffd5b82356119d68161193f565b915060208301356001600160401b038111156119f0575f5ffd5b6119fc858286016119a4565b9150509250929050565b634e487b7160e01b5f52602160045260245ffd5b6003811061195357611953611a06565b5f8151611a3681611a1a565b8352506020818101516001600160a01b0390811691840191909152604080830151821690840152606080830151909116908301526080908101519082015260a00190565b602080825282518282018190525f918401906040840190835b81811015611ab757611aa6838551611a2a565b602094909401939250600101611a93565b509095945050505050565b5f5f5f60608486031215611ad4575f5ffd5b8335611adf8161193f565b9250602084013561ffff81168114611af5575f5ffd5b915060408401356001600160401b03811115611b0f575f5ffd5b611b1b868287016119a4565b9150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f8151808452602084019350602083015f5b82811015611b8c5781516001600160a01b0316865260209586019590910190600101611b65565b5093949350505050565b5f815160408452611baa6040850182611b53565b60208481015186830387830152805180845290820193505f92909101905b80831015611bee57611bdb828551611a2a565b9150602084019350600183019250611bc8565b5095945050505050565b604081525f611c0a6040830185611b25565b8281036020840152611c1c8185611b96565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715611c5b57611c5b611c25565b60405290565b604051606081016001600160401b0381118282101715611c5b57611c5b611c25565b604080519081016001600160401b0381118282101715611c5b57611c5b611c25565b604051601f8201601f191681016001600160401b0381118282101715611ccd57611ccd611c25565b604052919050565b60038110611953575f5ffd5b63ffffffff81168114611953575f5ffd5b6001600160401b0381168114611953575f5ffd5b5f60a08284031215611d16575f5ffd5b611d1e611c39565b90508135611d2b81611cd5565b81526020820135611d3b81611ce1565b60208201526040820135611d4e81611ce1565b60408201526060820135611d6181611cf2565b606082015260809182013591810191909152919050565b5f6001600160401b03821115611d9057611d90611c25565b50601f01601f191660200190565b5f82601f830112611dad575f5ffd5b8135602083015f611dc5611dc084611d78565b611ca5565b9050828152858383011115611dd8575f5ffd5b828260208301375f92810160200192909252509392505050565b5f60608284031215611e02575f5ffd5b611e0a611c61565b90508135611e178161193f565b815260208201356001600160401b03811115611e31575f5ffd5b611e3d84828501611d9e565b60208301525060408201356001600160401b03811115611e5b575f5ffd5b611e6784828501611d9e565b60408301525092915050565b5f6001600160401b03821115611e8b57611e8b611c25565b5060051b60200190565b5f82601f830112611ea4575f5ffd5b8135611eb2611dc082611e73565b8082825260208201915060208360051b860101925085831115611ed3575f5ffd5b602085015b83811015611bee578035611eeb8161193f565b835260209283019201611ed8565b8015158114611953575f5ffd5b803561186b81611ef9565b5f60608284031215611f21575f5ffd5b611f29611c61565b905081356001600160401b03811115611f40575f5ffd5b611f4c84828501611e95565b82525060208201356001600160401b03811115611f67575f5ffd5b8201601f81018413611f77575f5ffd5b8035611f85611dc082611e73565b8082825260208201915060208360051b850101925086831115611fa6575f5ffd5b6020840193505b82841015611fc8578335825260209384019390910190611fad565b602085015250611fdd91505060408301611f06565b604082015292915050565b60028110611953575f5ffd5b5f60408284031215612004575f5ffd5b61200c611c83565b905081356120198161193f565b8152602082013561202981611fe8565b602082015292915050565b5f5f5f5f5f5f5f610180888a03121561204b575f5ffd5b6120558989611d06565b965060a08801356001600160401b0381111561206f575f5ffd5b61207b8a828b01611df2565b96505060c08801356001600160401b03811115612096575f5ffd5b6120a28a828b01611f11565b9550506120b28960e08a01611ff4565b935061012088013592506101408801356001600160401b038111156120d5575f5ffd5b6120e18a828b01611d9e565b9250506101608801356001600160401b038111156120fd575f5ffd5b6121098a828b01611e95565b91505092959891949750929550565b602081525f6119386020830184611b25565b5f5f5f6040848603121561213c575f5ffd5b83356121478161193f565b925060208401356001600160401b03811115612161575f5ffd5b8401601f81018613612171575f5ffd5b80356001600160401b03811115612186575f5ffd5b866020828401011115612197575f5ffd5b939660209190910195509293505050565b6001600160a01b03831681526040602082018190525f906117d190830184611b96565b5f602082840312156121db575f5ffd5b81356001600160401b038111156121f0575f5ffd5b6117d184828501611d9e565b805161220781611a1a565b8083525063ffffffff602082015116602083015263ffffffff60408201511660408301526001600160401b036060820151166060830152608081015160808301525050565b5f8151606084526122606060850182611b53565b60208481015186830387830152805180845290820193505f92909101905b808310156122a1578351825260208201915060208401935060018301925061227e565b5060408501511515604087015280935050505092915050565b80516001600160a01b031682526020810151600281106122dc576122dc611a06565b806020840152505050565b6122f181896121fc565b61018060a0820181905287516001600160a01b031690820152602087015160606101a08301525f906123276101e0840182611b25565b9050604089015161017f19848303016101c08501526123468282611b25565b91505082810360c084015261235b818961224c565b905061236a60e08401886122ba565b856101208401528281036101408401526123848186611b25565b90508281036101608401526123998185611b53565b9a9950505050505050505050565b5f82518060208501845e5f920191825250919050565b5f602082840312156123cd575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e198436030181126123fd575f5ffd5b8301803591506001600160401b03821115612416575f5ffd5b60200191503681900382131561242a575f5ffd5b9250929050565b61ffff8416815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b6001600160a01b03841681526060602082018190525f9061248d90830185611b25565b828103604084015261249f8185611b25565b9695505050505050565b6001600160a01b03851681526080602082018190525f906124cc90830186611b25565b82810360408401526124de8186611b25565b905082810360608401526124f2818561224c565b979650505050505050565b6001600160a01b038816815261251660208201886121fc565b6001600160a01b03861660c082015261253260e08201866122ba565b836101208201526101806101408201525f612551610180830185611b25565b8281036101608401526123998185611b53565b5f60a08284031215612574575f5ffd5b61257c611c39565b9050815161258981611cd5565b8152602082015161259981611ce1565b602082015260408201516125ac81611ce1565b604082015260608201516125bf81611cf2565b606082015260809182015191810191909152919050565b5f82601f8301126125e5575f5ffd5b8151602083015f6125f8611dc084611d78565b905082815285838301111561260b575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f60608284031215612635575f5ffd5b61263d611c61565b9050815161264a8161193f565b815260208201516001600160401b03811115612664575f5ffd5b612670848285016125d6565b60208301525060408201516001600160401b0381111561268e575f5ffd5b611e67848285016125d6565b5f82601f8301126126a9575f5ffd5b81516126b7611dc082611e73565b8082825260208201915060208360051b8601019250858311156126d8575f5ffd5b602085015b83811015611bee5780516126f08161193f565b8352602092830192016126dd565b805161186b81611ef9565b5f60608284031215612719575f5ffd5b612721611c61565b905081516001600160401b03811115612738575f5ffd5b6127448482850161269a565b82525060208201516001600160401b0381111561275f575f5ffd5b8201601f8101841361276f575f5ffd5b805161277d611dc082611e73565b8082825260208201915060208360051b85010192508683111561279e575f5ffd5b6020840193505b828410156127c05783518252602093840193909101906127a5565b602085015250611fdd915050604083016126fe565b5f604082840312156127e5575f5ffd5b6127ed611c83565b905081516127fa8161193f565b8152602082015161202981611fe8565b5f5f5f5f5f5f5f610180888a031215612821575f5ffd5b61282b8989612564565b965060a08801516001600160401b03811115612845575f5ffd5b6128518a828b01612625565b96505060c08801516001600160401b0381111561286c575f5ffd5b6128788a828b01612709565b9550506128888960e08a016127d5565b6101208901516101408a015191955093506001600160401b038111156128ac575f5ffd5b6128b88a828b016125d6565b9250506101608801516001600160401b038111156128d4575f5ffd5b6121098a828b0161269a565b6001600160a01b03831681526040602082018190525f906117d190830184611b2556fe60c060405234801561000f575f5ffd5b506040516105b63803806105b683398101604081905261002e916100c3565b6001600160a01b03811660808190526040805163e28c3b1960e01b8152905163e28c3b19916004808201926020929091908290030181865afa158015610076573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009a91906100c3565b6001600160a01b031660a052506100e5565b6001600160a01b03811681146100c0575f5ffd5b50565b5f602082840312156100d3575f5ffd5b81516100de816100ac565b9392505050565b60805160a0516104aa61010c5f395f61023b01525f818160e7015261017001526104aa5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806301ffc9a7146100435780632675fdd01461006b5780632ae9c6001461007e575b5f5ffd5b61005661005136600461030e565b610093565b60405190151581526020015b60405180910390f35b610056610079366004610357565b6100e3565b6100866102c7565b60405161006291906103ec565b5f6001600160e01b031982166302675fdd60e41b14806100c257506001600160e01b03198216621574e360e91b145b806100dd57506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f60046b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610141573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610165919061041f565b905080156102b8575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663029dc4396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee9190610436565b15610205576101fe600142610455565b9050610213565b610210600143610455565b90505b604051630748d63560e31b81526001600160a01b0388811660048301526024820183905283917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa158015610282573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a6919061041f565b10156102b6575f925050506102be565b505b60019150505b95945050505050565b6102cf6102f0565b506040805160608101825260018152600460208201525f9181019190915290565b60405180606001604052806003906020820280368337509192915050565b5f6020828403121561031e575f5ffd5b81356001600160e01b031981168114610335575f5ffd5b9392505050565b80356001600160a01b0381168114610352575f5ffd5b919050565b5f5f5f5f5f6080868803121561036b575f5ffd5b6103748661033c565b94506103826020870161033c565b935060408601359250606086013567ffffffffffffffff8111156103a4575f5ffd5b8601601f810188136103b4575f5ffd5b803567ffffffffffffffff8111156103ca575f5ffd5b8860208284010111156103db575f5ffd5b959894975092955050506020019190565b6060810181835f5b600381101561041657815160ff168352602092830192909101906001016103f4565b50505092915050565b5f6020828403121561042f575f5ffd5b5051919050565b5f60208284031215610446575f5ffd5b81518015158114610335575f5ffd5b818103818111156100dd57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220454788e6ee890a91f7df3078dc4a318a4213f82b8d64cb48d752df4b397ec00964736f6c634300081c003360806040526040516104a73803806104a7833981016040819052610022916102b0565b61002d82825f610034565b50506103ca565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c383836040518060600160405280602781526020016104806027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f856001600160a01b031685604051610199919061037f565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b81526004016101339190610395565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156102c1575f5ffd5b82516001600160a01b03811681146102d7575f5ffd5b60208401519092506001600160401b038111156102f2575f5ffd5b8301601f81018513610302575f5ffd5b80516001600160401b0381111561031b5761031b61029c565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103495761034961029c565b604052818152828201602001871015610360575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60aa806103d65f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212204eccca71a994075912ed78d5d9f5ac2cdd66fe4ef112d0066687ba5abfedc0d564736f6c634300081c0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a65b2aab508824e7e547f99efa94662de2b88a2319814b7a8438e0579717fbef64736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f5550fdd549a04b782229acc51bcf229527fb8a80000000000000000000000007432045e71368d66f91fdcc3e67a799347fa4167

-----Decoded View---------------
Arg [0] : _governanceERC20Base (address): 0xF5550FdD549a04b782229acc51bCF229527Fb8a8
Arg [1] : _governanceWrappedERC20Base (address): 0x7432045E71368d66f91fdcC3E67a799347FA4167

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f5550fdd549a04b782229acc51bcf229527fb8a8
Arg [1] : 0000000000000000000000007432045e71368d66f91fdcc3e67a799347fa4167

🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

Custom Contract ABI

                            

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x8F44e6E0eA7cbfa2964213C704103e2384FCd33f

DeFi

0 Protocols
Loading...
Loading
Protocol Positions Portfolio % Value

There are no matching entries

Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.