0 txs
90 calls
constructor
constructor()
functions
ATOKEN
viewfunction ATOKEN() view returns (bytes32)
BAD_DEBT_MANAGER
viewfunction BAD_DEBT_MANAGER() view returns (bytes32)
DATA_PROVIDER
viewfunction DATA_PROVIDER() view returns (bytes32)
emergencyAdmin
viewfunction emergencyAdmin() view returns (address)
getAddressProviderByMarketId
viewfunction getAddressProviderByMarketId(string marketId_) view returns (address)
getAddressProvidersList
viewfunction getAddressProvidersList() view returns (address[])
implementations
viewfunction implementations(bytes32) view returns (address)
INTEREST_RATE_STRATEGY
viewfunction INTEREST_RATE_STRATEGY() view returns (bytes32)
isLendingPoolValid
viewfunction isLendingPoolValid(address pool) view returns (bool)
LENDING_POOL_ADDRESSES_PROVIDER
viewfunction LENDING_POOL_ADDRESSES_PROVIDER() view returns (bytes32)
LENDING_POOL_COLLATERAL_MANAGER
viewfunction LENDING_POOL_COLLATERAL_MANAGER() view returns (bytes32)
LENDING_POOL_CONFIGURATOR
viewfunction LENDING_POOL_CONFIGURATOR() view returns (bytes32)
LENDING_POOL
viewfunction LENDING_POOL() view returns (bytes32)
LEVERAGER
viewfunction LEVERAGER() view returns (bytes32)
oracle
viewfunction oracle() view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
STABLE_DEBT_TOKEN
viewfunction STABLE_DEBT_TOKEN() view returns (bytes32)
treasury
viewfunction treasury() view returns (address)
VARIABLE_DEBT_TOKEN
viewfunction VARIABLE_DEBT_TOKEN() view returns (bytes32)
wEthGateway
viewfunction wEthGateway() view returns (address)
activateReserve
nonpayablefunction activateReserve(address lendingPoolAddressesProvider, address asset)
addPool
nonpayablefunction addPool(string marketId_, address proxyAdmin)
configureReserveAsCollateral
nonpayablefunction configureReserveAsCollateral(address asset, address lendingPoolAddressesProvider, uint256 ltv, uint256 liquidationThreshold, uint256 liquidationBonus)
deactivateReserve
nonpayablefunction deactivateReserve(address lendingPoolAddressesProvider, address asset)
disableBorrowingOnReserve
nonpayablefunction disableBorrowingOnReserve(address lendingPoolAddressesProvider, address asset)
emergencyEtherTransferFromGateway
nonpayablefunction emergencyEtherTransferFromGateway(address to, uint256 amount)
emergencyTokenTransferFromGateway
nonpayablefunction emergencyTokenTransferFromGateway(address token, address to, uint256 amount)
enableBorrowingOnReserve
nonpayablefunction enableBorrowingOnReserve(address lendingPoolAddressesProvider, address asset, bool stableBorrowRateEnabled)
freezeReserve
nonpayablefunction freezeReserve(address lendingPoolAddressesProvider, address asset)
initialize
nonpayablefunction initialize()
initReserve
nonpayablefunction initReserve(address lendingPoolAddressesProvider, tuple[] input, uint256[] initAmounts)
renounceOwnership
nonpayablefunction renounceOwnership()
setAddresses
nonpayablefunction setAddresses(bytes32 implId, address newAddress, bool notifyAllProviders)
setBorrowCaps
nonpayablefunction setBorrowCaps(address addressProvider, address[] assets, uint256[] borrowCaps)
setEmergencyAdmin
nonpayablefunction setEmergencyAdmin(address newEmergencyAdmin)
setImplementation
nonpayablefunction setImplementation(bytes32 implId, address implAddress, bool notifyAllProviders)
setLeverager
nonpayablefunction setLeverager(address lendingPoolAddressesProvider, address leverager)
setLiquidationFeeTo
nonpayablefunction setLiquidationFeeTo(address lendingPoolAddressesProvider, address liquidationFeeTo)
setMarketId
nonpayablefunction setMarketId(address addressProvider, string marketId_)
setOracle
nonpayablefunction setOracle(address oracle_)
setOracleRouter
nonpayablefunction setOracleRouter(address lendingPoolAddressesProvider, address oracleRouter)
setReserveFactor
nonpayablefunction setReserveFactor(address lendingPoolAddressesProvider, address asset, uint256 reserveFactor)
setReserveInterestRateStrategyAddress
nonpayablefunction setReserveInterestRateStrategyAddress(address lendingPoolAddressesProvider, address asset, address rateStrategyAddress)
setRizRegistry
nonpayablefunction setRizRegistry(address lendingPoolAddressesProvider)
setSupplyCaps
nonpayablefunction setSupplyCaps(address addressProvider, address[] assets, uint256[] supplyCaps)
setTreasury
nonpayablefunction setTreasury(address treasury_)
setTreasuryAddress
nonpayablefunction setTreasuryAddress(address rzTokenAddr, address newTreasury)
setWethGateway
nonpayablefunction setWethGateway(address wethGateway_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unfreezeReserve
nonpayablefunction unfreezeReserve(address lendingPoolAddressesProvider, address asset)
updateAToken
nonpayablefunction updateAToken(address addressProvider, tuple[] input)
updateLendingPoolStatus
nonpayablefunction updateLendingPoolStatus(address addressProvider, bool status)
updateVariableToken
nonpayablefunction updateVariableToken(address addressProvider, tuple[] input)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AddressSet
event AddressSet(bytes32 indexed id, address addressProvider)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
BorrowingDisabledOnReserve
event BorrowingDisabledOnReserve(address addressProvider, address asset)
CollateralConfigurationChanged
event CollateralConfigurationChanged(address lendingPoolAddressesProvider, address asset, uint256 ltv, uint256 liquidationThreshold, uint256 liquidationBonus)
EmergencyAdminSet
event EmergencyAdminSet(address newEmergencyAdmin)
EnabledBorrowingOnReserve
event EnabledBorrowingOnReserve(address addressProvider, address asset, bool stableBorrowRateEnabled)
ImplementationSet
event ImplementationSet(bytes32 indexed id, address implementation, address addressProvider)
ImplementationSet
event ImplementationSet(bytes32 indexed id, address implementation)
Initialized
event Initialized(uint8 version)
LendingPoolToggled
event LendingPoolToggled(address lendingPool, bool enabled)
LiquidationFeeUpdated
event LiquidationFeeUpdated(address addressProvider, address liquidationFeeTo)
OracleRouterSet
event OracleRouterSet(address addressProvider, address oracleRouter)
OracleSet
event OracleSet(address newOracle)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolRegistered
event PoolRegistered(address addressProvider, string marketId)
ReserveActivated
event ReserveActivated(address lendingPoolAddressesProvider, address asset)
ReserveDeactivated
event ReserveDeactivated(address lendingPoolAddressesProvider, address asset)
ReserveFactorChanged
event ReserveFactorChanged(address lendingPoolAddressesProvider, address asset, uint256 reserveFactor)
ReserveFrozen
event ReserveFrozen(address lendingPoolAddressesProvider, address asset)
ReserveInterestRateStrategyChanged
event ReserveInterestRateStrategyChanged(address lendingPoolAddressesProvider, address asset, address rateStrategyAddress)
ReserveUnfrozen
event ReserveUnfrozen(address lendingPoolAddressesProvider, address asset)
StableRateDisabledOnReserve
event StableRateDisabledOnReserve(address lendingPoolAddressesProvider, address asset)
StableRateEnabledOnReserve
event StableRateEnabledOnReserve(address lendingPoolAddressesProvider, address asset)
TreasuryAddressUpdated
event TreasuryAddressUpdated(address newTreasury)
TreasurySet
event TreasurySet(address newTreasury)
Upgraded
event Upgraded(address indexed implementation)
WethGatewaySet
event WethGatewaySet(address wethGateway)
errors
AddressZero
error AddressZero()
InvalidId
error InvalidId(bytes32 id)
InvalidLendingPool
error InvalidLendingPool()
InvalidLength
error InvalidLength()
NoAddressProvider
error NoAddressProvider()
NotAContract
error NotAContract()
NotLPConfigurator
error NotLPConfigurator()
PoolRegisteredAlready
error PoolRegisteredAlready()
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051615cee6200011f6000396000818161120401528181611250015281816116200152818161166301526118040152615cee6000f3fe608060405260043610620002e75760003560e01c80637adbf9731162000185578063c786438711620000d8578063c78643871462000922578063cf6d517e1462000947578063d17d49a5146200096c578063d520e5251462000991578063d902d53214620009b6578063ec799c9314620009db578063f0f442601462000a00578063f2fde38b1462000a25578063f35470b81462000a4a578063f609b48a1462000a6f578063fa8775ec1462000a94578063fcd40bd31462000ab9578063fe85eb6c1462000ade578063ff482ea91462000b0d57600080fd5b80637adbf97314620007305780637dc0d1d014620007555780637ddc68521462000777578063803413f1146200079c5780638129fc1c14620007c15780638498910d14620007d95780638da5cb5b14620007fe578063b4dcfc771462000816578063bf81672f146200083b578063c396cbf41462000860578063c421d4db1462000886578063c44bdcd614620008ab578063c4ea1e0d14620008d0578063c5808d2014620008f757600080fd5b806346dc9993116200023e57806346dc9993146200055c5780634782a367146200057e57806348fca5a614620005a35780634f1ef28614620005c85780634f43a20014620005df57806351c0e061146200060457806352d1902d146200062357806357661a45146200063b5780635eca0d66146200066057806361d027b3146200068557806370905dce14620006a7578063715018a614620006c957806373329c0d14620006e157806373eb085e146200070657600080fd5b806301b0921714620002ec57806302cfeaca146200032457806306eefdf4146200036d5780630840871814620003925780630c9e779814620003b4578063179474b5146200040257806318ce73e7146200042e57806318e132791462000455578063193cb86f146200047a5780632837fd40146200049f5780632b26d56b14620004c857806335da339414620004ed5780633659cfe614620005125780634567bff61462000537575b600080fd5b348015620002f957600080fd5b506200031160008051602062005c7983398151915281565b6040519081526020015b60405180910390f35b3480156200033157600080fd5b506200035e62000343366004620047ba565b60c9602052600090815260409020546001600160a01b031681565b6040516200031b9190620047e1565b3480156200037a57600080fd5b506200031160008051602062005c9983398151915281565b3480156200039f57600080fd5b5062000311682622ab22a920a3a2a960b91b81565b348015620003c157600080fd5b50620003f1620003d336600462004818565b6001600160a01b0316600090815260cb602052604090205460ff1690565b60405190151581526020016200031b565b3480156200040f57600080fd5b5062000311722b20a924a0a12622afa222a12a2faa27a5a2a760691b81565b3480156200043b57600080fd5b50620004536200044d36600462004838565b62000b32565b005b3480156200046257600080fd5b50620004536200047436600462004838565b62000cb7565b3480156200048757600080fd5b50620004536200049936600462004876565b62000e2e565b348015620004ac57600080fd5b50620003116f2120a22fa222a12a2fa6a0a720a3a2a960811b81565b348015620004d557600080fd5b5062000453620004e73660046200490a565b62000fb8565b348015620004fa57600080fd5b50620004536200050c36600462004818565b620010f6565b3480156200051f57600080fd5b50620004536200053136600462004818565b620011f9565b3480156200054457600080fd5b506200035e6200055636600462004a80565b620012d7565b3480156200056957600080fd5b5060d1546200035e906001600160a01b031681565b3480156200058b57600080fd5b50620004536200059d36600462004838565b6200130a565b348015620005b057600080fd5b5062000453620005c236600462004ab8565b62001481565b62000453620005d936600462004b0a565b62001615565b348015620005ec57600080fd5b5062000453620005fe36600462004b5f565b620016db565b3480156200061157600080fd5b50620003116520aa27a5a2a760d11b81565b3480156200063057600080fd5b5062000311620017f7565b3480156200064857600080fd5b50620004536200065a36600462004bb9565b620018a8565b3480156200066d57600080fd5b50620004536200067f36600462004c1e565b62001a5f565b3480156200069257600080fd5b5060cf546200035e906001600160a01b031681565b348015620006b457600080fd5b5060ce546200035e906001600160a01b031681565b348015620006d657600080fd5b506200045362001c57565b348015620006ee57600080fd5b50620004536200070036600462004838565b62001c6f565b3480156200071357600080fd5b50620003117029aa20a12622afa222a12a2faa27a5a2a760791b81565b3480156200073d57600080fd5b50620004536200074f36600462004818565b62001d7a565b3480156200076257600080fd5b5060d0546200035e906001600160a01b031681565b3480156200078457600080fd5b5062000453620007963660046200490a565b62001e24565b348015620007a957600080fd5b5062000453620007bb36600462004838565b62001f59565b348015620007ce57600080fd5b506200045362002032565b348015620007e657600080fd5b5062000453620007f836600462004c1e565b62002159565b3480156200080b57600080fd5b506200035e62002343565b3480156200082357600080fd5b50620003116b13115391125391d7d413d3d360a21b81565b3480156200084857600080fd5b50620004536200085a36600462004838565b62002352565b3480156200086d57600080fd5b50620003116c2220aa20afa82927ab24a222a960991b81565b3480156200089357600080fd5b5062000453620008a536600462004818565b620024c9565b348015620008b857600080fd5b5062000453620008ca36600462004818565b62002568565b348015620008dd57600080fd5b50620008e8620025d0565b6040516200031b919062004c5a565b3480156200090457600080fd5b50620003117121a7a62620aa22a920a62fa6a0a720a3a2a960711b81565b3480156200092f57600080fd5b50620004536200094136600462004838565b62002634565b3480156200095457600080fd5b50620004536200096636600462004d54565b620027ab565b3480156200097957600080fd5b50620004536200098b36600462005055565b62002b5c565b3480156200099e57600080fd5b5062000453620009b03660046200508a565b62002cf0565b348015620009c357600080fd5b5062000453620009d536600462004838565b62003644565b348015620009e857600080fd5b5062000453620009fa36600462004876565b620036b4565b34801562000a0d57600080fd5b506200045362000a1f36600462004818565b62003724565b34801562000a3257600080fd5b506200045362000a4436600462004818565b6200380f565b34801562000a5757600080fd5b506200045362000a69366004620050d6565b6200388b565b34801562000a7c57600080fd5b506200045362000a8e36600462004b5f565b620038c9565b34801562000aa157600080fd5b506200045362000ab336600462004838565b620039de565b34801562000ac657600080fd5b506200045362000ad836600462004b0a565b62003b21565b34801562000aeb57600080fd5b506200031175494e5445524553545f524154455f535452415445475960501b81565b34801562000b1a57600080fd5b506200045362000b2c36600462005105565b62003c0d565b62000b3c62003e2e565b62000b50816001600160a01b031662003e91565b62000b6e576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff1662000ba857604051630b545d5160e31b815260040160405180910390fd5b6000826001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000be9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c0f919062005138565b60405163a8dc0f4560e01b815290915081906001600160a01b0382169063a8dc0f459062000c42908690600401620047e1565b600060405180830381600087803b15801562000c5d57600080fd5b505af115801562000c72573d6000803e3d6000fd5b505050507fd180edf49e76d1930bf01e0ac6fc119111ba31227d270ae74b74d3a63e166bc2848460405162000ca992919062005158565b60405180910390a150505050565b62000cc162003e2e565b62000cd5816001600160a01b031662003e91565b62000cf3576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff1662000d2d57604051630b545d5160e31b815260040160405180910390fd5b6000826001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000d6e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d94919062005138565b604051637aca76eb60e01b815290915081906001600160a01b03821690637aca76eb9062000dc7908690600401620047e1565b600060405180830381600087803b15801562000de257600080fd5b505af115801562000df7573d6000803e3d6000fd5b505050507faa0564f1bbe1c5ae053fcfdad6d5c9541023645e4d913ec5e0ac8263835c5ed4848460405162000ca992919062005158565b62000e3862003e2e565b62000e4c826001600160a01b031662003e91565b62000e6a576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038316600090815260ca602052604090205460ff1662000ea457604051630b545d5160e31b815260040160405180910390fd5b6000836001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f0b919062005138565b604051634b4e675360e01b815290915081906001600160a01b03821690634b4e67539062000f40908790879060040162005172565b600060405180830381600087803b15801562000f5b57600080fd5b505af115801562000f70573d6000803e3d6000fd5b505050507fd419ecfe23e7f7d637fd02fed5188a636a3fa02260ed9cc6a82660cd660f542a85858560405162000fa9939291906200518b565b60405180910390a15050505050565b62000fc262003e2e565b6000856001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001003573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001029919062005138565b905060005b84811015620010ed57816001600160a01b031663571f03e58787848181106200105b576200105b620051af565b905060200201602081019062001072919062004818565b868685818110620010875762001087620051af565b905060200201356040518363ffffffff1660e01b8152600401620010ad92919062005172565b600060405180830381600087803b158015620010c857600080fd5b505af1158015620010dd573d6000803e3d6000fd5b505050508060010190506200102e565b50505050505050565b6200110062003e2e565b60ce80546001600160a01b0319166001600160a01b03831617905560cd5460005b81811015620011bb5760cd8181548110620011405762001140620051af565b600091825260209091200154604051630d768ce560e21b81526001600160a01b03909116906335da3394906200117b908690600401620047e1565b600060405180830381600087803b1580156200119657600080fd5b505af1158015620011ab573d6000803e3d6000fd5b5050505080600101905062001121565b507f0ac62e32eb89f41a00a732a8404fe496bce591755fcb1265fbdbfb6e66e65e7e82604051620011ed9190620047e1565b60405180910390a15050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156200124e5760405162461bcd60e51b81526004016200124590620051c5565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200128262003ea0565b6001600160a01b031614620012ab5760405162461bcd60e51b8152600401620012459062005211565b620012b68162003ebd565b60408051600080825260208201909252620012d49183919062003ec7565b50565b600060cc82604051620012eb91906200528c565b908152604051908190036020019020546001600160a01b031692915050565b6200131462003e2e565b62001328816001600160a01b031662003e91565b62001346576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff166200138057604051630b545d5160e31b815260040160405180910390fd5b6000826001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e7919062005138565b60405163ef1f937360e01b815290915081906001600160a01b0382169063ef1f9373906200141a908690600401620047e1565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b505050507f9302d19411195b13f50bed82adeff50dd4e451e2e68988d08b7aebe03dc953a0848460405162000ca992919062005158565b6200148b62003e2e565b6200149f826001600160a01b031662003e91565b620014bd576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038316600090815260ca602052604090205460ff16620014f757604051630b545d5160e31b815260040160405180910390fd5b6000836001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001538573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200155e919062005138565b604051631d2118f960e01b815290915081906001600160a01b03821690631d2118f99062001593908790879060040162005158565b600060405180830381600087803b158015620015ae57600080fd5b505af1158015620015c3573d6000803e3d6000fd5b5050604080516001600160a01b03808a16825280891660208301528716918101919091527fdb8dada53709ce4988154324196790c2e4a60c377e1256790946f83b87db3c339250606001905062000fa9565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415620016615760405162461bcd60e51b81526004016200124590620051c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200169562003ea0565b6001600160a01b031614620016be5760405162461bcd60e51b8152600401620012459062005211565b620016c98262003ebd565b620016d78282600162003ec7565b5050565b620016e562003e2e565b6000836001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001726573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200174c919062005138565b905060005b82811015620017f057816001600160a01b031663bb01c37c8585848181106200177e576200177e620051af565b9050602002810190620017929190620052aa565b6040518263ffffffff1660e01b8152600401620017b0919062005332565b600060405180830381600087803b158015620017cb57600080fd5b505af1158015620017e0573d6000803e3d6000fd5b5050505080600101905062001751565b5050505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620018945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162001245565b5060008051602062005c3283398151915290565b620018b262003e2e565b620018c6856001600160a01b031662003e91565b620018e4576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038416600090815260ca602052604090205460ff166200191e57604051630b545d5160e31b815260040160405180910390fd5b6000846001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200195f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001985919062005138565b604051637c4e560b60e01b81526001600160a01b0388811660048301526024820187905260448201869052606482018590529192508291821690637c4e560b90608401600060405180830381600087803b158015620019e357600080fd5b505af1158015620019f8573d6000803e3d6000fd5b5050604080516001600160a01b03808b1682528b16602082015290810188905260608101879052608081018690527ff7250d7fa1553e7c64c06e9f4b255d3f604a82305f7de00a6c558dbfcb577471925060a001905060405180910390a150505050505050565b62001a6962003e2e565b62001a7d826001600160a01b031662003e91565b62001a9b576040516309ee12d560e01b815260040160405180910390fd5b600083815260c96020526040902080546001600160a01b0319166001600160a01b038416179055801562001c175760cd5460005b81811015620017f05760ca600060cd838154811062001af25762001af2620051af565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff161562001c0e5760cd818154811062001b365762001b36620051af565b60009182526020909120015460405163ca446dd960e01b81526001600160a01b039091169063ca446dd99062001b73908890889060040162005431565b600060405180830381600087803b15801562001b8e57600080fd5b505af115801562001ba3573d6000803e3d6000fd5b50505050847f0c0b3b0ed41de4d943ac5a807c962e6941485dca4a4e18f4e6304e91b43ddc578560cd848154811062001be05762001be0620051af565b60009182526020909120015460405162001c0592916001600160a01b03169062005158565b60405180910390a25b60010162001acf565b827fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6918360405162001c499190620047e1565b60405180910390a25b505050565b62001c6162003e2e565b62001c6d60006200403f565b565b62001c7962003e2e565b62001c8d816001600160a01b031662003e91565b62001cab576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff1662001ce557604051630b545d5160e31b815260040160405180910390fd5b60405163530e784f60e01b81526001600160a01b0383169063530e784f9062001d13908490600401620047e1565b600060405180830381600087803b15801562001d2e57600080fd5b505af115801562001d43573d6000803e3d6000fd5b505050507f6a71a07f1a715b6fbff14836eeb0718eb9e6268b4f8c9dc5e089da860aaa9e948282604051620011ed92919062005158565b62001d8462003e2e565b62001d98816001600160a01b031662003e91565b62001db6576040516309ee12d560e01b815260040160405180910390fd5b60d0546001600160a01b03828116911614620012d45760d080546001600160a01b0319166001600160a01b0383161790556040517f3f32684a32a11dabdbb8c0177de80aa3ae36a004d75210335b49e544e48cd0aa9062001e19908390620047e1565b60405180910390a150565b62001e2e62003e2e565b6000856001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001e6f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e95919062005138565b905060005b84811015620010ed57816001600160a01b031663d14a098387878481811062001ec75762001ec7620051af565b905060200201602081019062001ede919062004818565b86868581811062001ef35762001ef3620051af565b905060200201356040518363ffffffff1660e01b815260040162001f1992919062005172565b600060405180830381600087803b15801562001f3457600080fd5b505af115801562001f49573d6000803e3d6000fd5b5050505080600101905062001e9a565b62001f6362003e2e565b6001600160a01b038216600090815260ca602052604090205460ff1662001f9d57604051630b545d5160e31b815260040160405180910390fd5b604051633885aad160e21b81526001600160a01b0383169063e216ab449062001fcb908490600401620047e1565b600060405180830381600087803b15801562001fe657600080fd5b505af115801562001ffb573d6000803e3d6000fd5b505050507fa60aeffd927777af11321d0ed2a6f234c2f7c6801adbf200d969310d7c7f70248282604051620011ed92919062005158565b600054610100900460ff1615808015620020535750600054600160ff909116105b80620020785750620020653062003e91565b15801562002078575060005460ff166001145b620020dd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162001245565b6000805460ff19166001179055801562002101576000805461ff0019166101001790555b6200210b62004091565b62002115620040c5565b8015620012d4576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001e19565b6200216362003e2e565b62002177826001600160a01b031662003e91565b62002195576040516309ee12d560e01b815260040160405180910390fd5b600083815260c96020526040902080546001600160a01b0319166001600160a01b0384161790558015620023115760cd5460005b81811015620017f05760ca600060cd8381548110620021ec57620021ec620051af565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615620023085760cd8181548110620022305762002230620051af565b60009182526020909120015460405163177314a360e21b81526001600160a01b0390911690635dcc528c906200226d908890889060040162005431565b600060405180830381600087803b1580156200228857600080fd5b505af11580156200229d573d6000803e3d6000fd5b50505050847f0c0b3b0ed41de4d943ac5a807c962e6941485dca4a4e18f4e6304e91b43ddc578560cd8481548110620022da57620022da620051af565b600091825260209091200154604051620022ff92916001600160a01b03169062005158565b60405180910390a25b600101620021c9565b827f4b4ee1a8c5ce94bc0300190d8e5d93808c513dbac15879dc51c1b5a3f73ae6a88360405162001c499190620047e1565b6033546001600160a01b031690565b6200235c62003e2e565b62002370816001600160a01b031662003e91565b6200238e576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff16620023c857604051630b545d5160e31b815260040160405180910390fd5b6000826001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002409573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200242f919062005138565b604051632dd75bcd60e21b815290915081906001600160a01b0382169063b75d6f349062002462908690600401620047e1565b600060405180830381600087803b1580156200247d57600080fd5b505af115801562002492573d6000803e3d6000fd5b505050507ff1a5c4e47b830a9d7c983c94859173c4cd74d8ae595d616437773caa45deef54848460405162000ca992919062005158565b620024d362003e2e565b620024e7816001600160a01b031662003e91565b62002505576040516309ee12d560e01b815260040160405180910390fd5b60d1546001600160a01b03828116911614620012d45760d180546001600160a01b0319166001600160a01b0383161790556040517f173c729ce1985d8eff8ea7773642089208181222a3b95abb2b1e5a6edef55c529062001e19908390620047e1565b6200257262003e2e565b604051636225ee6b60e11b81526001600160a01b0382169063c44bdcd690620025a0903090600401620047e1565b600060405180830381600087803b158015620025bb57600080fd5b505af1158015620017f0573d6000803e3d6000fd5b606060cd8054806020026020016040519081016040528092919081815260200182805480156200262a57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200260b575b5050505050905090565b6200263e62003e2e565b62002652816001600160a01b031662003e91565b62002670576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038216600090815260ca602052604090205460ff16620026aa57604051630b545d5160e31b815260040160405180910390fd5b6000826001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620026eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002711919062005138565b604051630f9ca91560e21b815290915081906001600160a01b03821690633e72a4549062002744908690600401620047e1565b600060405180830381600087803b1580156200275f57600080fd5b505af115801562002774573d6000803e3d6000fd5b505050507fbb5273e3e92cfd978c4bf6b725e4745803510a55c5db48f41699a93c7f5ba238848460405162000ca992919062005158565b620027b562003e2e565b6001600160a01b038316600090815260ca602052604090205460ff16620027ef57604051630b545d5160e31b815260040160405180910390fd5b815181518114620028135760405163251f56a160e21b815260040160405180910390fd5b60005b818110156200287a5762002853848281518110620028385762002838620051af565b602002602001015160a001516001600160a01b031662003e91565b62002871576040516309ee12d560e01b815260040160405180910390fd5b60010162002816565b506000846001600160a01b0316630261bf8b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620028bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028e2919062005138565b90506000856001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200294b919062005138565b6040516355b230c360e11b81529091506001600160a01b0382169063ab646186906200297c90889060040162005476565b600060405180830381600087803b1580156200299757600080fd5b505af1158015620029ac573d6000803e3d6000fd5b5050505060005b83811015620010ed576000868281518110620029d357620029d3620051af565b602002602001015160a00151905062002a1f3330888581518110620029fc57620029fc620051af565b6020026020010151846001600160a01b0316620040ef909392919063ffffffff16565b806001600160a01b031663095ea7b38588858151811062002a445762002a44620051af565b60200260200101516040518363ffffffff1660e01b815260040162002a6b92919062005172565b6020604051808303816000875af115801562002a8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ab191906200566a565b50836001600160a01b031663e8eda9df8288858151811062002ad75762002ad7620051af565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015233604482015260006064820152608401600060405180830381600087803b15801562002b3657600080fd5b505af115801562002b4b573d6000803e3d6000fd5b5050505081600101915050620029b3565b62002b6662003e2e565b62002b7a826001600160a01b031662003e91565b62002b98576040516309ee12d560e01b815260040160405180910390fd5b6001600160a01b038316600090815260ca602052604090205460ff1662002bd257604051630b545d5160e31b815260040160405180910390fd5b6000836001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002c13573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002c39919062005138565b60405163eede87c160e01b815290915081906001600160a01b0382169063eede87c19062002c6e90879087906004016200568a565b600060405180830381600087803b15801562002c8957600080fd5b505af115801562002c9e573d6000803e3d6000fd5b5050604080516001600160a01b03808a16825288166020820152861515918101919091527f43b7e079caa1f7103f174012ae07aa68d28a19e89cf8d4f11929557351ee8fb59250606001905062000fa9565b62002cfa62003e2e565b8151158062002d3d575060006001600160a01b031660cc8360405162002d2191906200528c565b908152604051908190036020019020546001600160a01b031614155b8062002d5057506001600160a01b038116155b1562002d73576040516327b6f55d60e21b81526000600482015260240162001245565b60008051602062005c9983398151915260005260c96020527fc673961fdd8669544314a161f754c3b3e4767ef9dbbfeb255e725b41212e0dd7546001600160a01b0316158062002df657506f2120a22fa222a12a2fa6a0a720a3a2a960811b60005260c960205260008051602062005c12833981519152546001600160a01b0316155b8062002e4257506b13115391125391d7d413d3d360a21b60005260c96020527f5a53926be681a98901a3fa5e082ada2b5ef7f42641e6e985395f32160be7c9de546001600160a01b0316155b8062002e8e575060008051602062005c7983398151915260005260c96020527f3fb93986e090250752d05aaeed6c85b3659a4f6c966ae1d2cdd9d12f3b04fdd4546001600160a01b0316155b8062002ecd57506f2120a22fa222a12a2fa6a0a720a3a2a960811b60005260c960205260008051602062005c12833981519152546001600160a01b0316155b1562002eec576040516309ee12d560e01b815260040160405180910390fd5b60008051602062005c99833981519152600090815260c96020527fc673961fdd8669544314a161f754c3b3e4767ef9dbbfeb255e725b41212e0dd75462002f3c906001600160a01b031662004151565b604051631ec5a31160e31b815290915081906001600160a01b0382169063f62d18889062002f6f908790600401620056a5565b600060405180830381600087803b15801562002f8a57600080fd5b505af115801562002f9f573d6000803e3d6000fd5b50505050600060405162002fb390620047ac565b604051809103906000f08015801562002fd0573d6000803e3d6000fd5b5060405163283d62ad60e01b81529091506001600160a01b0383169063283d62ad9062003002903090600401620047e1565b600060405180830381600087803b1580156200301d57600080fd5b505af115801562003032573d6000803e3d6000fd5b5050604051632083449d60e21b81526001600160a01b038516925063820d1274915062003064908490600401620047e1565b600060405180830381600087803b1580156200307f57600080fd5b505af115801562003094573d6000803e3d6000fd5b505060ce54604051630d768ce560e21b81526001600160a01b0380871694506335da33949350620030ca921690600401620047e1565b600060405180830381600087803b158015620030e557600080fd5b505af1158015620030fa573d6000803e3d6000fd5b505060cf54604051633885aad160e21b81526001600160a01b03808716945063e216ab44935062003130921690600401620047e1565b600060405180830381600087803b1580156200314b57600080fd5b505af115801562003160573d6000803e3d6000fd5b50506b13115391125391d7d413d3d360a21b600052505060c96020527f5a53926be681a98901a3fa5e082ada2b5ef7f42641e6e985395f32160be7c9de54604051635aef021f60e01b81526001600160a01b0384811692635aef021f92620031cf9290911690600401620047e1565b600060405180830381600087803b158015620031ea57600080fd5b505af1158015620031ff573d6000803e3d6000fd5b505060008051602062005c79833981519152600052505060c96020527f3fb93986e090250752d05aaeed6c85b3659a4f6c966ae1d2cdd9d12f3b04fdd45460405163c12542df60e01b81526001600160a01b038481169263c12542df926200326e9290911690600401620047e1565b600060405180830381600087803b1580156200328957600080fd5b505af11580156200329e573d6000803e3d6000fd5b5050604051636225ee6b60e11b81526001600160a01b038516925063c44bdcd69150620032d0903090600401620047e1565b600060405180830381600087803b158015620032eb57600080fd5b505af115801562003300573d6000803e3d6000fd5b505050506000826001600160a01b0316630261bf8b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200336b919062005138565b60d15460405163fd14952960e01b81529192506001600160a01b03169063fd149529906200339e908490600401620047e1565b600060405180830381600087803b158015620033b957600080fd5b505af1158015620033ce573d6000803e3d6000fd5b5050506001600160a01b03808316600090815260cb602052604090819020805460ff1916600117905560d054905163530e784f60e01b8152868316935063530e784f9262003421921690600401620047e1565b600060405180830381600087803b1580156200343c57600080fd5b505af115801562003451573d6000803e3d6000fd5b50505050600073e473746434ccb0d5d564af5085b08c7cd8516f6c630faa445087846200347d62002343565b6f2120a22fa222a12a2fa6a0a720a3a2a960811b60005260c960205260008051602062005c128339815191525460405160e086901b6001600160e01b03191681526001600160a01b03948516600482015292841660248401529083166044830152919091166064820152608401602060405180830381865af415801562003508573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200352e919062005138565b60405163091bd4df60e21b81529091506001600160a01b0385169063246f537c906200355f908490600401620047e1565b600060405180830381600087803b1580156200357a57600080fd5b505af11580156200358f573d6000803e3d6000fd5b50507121a7a62620aa22a920a62fa6a0a720a3a2a960711b600052505060c96020527f3ffdb1d09ca3ec540cd30fadef086166e7ae6f1b63ef4954316aa74fea46cef45460405163398e555360e01b81526001600160a01b038681169263398e555392620036049290911690600401620047e1565b600060405180830381600087803b1580156200361f57600080fd5b505af115801562003634573d6000803e3d6000fd5b50505050620010ed8488620041ed565b6200364e62003e2e565b604051633c61c61b60e21b81526001600160a01b0383169063f187186c906200367c908490600401620047e1565b600060405180830381600087803b1580156200369757600080fd5b505af1158015620036ac573d6000803e3d6000fd5b505050505050565b620036be62003e2e565b60d15460405163a3d5b25560e01b81526001600160a01b039091169063a3d5b25590620036f4908690869086906004016200518b565b600060405180830381600087803b1580156200370f57600080fd5b505af1158015620010ed573d6000803e3d6000fd5b6200372e62003e2e565b60cf546001600160a01b038281169116146200379a5760cf80546001600160a01b0319166001600160a01b0383161790556040517f3c864541ef71378c6229510ed90f376565ee42d9c5e0904a984a9e863e6db44f9062003791908390620047e1565b60405180910390a15b6001600160a01b038116620037c257604051639fabe1c160e01b815260040160405180910390fd5b60cf80546001600160a01b0319166001600160a01b0383161790556040517f3c864541ef71378c6229510ed90f376565ee42d9c5e0904a984a9e863e6db44f9062001e19908390620047e1565b6200381962003e2e565b6001600160a01b038116620038805760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001245565b620012d4816200403f565b6200389562003e2e565b60d15460405163eed88b8d60e01b81526001600160a01b039091169063eed88b8d906200367c908590859060040162005172565b620038d362003e2e565b6000836001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200393a919062005138565b905060005b82811015620017f057816001600160a01b031663ad4e64328585848181106200396c576200396c620051af565b9050602002810190620039809190620056ba565b6040518263ffffffff1660e01b81526004016200399e9190620056d1565b600060405180830381600087803b158015620039b957600080fd5b505af1158015620039ce573d6000803e3d6000fd5b505050508060010190506200393f565b620039e862003e2e565b6001600160a01b03811662003a1057604051639fabe1c160e01b815260040160405180910390fd5b806001600160a01b0316826001600160a01b031663ae1673356040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003a59573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a7f919062005138565b6001600160a01b031614620016d757604051633302dfed60e11b81526001600160a01b03831690636605bfda9062003abc908490600401620047e1565b600060405180830381600087803b15801562003ad757600080fd5b505af115801562003aec573d6000803e3d6000fd5b505050507fb6a5e89655cf506139085f051af608195ed056f8dc550b180a1c38d401e2b6c481604051620011ed9190620047e1565b62003b2b62003e2e565b6001600160a01b038216600090815260ca602052604090205460ff1662003b6557604051630b545d5160e31b815260040160405180910390fd5b60405163f67b184760e01b81526001600160a01b0383169063f67b18479062003b93908490600401620056a5565b600060405180830381600087803b15801562003bae57600080fd5b505af115801562003bc3573d6000803e3d6000fd5b505050508160cc8260405162003bda91906200528c565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b03199092169190911790555050565b6001600160a01b038216600090815260ca602052604090205460ff1662003c4757604051630b545d5160e31b815260040160405180910390fd5b60008290506000816001600160a01b03166385c858b16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb3919062005138565b9050336001600160a01b0382161462003cdf576040516354acf6fb60e01b815260040160405180910390fd5b6000826001600160a01b0316630261bf8b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003d20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d46919062005138565b6001600160a01b038116600090815260cb602052604090205490915060ff1662003d8357604051636c656b3b60e11b815260040160405180910390fd5b6001600160a01b038116600090815260cb60205260409020805460ff1916851580159190911790915562003dda576001600160a01b038516600090815260ca60205260409020805460ff1916600117905562003dfb565b6001600160a01b038516600090815260ca60205260409020805460ff191690555b7f0b4a3b22e0df9684bb8c80bbedc5947d271d0748cbf7ec32cf62e14f8639e9d9818560405162000fa99291906200568a565b3362003e3962002343565b6001600160a01b03161462001c6d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001245565b6001600160a01b03163b151590565b60008051602062005c32833981519152546001600160a01b031690565b620012d462003e2e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003efd5762001c528362004342565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003f5a575060408051601f3d908101601f1916820190925262003f5791810190620057b1565b60015b62003fbf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162001245565b60008051602062005c328339815191528114620040315760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162001245565b5062001c52838383620043e1565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040bb5760405162461bcd60e51b81526004016200124590620057cb565b62001c6d6200440c565b600054610100900460ff1662001c6d5760405162461bcd60e51b81526004016200124590620057cb565b6200414b846323b872dd60e01b85858560405160240162004113939291906200518b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262004441565b50505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116620041e85760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640162001245565b919050565b60cd5460005b818110156200425a57836001600160a01b031660cd82815481106200421c576200421c620051af565b6000918252602090912001546001600160a01b0316141562004251576040516363e23da960e11b815260040160405180910390fd5b600101620041f3565b5060cd805460018082019092557f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0180546001600160a01b0319166001600160a01b038616908117909155600090815260ca602052604090819020805460ff191690921790915551839060cc90620042d49085906200528c565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091557fcf02e2a03b922ab8751dbc612a812205ee68c01ca057be55d405f45a820721129062004335908590859062005816565b60405180910390a1505050565b6200434d8162003e91565b620043b15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162001245565b60008051602062005c3283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620043ec836200451d565b600082511180620043fa5750805b1562001c52576200414b83836200455f565b600054610100900460ff16620044365760405162461bcd60e51b81526004016200124590620057cb565b62001c6d336200403f565b600062004498826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200458e9092919063ffffffff16565b9050805160001480620044bc575080806020019051810190620044bc91906200566a565b62001c525760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001245565b620045288162004342565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062004587838360405180606001604052806027815260200162005c5260279139620045a7565b9392505050565b60606200459f848460008562004625565b949350505050565b6060600080856001600160a01b031685604051620045c691906200528c565b600060405180830381855af49150503d806000811462004603576040519150601f19603f3d011682016040523d82523d6000602084013e62004608565b606091505b50915091506200461b8683838762004708565b9695505050505050565b606082471015620046885760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001245565b600080866001600160a01b03168587604051620046a691906200528c565b60006040518083038185875af1925050503d8060008114620046e5576040519150601f19603f3d011682016040523d82523d6000602084013e620046ea565b606091505b5091509150620046fd8783838762004708565b979650505050505050565b60608315620047795782516200477157620047238562003e91565b620047715760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001245565b50816200459f565b6200459f8383815115620047905781518083602001fd5b8060405162461bcd60e51b8152600401620012459190620056a5565b6103d5806200583d83390190565b600060208284031215620047cd57600080fd5b5035919050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620012d457600080fd5b8035620041e881620047f5565b6000602082840312156200482b57600080fd5b81356200458781620047f5565b600080604083850312156200484c57600080fd5b82356200485981620047f5565b915060208301356200486b81620047f5565b809150509250929050565b6000806000606084860312156200488c57600080fd5b83356200489981620047f5565b92506020840135620048ab81620047f5565b929592945050506040919091013590565b60008083601f840112620048cf57600080fd5b5081356001600160401b03811115620048e757600080fd5b6020830191508360208260051b85010111156200490357600080fd5b9250929050565b6000806000806000606086880312156200492357600080fd5b85356200493081620047f5565b945060208601356001600160401b03808211156200494d57600080fd5b6200495b89838a01620048bc565b909650945060408801359150808211156200497557600080fd5b506200498488828901620048bc565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b60405161022081016001600160401b0381118282101715620049d157620049d162004995565b60405290565b604051601f8201601f191681016001600160401b038111828210171562004a025762004a0262004995565b604052919050565b600082601f83011262004a1c57600080fd5b81356001600160401b0381111562004a385762004a3862004995565b62004a4d601f8201601f1916602001620049d7565b81815284602083860101111562004a6357600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121562004a9357600080fd5b81356001600160401b0381111562004aaa57600080fd5b6200459f8482850162004a0a565b60008060006060848603121562004ace57600080fd5b833562004adb81620047f5565b9250602084013562004aed81620047f5565b9150604084013562004aff81620047f5565b809150509250925092565b6000806040838503121562004b1e57600080fd5b823562004b2b81620047f5565b915060208301356001600160401b0381111562004b4757600080fd5b62004b558582860162004a0a565b9150509250929050565b60008060006040848603121562004b7557600080fd5b833562004b8281620047f5565b925060208401356001600160401b0381111562004b9e57600080fd5b62004bac86828701620048bc565b9497909650939450505050565b600080600080600060a0868803121562004bd257600080fd5b853562004bdf81620047f5565b9450602086013562004bf181620047f5565b94979496505050506040830135926060810135926080909101359150565b8015158114620012d457600080fd5b60008060006060848603121562004c3457600080fd5b83359250602084013562004c4881620047f5565b9150604084013562004aff8162004c0f565b6020808252825182820181905260009190848201906040850190845b8181101562004c9d5783516001600160a01b03168352928401929184019160010162004c76565b50909695505050505050565b60006001600160401b0382111562004cc55762004cc562004995565b5060051b60200190565b803560ff81168114620041e857600080fd5b600082601f83011262004cf357600080fd5b8135602062004d0c62004d068362004ca9565b620049d7565b82815260059290921b8401810191818101908684111562004d2c57600080fd5b8286015b8481101562004d49578035835291830191830162004d30565b509695505050505050565b60008060006060848603121562004d6a57600080fd5b833562004d7781620047f5565b92506020848101356001600160401b038082111562004d9557600080fd5b818701915087601f83011262004daa57600080fd5b813562004dbb62004d068262004ca9565b81815260059190911b8301840190848101908a83111562004ddb57600080fd5b8585015b83811015620050215780358581111562004df857600080fd5b8601610220818e03601f1901121562004e1057600080fd5b62004e1a620049ab565b62004e278983016200480b565b815262004e37604083016200480b565b8982015262004e49606083016200480b565b604082015262004e5c6080830162004ccf565b606082015262004e6f60a083016200480b565b608082015262004e8260c083016200480b565b60a082015262004e9560e083016200480b565b60c082015262004ea961010083016200480b565b60e08201526101208201356101008201526101408201358781111562004ece57600080fd5b62004ede8f8b8386010162004a0a565b610120830152506101608201358781111562004ef957600080fd5b62004f098f8b8386010162004a0a565b610140830152506101808201358781111562004f2457600080fd5b62004f348f8b8386010162004a0a565b610160830152506101a08201358781111562004f4f57600080fd5b62004f5f8f8b8386010162004a0a565b610180830152506101c08201358781111562004f7a57600080fd5b62004f8a8f8b8386010162004a0a565b6101a0830152506101e08201358781111562004fa557600080fd5b62004fb58f8b8386010162004a0a565b6101c0830152506102008201358781111562004fd057600080fd5b62004fe08f8b8386010162004a0a565b6101e0830152506102208201358781111562004ffb57600080fd5b6200500b8f8b8386010162004a0a565b6102008301525084525091860191860162004ddf565b509650505060408701359250808311156200503b57600080fd5b50506200504b8682870162004ce1565b9150509250925092565b6000806000606084860312156200506b57600080fd5b83356200507881620047f5565b9250602084013562004c4881620047f5565b600080604083850312156200509e57600080fd5b82356001600160401b03811115620050b557600080fd5b620050c38582860162004a0a565b92505060208301356200486b81620047f5565b60008060408385031215620050ea57600080fd5b8235620050f781620047f5565b946020939093013593505050565b600080604083850312156200511957600080fd5b82356200512681620047f5565b915060208301356200486b8162004c0f565b6000602082840312156200514b57600080fd5b81516200458781620047f5565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052603260045260246000fd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60005b838110156200527a57818101518382015260200162005260565b838111156200414b5750506000910152565b60008251620052a08184602087016200525d565b9190910192915050565b6000823560de19833603018112620052a057600080fd5b6000808335601e19843603018112620052d957600080fd5b83016020810192503590506001600160401b03811115620052f957600080fd5b8036038313156200490357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600082356200534581620047f5565b6001600160a01b0316602083810191909152620053649084016200480b565b620053736040840182620047d4565b5062005382604084016200480b565b620053916060840182620047d4565b50620053a16060840184620052c1565b60e06080850152620053b96101008501828462005309565b915050620053cb6080850185620052c1565b601f19808685030160a0870152620053e584838562005309565b9350620053f560a088016200480b565b92506200540660c0870184620047d4565b6200541560c0880188620052c1565b93509150808685030160e0870152506200461b83838362005309565b9182526001600160a01b0316602082015260400190565b60008151808452620054628160208601602086016200525d565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156200565c57603f198984030185528151610220620054c1858351620047d4565b88820151620054d38a870182620047d4565b5087820151620054e689870182620047d4565b5060608281015160ff16908601526080808301516200550882880182620047d4565b505060a0808301516200551e82880182620047d4565b505060c0808301516200553482880182620047d4565b505060e0808301516200554a82880182620047d4565b5050610100808301518187015250610120808301518282880152620055728388018262005448565b92505050610140808301518683038288015262005590838262005448565b925050506101608083015186830382880152620055ae838262005448565b925050506101808083015186830382880152620055cc838262005448565b925050506101a08083015186830382880152620055ea838262005448565b925050506101c0808301518683038288015262005608838262005448565b925050506101e0808301518683038288015262005626838262005448565b92505050610200808301519250858203818701525062005647818362005448565b9689019694505050908601906001016200549d565b509098975050505050505050565b6000602082840312156200567d57600080fd5b8151620045878162004c0f565b6001600160a01b039290921682521515602082015260400190565b60208152600062004587602083018462005448565b6000823560be19833603018112620052a057600080fd5b6020815260008235620056e481620047f5565b6001600160a01b03908116602084810191909152840135906200570782620047f5565b80821660408501525050620057206040840184620052c1565b60c060608501526200573760e08501828462005309565b915050620057496060850185620052c1565b601f19808685030160808701526200576384838562005309565b9350608087013592506200577783620047f5565b6200578660a0870184620047d4565b6200579560a0880188620052c1565b93509150808685030160c0870152506200461b83838362005309565b600060208284031215620057c457600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03831681526040602082018190526000906200459f908301846200544856fe608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103578061007e6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063715018a61461007257806372eb293d1461007c5780638da5cb5b1461008f5780639f86a0ee146100af578063bb85c0bb146100c2578063f2fde38b146100f9578063fbe5ba1e1461010c575b600080fd5b61007a610135565b005b61007a61008a3660046102d5565b610149565b6000546040516001600160a01b0390911681526020015b60405180910390f35b61007a6100bd3660046102d5565b61016d565b6100eb6100d03660046102ff565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100a6565b61007a6101073660046102ff565b610191565b6100eb61011a3660046102ff565b6001600160a01b031660009081526002602052604090205490565b61013d61020f565b6101476000610269565b565b61015161020f565b6001600160a01b03909116600090815260016020526040902055565b61017561020f565b6001600160a01b03909116600090815260026020526040902055565b61019961020f565b6001600160a01b0381166102035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61020c81610269565b50565b6000546001600160a01b031633146101475760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101fa565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146102d057600080fd5b919050565b600080604083850312156102e857600080fd5b6102f1836102b9565b946020939093013593505050565b60006020828403121561031157600080fd5b61031a826102b9565b939250505056fea2646970667358221220111f6122384600bf4b11353134abef7b764165dd5dda5e03e575bea25effeb5064736f6c634300080c003305f04474f628ee8492d83b29dcd074327bea0febbef69185882c8f8d0da72291360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644c454e44494e475f504f4f4c5f434f4e464947555241544f52000000000000004c454e44494e475f504f4f4c5f4144445245535345535f50524f564944455200a2646970667358221220749a2abd9de72c6600bd9c8d16c929fd83d675d7ff5baab31184ddb6376d0dd864736f6c634300080c0033