12 txs
35 calls
constructor
constructor(address meh2016address, address meh2018address, address wethAddress, address soloMarginAddress)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
crowdsalePrice
viewfunction crowdsalePrice() view returns (uint256)
devs
viewfunction devs() view returns (address)
founder
viewfunction founder() view returns (address)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
internalBalOf
viewfunction internalBalOf(address) view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isCollector
viewfunction isCollector() view returns (bool)
isSignedIn
viewfunction isSignedIn() view returns (bool)
MAX_INT_TYPE
viewfunction MAX_INT_TYPE() view returns (uint256)
meh2018
viewfunction meh2018() view returns (address)
name
viewfunction name() view returns (string)
numOfHandshakes
viewfunction numOfHandshakes() view returns (uint8)
numOfReceipts
viewfunction numOfReceipts() view returns (uint256)
oldMeh
viewfunction oldMeh() view returns (address)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
partners
viewfunction partners() view returns (address)
receipts
viewfunction receipts(uint16) view returns (bool isAwaitingWithdrawal, uint256 sellPrice, address recipient)
referrals
viewfunction referrals(uint256) view returns (address)
reservedFor
viewfunction reservedFor(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY) view returns (address)
royalties
viewfunction royalties() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
unclaimed
viewfunction unclaimed() view returns (uint256)
WETH
viewfunction WETH() view returns (address)
addRefferal
nonpayablefunction addRefferal(address newReferral)
adminSetPrice
nonpayablefunction adminSetPrice(uint256 newPrice)
adminWithdrawFromReferrals
nonpayablefunction adminWithdrawFromReferrals()
approve
nonpayablefunction approve(address to, uint256 tokenId)
buyBlocks
payablefunction buyBlocks(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY) payable
mintReserved
nonpayablefunction mintReserved(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY)
placeImage
payablefunction placeImage(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY, string imageSourceUrl, string adUrl, string adText) payable
receiveFlashLoan
nonpayablefunction receiveFlashLoan(address[] tokens, uint256[] amounts, uint256[] feeAmounts, bytes userData)
referralPayback
payablefunction referralPayback() payable
renounceOwnership
nonpayablefunction renounceOwnership()
rescueUnclaimed
nonpayablefunction rescueUnclaimed()
resetSellPrice
nonpayablefunction resetSellPrice(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY, uint256 priceForEachBlockInWei)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string baseURI_)
setDevs
nonpayablefunction setDevs(address newDevsAddress)
setFounder
nonpayablefunction setFounder(address newFoundersAddress)
setPartners
nonpayablefunction setPartners(address newPartnersAddress)
signIn
nonpayablefunction signIn()
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unwrap
nonpayablefunction unwrap(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY, uint256 priceForEachBlockInWei)
withdraw
nonpayablefunction withdraw(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY)
withdrawShare
nonpayablefunction withdrawShare()
wrap
payablefunction wrap(uint8 fromX, uint8 fromY, uint8 toX, uint8 toY) payable
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
NewCrowdsalePrice
event NewCrowdsalePrice(uint256 newPrice)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ReceiptWithdrawn
event ReceiptWithdrawn(address indexed recipient, uint256 payment, uint8 fromX, uint8 fromY, uint8 toX, uint8 toY)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unwrapping
event Unwrapping(address indexed owner, uint256 priceForEachBlockInWei, uint8 fromX, uint8 fromY, uint8 toX, uint8 toY)
Wrapped
event Wrapped(address indexed owner, uint256 areaPrice, uint8 fromX, uint8 fromY, uint8 toX, uint8 toY)
errors
No errors.
creation bytecode
0x60806040526000600a819055600b556703782dace9d90000600f556011805473f51f08910ec370db5977cff3d01df4dfb06bfbe16001600160a01b03199182168117909255601280548216831790556013805490911690911790556016805460ff1916905534801561007057600080fd5b506040516154c03803806154c083398101604081905261008f91610528565b818181816040518060400160405280601681526020017f4d696c6c696f6e20457468657220486f6d6570616765000000000000000000008152506040518060400160405280600381526020016209a8a960eb1b81525081600390816100f49190610626565b5060046101018282610626565b50505061011a6101156104ba60201b60201c565b6104be565b600280546001600160a01b03199081166001600160a01b0394851617909155600e805482169284169290921790915560008054821689841690811782556001805490931693891693909317909155604080516340640e0b60e11b815290519194508493508392839283928392839290916380c81c169160048083019260e09291908290030181865afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d891906106e4565b96509650965096509650965096508063ffffffff1660000361024c5760405162461bcd60e51b815260206004820152602260248201527f4d6568577261707065723a2077726f6e67204d65683230313620636f6e74726160448201526118dd60f21b60648201526084015b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663f3956a716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610761565b151560011461031f5760405162461bcd60e51b815260206004820152602260248201527f4d6568577261707065723a2077726f6e67204d65683230313820636f6e74726160448201526118dd60f21b6064820152608401610243565b620186a0896001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610361573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610385919061078a565b116103d25760405162461bcd60e51b815260206004820152601f60248201527f4d6568577261707065723a2077726f6e67205765746820636f6e7472616374006044820152606401610243565b886001600160a01b0316886001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043e91906107a3565b6001600160a01b0316146104aa5760405162461bcd60e51b815260206004820152602d60248201527f4d6568577261707065723a2077726f6e6720466c6173686c6f616e20706c617460448201526c199bdc9b4818dbdb9d1c9858dd609a1b6064820152608401610243565b50505050505050505050506107c0565b3390565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116811461052557600080fd5b50565b6000806000806080858703121561053e57600080fd5b845161054981610510565b602086015190945061055a81610510565b604086015190935061056b81610510565b606086015190925061057c81610510565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806105b157607f821691505b6020821081036105d157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561062157806000526020600020601f840160051c810160208510156105fe5750805b601f840160051c820191505b8181101561061e576000815560010161060a565b50505b505050565b81516001600160401b0381111561063f5761063f610587565b6106538161064d845461059d565b846105d7565b6020601f821160018114610687576000831561066f5750848201515b600019600385901b1c1916600184901b17845561061e565b600084815260208120601f198516915b828110156106b75787850151825560209485019460019092019101610697565b50848210156106d55786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b600080600080600080600060e0888a0312156106ff57600080fd5b8751602089015190975061ffff8116811461071957600080fd5b604089015160608a015160808b015160a08c015160c08d0151949a509298509096509450925063ffffffff8116811461075157600080fd5b8091505092959891949750929550565b60006020828403121561077357600080fd5b8151801515811461078357600080fd5b9392505050565b60006020828403121561079c57600080fd5b5051919050565b6000602082840312156107b557600080fd5b815161078381610510565b614cf1806107cf6000396000f3fe60806040526004361061031e5760003560e01c8063715018a6116101ab578063b88d4fde116100f7578063e7a71f8811610095578063f053dc5c1161006f578063f053dc5c146109d7578063f2fde38b146109ed578063fc657b8814610a0d578063fec4bcab14610a2d57600080fd5b8063e7a71f8814610977578063e985e9c514610997578063f04f2707146109b757600080fd5b8063c87b56dd116100d1578063c87b56dd146108fb578063cf2a26701461091b578063db6fbc6914610942578063e124173f1461096257600080fd5b8063b88d4fde146108b3578063c707ff56146108d3578063c7b04a2f146108e857600080fd5b806395d89b4111610164578063a22cb4651161013e578063a22cb46514610833578063a3f8dd1314610853578063a9b6aa9414610873578063ad5c46481461089357600080fd5b806395d89b41146107e95780639a96f829146107fe5780639e4cda431461081e57600080fd5b8063715018a61461073657806377b690781461074b5780637a341bc71461076b57806380b7c92b1461078b57806381add559146107ab5780638da5cb5b146107cb57600080fd5b80633d08050d1161026a5780635772babf1161022357806361de40aa116101fd57806361de40aa146106c05780636352211e146106e0578063669416b81461070057806370a082311461071657600080fd5b80635772babf1461066d57806359ae6e341461069a57806359b95f5a146106ad57600080fd5b80633d08050d1461056857806342842e0e146105d75780634453dbf7146105f7578063499cb34d146106175780634d853ee51461062d57806355f804b31461064d57600080fd5b80631207bb8e116102d757806324349671116102b1578063243496711461051d57806329ad9402146105325780632a7a176e146103c95780632bcc12fd1461054857600080fd5b80631207bb8e146104bf57806319c1f236146104e357806323b872dd146104fd57600080fd5b806301ffc9a7146103d0578063069db3211461040557806306fdde0314610425578063081812fc14610447578063095ea7b31461047f5780630cc3be2f1461049f57600080fd5b366103cb576000546001600160a01b031633148061034f575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc233145b8061036457506002546001600160a01b031633145b6103c95760405162461bcd60e51b815260206004820152602b60248201527f52656365697665723a204f6e6c792072656365697665732066726f6d206f6c6460448201526a09a8a9040dee440ae8aa8960ab1b60648201526084015b60405180910390fd5b005b600080fd5b3480156103dc57600080fd5b506103f06103eb366004613e70565b610a42565b60405190151581526020015b60405180910390f35b34801561041157600080fd5b506103c9610420366004613eac565b610a94565b34801561043157600080fd5b5061043a610d31565b6040516103fc9190613f60565b34801561045357600080fd5b50610467610462366004613f73565b610dc3565b6040516001600160a01b0390911681526020016103fc565b34801561048b57600080fd5b506103c961049a366004613fa1565b610dea565b3480156104ab57600080fd5b506103c96104ba366004613f73565b610eff565b3480156104cb57600080fd5b506104d5600f5481565b6040519081526020016103fc565b3480156104ef57600080fd5b506016546103f09060ff1681565b34801561050957600080fd5b506103c9610518366004613fcd565b610f42565b34801561052957600080fd5b506103c9610f73565b34801561053e57600080fd5b506104d560001981565b34801561055457600080fd5b50600054610467906001600160a01b031681565b34801561057457600080fd5b506105b161058336600461400e565b600c6020526000908152604090208054600182015460029092015460ff90911691906001600160a01b031683565b60408051931515845260208401929092526001600160a01b0316908201526060016103fc565b3480156105e357600080fd5b506103c96105f2366004613fcd565b611057565b34801561060357600080fd5b506103c9610612366004614032565b611072565b34801561062357600080fd5b506104d5600b5481565b34801561063957600080fd5b50601154610467906001600160a01b031681565b34801561065957600080fd5b506103c96106683660046140f0565b61120b565b34801561067957600080fd5b506104d5610688366004614032565b60146020526000908152604090205481565b6103c96106a8366004614180565b611223565b6103c96106bb36600461426a565b61132d565b3480156106cc57600080fd5b50600154610467906001600160a01b031681565b3480156106ec57600080fd5b506104676106fb366004613f73565b611484565b34801561070c57600080fd5b506104d5600a5481565b34801561072257600080fd5b506104d5610731366004614032565b6114e4565b34801561074257600080fd5b506103c961156a565b34801561075757600080fd5b506103c9610766366004614032565b61157c565b34801561077757600080fd5b506103c9610786366004614032565b611603565b34801561079757600080fd5b506104676107a6366004613f73565b61168a565b3480156107b757600080fd5b50601254610467906001600160a01b031681565b3480156107d757600080fd5b506009546001600160a01b0316610467565b3480156107f557600080fd5b5061043a6116b4565b34801561080a57600080fd5b50601354610467906001600160a01b031681565b34801561082a57600080fd5b506103c96116c3565b34801561083f57600080fd5b506103c961084e3660046142d4565b611975565b34801561085f57600080fd5b506103c961086e366004613eac565b611980565b34801561087f57600080fd5b506103c961088e36600461426a565b611a7d565b34801561089f57600080fd5b50600254610467906001600160a01b031681565b3480156108bf57600080fd5b506103c96108ce36600461432d565b611afd565b3480156108df57600080fd5b506103c9611b35565b6103c96108f636600461426a565b611b93565b34801561090757600080fd5b5061043a610916366004613f73565b611fc0565b34801561092757600080fd5b50610930600681565b60405160ff90911681526020016103fc565b34801561094e57600080fd5b506103c961095d366004614032565b612027565b34801561096e57600080fd5b506103f0600181565b34801561098357600080fd5b506103c961099236600461426a565b6120ab565b3480156109a357600080fd5b506103f06109b2366004614398565b612566565b3480156109c357600080fd5b506103c96109d2366004614456565b612594565b3480156109e357600080fd5b506104d560105481565b3480156109f957600080fd5b506103c9610a08366004614032565b612887565b348015610a1957600080fd5b50610467610a2836600461426a565b612900565b348015610a3957600080fd5b506103c9612919565b60006001600160e01b031982166380ac58cd60e01b1480610a7357506001600160e01b03198216635b5e139f60e01b145b80610a8e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610aa2868686866129cc565b905060005b8151811015610c4e57610ad733838381518110610ac657610ac661455c565b602002602001015161ffff16612aad565b610b235760405162461bcd60e51b815260206004820152601960248201527f4d65684552433732313a204e6f742061206c616e646c6f72640000000000000060448201526064016103c0565b82600c6000848481518110610b3a57610b3a61455c565b602002602001015161ffff1661ffff168152602001908152602001600020600101819055506001600c6000848481518110610b7757610b7761455c565b602002602001015161ffff1661ffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555033600c6000848481518110610bc657610bc661455c565b602002602001015161ffff1661ffff16815260200190815260200160002060020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c31828281518110610c2057610c2061455c565b602002602001015161ffff16612b0b565b600b8054906000610c4183614588565b9091555050600101610aa7565b506000546040516335e49e5f60e01b815260ff80891660048301528088166024830152808716604483015285166064820152608481018490526001600160a01b03909116906335e49e5f9060a401600060405180830381600087803b158015610cb657600080fd5b505af1158015610cca573d6000803e3d6000fd5b50506040805185815260ff808b166020830152808a1692820192909252818816606082015290861660808201523392507f863da86c695832874f8550d3fc494d2109f0a47afe95b72023c9205bd56e3bb9915060a0015b60405180910390a2505050505050565b606060038054610d40906145a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6c906145a1565b8015610db95780601f10610d8e57610100808354040283529160200191610db9565b820191906000526020600020905b815481529060010190602001808311610d9c57829003601f168201915b5050505050905090565b6000610dce82612ba0565b506000908152600760205260409020546001600160a01b031690565b6000610df582611484565b9050806001600160a01b0316836001600160a01b031603610e625760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016103c0565b336001600160a01b0382161480610e7e5750610e7e8133612566565b610ef05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103c0565b610efa8383612bff565b505050565b610f07612c6d565b600f8190556040518181527f4f043e938bb8f6f3b041d542f1969655dd497dcb7e039980bcbbf38dbe21b2cd9060200160405180910390a150565b610f4c3382612aad565b610f685760405162461bcd60e51b81526004016103c0906145db565b610efa838383612cc7565b6011546001600160a01b0316331480610f9657506012546001600160a01b031633145b80610fab57506013546001600160a01b031633145b6110035760405162461bcd60e51b8152602060048201526024808201527f41646d696e3a204e6f7420616e20617574686f72697a65642062656e656669636044820152636961727960e01b60648201526084016103c0565b61100b612e2b565b3360008181526014602052604080822054905181156108fc0292818181858888f19350505050158015611042573d6000803e3d6000fd5b5033600090815260146020526040812055565b565b610efa83838360405180602001604052806000815250611afd565b61107a612c6d565b60165460ff16156110e35760405162461bcd60e51b815260206004820152602d60248201527f436f6c6c6563746f723a2043616e6e6f742061646420726566657272616c732060448201526c30b33a32b91039b4b3b71034b760991b60648201526084016103c0565b306001600160a01b0316816001600160a01b031663ac210cc76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561112b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114f9190614628565b6001600160a01b0316146111b95760405162461bcd60e51b815260206004820152602b60248201527f436f6c6c6563746f723a20526566657272616c206973206e6f74206f776e656460448201526a10313c903bb930b83832b960a91b60648201526084016103c0565b601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750180546001600160a01b0319166001600160a01b0392909216919091179055565b611213612c6d565b600d61121f8282614693565b5050565b60006112318b8b8b8b6129cc565b905060005b81518110156112a95761125533838381518110610ac657610ac661455c565b6112a15760405162461bcd60e51b815260206004820152601a60248201527f4d6568577261707065723a204e6f742061206c616e646c6f726400000000000060448201526064016103c0565b600101611236565b5060005460405163166b9b8d60e21b81526001600160a01b03909116906359ae6e349034906112ee908f908f908f908f908f908f908f908f908f908f9060040161477a565b6000604051808303818588803b15801561130757600080fd5b505af115801561131b573d6000803e3d6000fd5b50505050505050505050505050505050565b8383838361133d84848484612f1c565b61137d5760405162461bcd60e51b815260206004820152601160248201527057726f6e6720636f6f7264696e6174657360781b60448201526064016103c0565b600061138b89898989612f83565b6001600160a01b0316146113fc5760405162461bcd60e51b815260206004820152603260248201527f4120626c6f636b20697320726573657276656420666f722032303138206c616e604482015271646c6f726473206f7220666f756e6465727360701b60648201526084016103c0565b600061140a89898989613114565b90508034146114545760405162461bcd60e51b8152602060048201526016602482015275139bdd08195b9bdd59da08195d1a081d1bc81b5a5b9d60521b60448201526064016103c0565b806010600082825461146691906147eb565b909155506114799050338a8a8a8a613141565b505050505050505050565b6000818152600560205260408120546001600160a01b031680610a8e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103c0565b60006001600160a01b03821661154e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103c0565b506001600160a01b031660009081526006602052604090205490565b611572612c6d565b6110556000613223565b6012546001600160a01b031633146115cb5760405162461bcd60e51b815260206004820152601260248201527120b236b4b71d102737ba103830b93a3732b960711b60448201526064016103c0565b6012546115e1906001600160a01b031682613275565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6011546001600160a01b031633146116525760405162461bcd60e51b815260206004820152601260248201527120b236b4b71d102737ba103337bab73232b960711b60448201526064016103c0565b601154611668906001600160a01b031682613275565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6015818154811061169a57600080fd5b6000918252602090912001546001600160a01b0316905081565b606060048054610d40906145a1565b6116cb612c6d565b601554600660ff821610156117225760405162461bcd60e51b815260206004820181905260248201527f4d6568577261707065723a206e6f7420656e6f75676820726566657272616c7360448201526064016103c0565b600061172f6001836147fe565b90505b61173d6006836147fe565b611748906001614817565b60ff168160ff16106118ce5760008060008060008060008060008054906101000a90046001600160a01b03166001600160a01b0316636386c1c760158b60ff16815481106117985761179861455c565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240161010060405180830381865afa1580156117e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180d9190614830565b97509750975097509750975097509750601560018a61182c91906147fe565b60ff168154811061183f5761183f61455c565b6000918252602090912001546001600160a01b038981169116146118b35760405162461bcd60e51b815260206004820152602560248201527f4d6568577261707065723a20726566657272616c7320636861696e20697320626044820152643937b5b2b760d91b60648201526084016103c0565b505050505050505080806118c6906148cb565b915050611732565b506000546001600160a01b0316638fa9e55c60156118ed6001856147fe565b60ff16815481106119005761190061455c565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b039091166004820152602401600060405180830381600087803b15801561194d57600080fd5b505af1158015611961573d6000803e3d6000fd5b50506016805460ff19166001179055505050565b61121f3383836132c7565b600061198e868686866129cc565b905060005b8151811015610c4e57336001600160a01b0316600c60008484815181106119bc576119bc61455c565b60209081029190910181015161ffff168252810191909152604001600020600201546001600160a01b031614611a345760405162461bcd60e51b815260206004820152601a60248201527f4d65684552433732313a204e6f74206120726563697069656e7400000000000060448201526064016103c0565b82600c6000848481518110611a4b57611a4b61455c565b602002602001015161ffff1661ffff168152602001908152602001600020600101819055508080600101915050611993565b83838383611a8d84848484612f1c565b611acd5760405162461bcd60e51b815260206004820152601160248201527057726f6e6720636f6f7264696e6174657360781b60448201526064016103c0565b6000611adb89898989612f83565b90506001600160a01b038116611af057600080fd5b611479818a8a8a8a613141565b611b073383612aad565b611b235760405162461bcd60e51b81526004016103c0906145db565b611b2f84848484613395565b50505050565b611b3d612c6d565b6000611b476133c8565b9050611b5b6009546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015801561121f573d6000803e3d6000fd5b600080611ba2868686866129cc565b905060005b8151811015611dc057600080611bd5848481518110611bc857611bc861455c565b60200260200101516134a7565b60008054604051634abfbbe360e01b815260ff80861660048301528416602482015293955091935091829182916001600160a01b0390911690634abfbbe390604401606060405180830381865afa158015611c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5891906148e8565b919450925090506001600160a01b038316611cbf5760405162461bcd60e51b815260206004820152602160248201527f4d65684552433732313a2041726561206973206e6f74206d696e7465642079656044820152601d60fa1b60648201526084016103c0565b60008111611d0f5760405162461bcd60e51b815260206004820152601760248201527f4d65684552433732313a2053616e69747920636865636b00000000000000000060448201526064016103c0565b600c6000888881518110611d2557611d2561455c565b60209081029190910181015161ffff1682528101919091526040016000205460ff1615611da35760405162461bcd60e51b815260206004820152602660248201527f4d65684552433732313a204d757374207769746864726177207265636569707460448201526508199a5c9cdd60d21b60648201526084016103c0565b611dad81896147eb565b97505060019094019350611ba792505050565b50348214611e215760405162461bcd60e51b815260206004820152602860248201527f4d65684552433732313a2053656e64696e672077726f6e6720616d6f756e742060448201526737b31032ba3432b960c11b60648201526084016103c0565b600054604051632cdcafad60e11b815260ff808916600483015280881660248301528087166044830152851660648201526001600160a01b03909116906359b95f5a90849060840160206040518083038185885af1158015611e87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eac919061491f565b506000546040516335e49e5f60e01b815260ff8089166004830152808816602483015280871660448301528516606482015260001960848201526001600160a01b03909116906335e49e5f9060a401600060405180830381600087803b158015611f1557600080fd5b505af1158015611f29573d6000803e3d6000fd5b5050505060005b8151811015611f6857611f6033838381518110611f4f57611f4f61455c565b602002602001015161ffff16613521565b600101611f30565b506040805183815260ff8089166020830152808816928201929092528186166060820152908416608082015233907f4dde050e795822a37f85cd91946ca5e28a5623b1e3175473a1c4a15d51aa0b9e9060a001610d21565b6060611fcb82612ba0565b6000611fd56136ac565b90506000815111611ff55760405180602001604052806000815250612020565b80611fff846136bb565b604051602001612010929190614938565b6040516020818303038152906040525b9392505050565b6013546001600160a01b031633146120735760405162461bcd60e51b815260206004820152600f60248201526e41646d696e3a204e6f74206465767360881b60448201526064016103c0565b601354612089906001600160a01b031682613275565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006120b9858585856129cc565b90506000634e554c4c80825b845181101561235f576000806120e6878481518110611bc857611bc861455c565b60008054604051634abfbbe360e01b815260ff80861660048301528416602482015293955091935091829182916001600160a01b0390911690634abfbbe390604401606060405180830381865afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216991906148e8565b9194509250905060006001600160a01b03841630148015906121bf5750600c60008c898151811061219c5761219c61455c565b60209081029190910181015161ffff1682528101919091526040016000205460ff165b1561234d57600c60008c89815181106121da576121da61455c565b602002602001015161ffff1661ffff168152602001908152602001600020600101548a61220791906147eb565b9950600c60008c898151811061221f5761221f61455c565b602002602001015161ffff1661ffff16815260200190815260200160002060020160009054906101000a90046001600160a01b03169050600c60008c898151811061226c5761226c61455c565b60209081029190910181015161ffff1682528101919091526040016000908120805460ff19168155600181019190915560020180546001600160a01b03191690556001600160a01b03888116908a161461233457806001600160a01b0316886001600160a01b0316146123345760405162461bcd60e51b815260206004820152602a60248201527f4d65684552433732313a204d756c7469706c6520726563697069656e74732077604482015269697468696e206172656160b01b60648201526084016103c0565b600b805490600061234483614967565b91905055508097505b5050600190940193506120c592505050565b50600083116123bb5760405162461bcd60e51b815260206004820152602260248201527f4d65684552433732313a205061796d656e74206d7573742062652061626f7665604482015261020360f41b60648201526084016103c0565b600080546040805163429c145b60e11b8152905147936001600160a01b039093169263853828b6926004808201939182900301818387803b1580156123ff57600080fd5b505af1158015612413573d6000803e3d6000fd5b5047925061242591508390508261497e565b600a600082825461243691906147eb565b9250508190555084600a600082825461244f919061497e565b90915550506001600160a01b038381169085161480159061247857506001600160a01b03831615155b6124c45760405162461bcd60e51b815260206004820152601a60248201527f4d65684552433732313a2057726f6e6720726563697069656e7400000000000060448201526064016103c0565b6040516001600160a01b0384169086156108fc029087906000818181858888f193505050501580156124fa573d6000803e3d6000fd5b506040805186815260ff8c811660208301528b8116828401528a811660608301528916608082015290516001600160a01b038516917fc657ff9fdaa9e9d41918702ed0968b13cd09e5a01fab7e23e45c2d8bd218d7b3919081900360a00190a250505050505050505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b600e546001600160a01b031633146125fe5760405162461bcd60e51b815260206004820152602760248201527f466c6173686c6f616e65723a2043616c6c6572206973206e6f74206c6f616e506044820152666c6174666f726d60c81b60648201526084016103c0565b6000836000815181106126135761261361455c565b602002602001015190506000806000806000868060200190518101906126399190614991565b945094509450945094506000886000815181106126585761265861455c565b60209081029190910101516002546040516370a0823160e01b815230600482015291925088916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156126b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d4919061491f565b10156127165760405162461bcd60e51b815260206004820152601160248201527021a0a72727aa102922a820ac902627a0a760791b60448201526064016103c0565b600254604051632e1a7d4d60e01b8152600481018990526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b5050505061278287878787878761374d565b600260009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0886040518263ffffffff1660e01b81526004016000604051808303818588803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b50506002546001600160a01b0316925063a9059cbb915033905061280a848b6147eb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612855573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128799190614a06565b505050505050505050505050565b61288f612c6d565b6001600160a01b0381166128f45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c0565b6128fd81613223565b50565b600061290e85858585612f83565b90505b949350505050565b612921612c6d565b600b5415801561293357506000600a54115b6129905760405162461bcd60e51b815260206004820152602860248201527f4d65684552433732313a2072657363756520636f6e646974696f6e7320617265604482015267081b9bdd081b595d60c21b60648201526084016103c0565b600954600a546040516001600160a01b039092169181156108fc0291906000818181858888f193505050501580156128fd573d6000803e3d6000fd5b606060006129dc8686868661392d565b61ffff166001600160401b038111156129f7576129f761404f565b604051908082528060200260200182016040528015612a20578160200160208202803683370190505b509150855b8460ff168160ff1611612aa357855b8460ff168160ff1611612a9057612a4b8282613969565b848481518110612a5d57612a5d61455c565b61ffff9092166020928302919091019091015282612a7a81614588565b9350508080612a8890614a23565b915050612a34565b5080612a9b81614a23565b915050612a25565b5050949350505050565b600080612ab983611484565b9050806001600160a01b0316846001600160a01b03161480612ae05750612ae08185612566565b806129115750836001600160a01b0316612af984610dc3565b6001600160a01b031614949350505050565b6000612b1682611484565b9050612b2182611484565b600083815260076020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526006845282852080546000190190558785526005909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000818152600560205260409020546001600160a01b03166128fd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103c0565b600081815260076020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612c3482611484565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6009546001600160a01b031633146110555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c0565b826001600160a01b0316612cda82611484565b6001600160a01b031614612d005760405162461bcd60e51b81526004016103c090614a42565b6001600160a01b038216612d625760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103c0565b826001600160a01b0316612d7582611484565b6001600160a01b031614612d9b5760405162461bcd60e51b81526004016103c090614a42565b600081815260076020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260068552838620805460001901905590871680865283862080546001019055868652600590945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600060646010546054612e3e9190614a87565b612e489190614ab4565b905060006064601054600f612e5d9190614a87565b612e679190614ab4565b6011546001600160a01b0316600090815260146020526040812080549293508492909190612e969084906147eb565b90915550506012546001600160a01b031660009081526014602052604081208054839290612ec59084906147eb565b90915550506010548190612eda90849061497e565b612ee4919061497e565b6013546001600160a01b031660009081526014602052604081208054909190612f0e9084906147eb565b909155505060006010555050565b600060018560ff1610158015612f36575060018460ff1610155b8015612f46575060648360ff1611155b8015612f56575060648260ff1611155b8015612f6857508260ff168560ff1611155b801561290e57508160ff168460ff1611159050949350505050565b600080634e554c4c8082612f99898989896129cc565b905060005b815181101561310657600080612fbf848481518110611bc857611bc861455c565b90925090506000612fd08383613994565b6001600160a01b0316146130395760405162461bcd60e51b815260206004820152602a60248201527f4120626c6f636b20697320616c7265616479206d696e746564206f6e203230316044820152690d8818dbdb9d1c9858dd60b21b60648201526084016103c0565b61305f84848151811061304e5761304e61455c565b602002602001015161ffff16613a1d565b96506001600160a01b03871661307c576130798282613ac1565b96505b846001600160a01b0316876001600160a01b031614806130ad5750856001600160a01b0316856001600160a01b0316145b6130f95760405162461bcd60e51b815260206004820152601e60248201527f4d756c7469706c65206c616e646c6f7264732077697468696e2061726561000060448201526064016103c0565b5085935050600101612f9e565b509298975050505050505050565b6000806131238686868661392d565b90508061ffff16600f546131379190614a87565b9695505050505050565b600080546040516309401b8760e31b815260ff808816600483015280871660248301528086166044830152841660648201526001600160a01b0390911690634a00dc3890608401602060405180830381865afa1580156131a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131c9919061491f565b90506000811161320d5760405162461bcd60e51b815260206004820152600f60248201526e041726561207072696365206973203608c1b60448201526064016103c0565b61321b818787878787613b1a565b505050505050565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03808316600090815260146020526040808220549284168252812080549091906132a79084906147eb565b9091555050506001600160a01b0316600090815260146020526040812055565b816001600160a01b0316836001600160a01b0316036133285760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103c0565b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6133a0848484612cc7565b6133ac84848484613c84565b611b2f5760405162461bcd60e51b81526004016103c090614ac8565b60155460009081805b600660ff8316101561202057601560016133eb84866147fe565b6133f591906147fe565b60ff16815481106134085761340861455c565b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b0316633ccfd60b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015613465573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613489919061491f565b61349390826147eb565b90508161349f81614a23565b9250506133d1565b600080806134b6606485614b1a565b905060008160ff166000036134d7576134d0606486614b3e565b90506134f0565b6134e2606486614b3e565b6134ed906001614b62565b90505b6000613500600160ff8416614b7c565b61350b906064614b96565b6135159087614b7c565b96919550909350505050565b6001600160a01b0382166135775760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016103c0565b6000818152600560205260409020546001600160a01b0316156135dc5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103c0565b6000818152600560205260409020546001600160a01b0316156136415760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016103c0565b6001600160a01b038216600081815260066020908152604080832080546001019055848352600590915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060600d8054610d40906145a1565b606060006136c883613d82565b60010190506000816001600160401b038111156136e7576136e761404f565b6040519080825280601f01601f191660200182016040528015613711576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461371b57509392505050565b60008054604051632cdcafad60e11b815260ff808816600483015280871660248301528086166044830152841660648201526001600160a01b03909116906359b95f5a90899060840160206040518083038185885af11580156137b4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906137d9919061491f565b116138445760405162461bcd60e51b815260206004820152603560248201527f707572636861736550726963652072657475726e6564206279206f6c64204d65604482015274682069732062656c6f77206f72206973207a65726f60581b60648201526084016103c0565b600061384e6133c8565b9050868110156138b95760405162461bcd60e51b815260206004820152603060248201527f4d696e7465723a205265636569766564206e6f7420656e6f7567682066756e6460448201526f732066726f6d20726566657272616c7360801b60648201526084016103c0565b6138c3878261497e565b6011546001600160a01b0316600090815260146020526040812080549091906138ed9084906147eb565b9091555060009050613901868686866129cc565b905060005b81518110156114795761392588838381518110611f4f57611f4f61455c565b600101613906565b600061393984836147fe565b613944906001614817565b60ff1661395186856147fe565b61395c906001614817565b60ff1661290e9190614b96565b60008260ff1660018360ff1661397f9190614b7c565b61398a906064614b96565b6120209190614b62565b60008054604051634abfbbe360e01b815260ff8086166004830152841660248201528291829182916001600160a01b031690634abfbbe390604401606060405180830381865afa1580156139ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1091906148e8565b5090979650505050505050565b6001546040516331a9108f60e11b81526004810183905260009182916001600160a01b0390911690636352211e90602401602060405180830381865afa925050508015613a87575060408051601f3d908101601f19168201909252613a8491810190614628565b60015b612020573d808015613ab5576040519150601f19603f3d011682016040523d82523d6000602084013e613aba565b606091505b5050610a8e565b6000603760ff841610801590613adb5750605e60ff841611155b8015613aeb5750604660ff831610155b8015613afb5750605e60ff831611155b15613b1257506011546001600160a01b0316610a8e565b506000610a8e565b60408051600180825281830190925260009160208083019080368337505060025482519293506001600160a01b031691839150600090613b5c57613b5c61455c565b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526000918160200160208202803683370190505090508781600081518110613bad57613bad61455c565b60200260200101818152505060008787878787604051602001613c029594939291906001600160a01b0395909516855260ff938416602086015291831660408501528216606084015216608082015260a00190565b60408051601f1981840301815290829052600e54632e1c224f60e11b83529092506001600160a01b031690635c38449e90613c47903090879087908790600401614bba565b600060405180830381600087803b158015613c6157600080fd5b505af1158015613c75573d6000803e3d6000fd5b50505050505050505050505050565b60006001600160a01b0384163b15613d7a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613cc8903390899088908890600401614c6b565b6020604051808303816000875af1925050508015613d03575060408051601f3d908101601f19168201909252613d0091810190614c9e565b60015b613d60573d808015613d31576040519150601f19603f3d011682016040523d82523d6000602084013e613d36565b606091505b508051600003613d585760405162461bcd60e51b81526004016103c090614ac8565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612911565b506001612911565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310613dc15772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613ded576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310613e0b57662386f26fc10000830492506010015b6305f5e1008310613e23576305f5e100830492506008015b6127108310613e3757612710830492506004015b60648310613e49576064830492506002015b600a8310610a8e5760010192915050565b6001600160e01b0319811681146128fd57600080fd5b600060208284031215613e8257600080fd5b813561202081613e5a565b60ff811681146128fd57600080fd5b8035613ea781613e8d565b919050565b600080600080600060a08688031215613ec457600080fd5b8535613ecf81613e8d565b94506020860135613edf81613e8d565b93506040860135613eef81613e8d565b92506060860135613eff81613e8d565b949793965091946080013592915050565b60005b83811015613f2b578181015183820152602001613f13565b50506000910152565b60008151808452613f4c816020860160208601613f10565b601f01601f19169290920160200192915050565b6020815260006120206020830184613f34565b600060208284031215613f8557600080fd5b5035919050565b6001600160a01b03811681146128fd57600080fd5b60008060408385031215613fb457600080fd5b8235613fbf81613f8c565b946020939093013593505050565b600080600060608486031215613fe257600080fd5b8335613fed81613f8c565b92506020840135613ffd81613f8c565b929592945050506040919091013590565b60006020828403121561402057600080fd5b813561ffff8116811461202057600080fd5b60006020828403121561404457600080fd5b813561202081613f8c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561408d5761408d61404f565b604052919050565b6000806001600160401b038411156140af576140af61404f565b50601f8301601f19166020016140c481614065565b9150508281528383830111156140d957600080fd5b828260208301376000602084830101529392505050565b60006020828403121561410257600080fd5b81356001600160401b0381111561411857600080fd5b8201601f8101841361412957600080fd5b61291184823560208401614095565b60008083601f84011261414a57600080fd5b5081356001600160401b0381111561416157600080fd5b60208301915083602082850101111561417957600080fd5b9250929050565b60008060008060008060008060008060e08b8d03121561419f57600080fd5b8a356141aa81613e8d565b99506141b860208c01613e9c565b98506141c660408c01613e9c565b97506141d460608c01613e9c565b965060808b01356001600160401b038111156141ef57600080fd5b6141fb8d828e01614138565b90975095505060a08b01356001600160401b0381111561421a57600080fd5b6142268d828e01614138565b90955093505060c08b01356001600160401b0381111561424557600080fd5b6142518d828e01614138565b915080935050809150509295989b9194979a5092959850565b6000806000806080858703121561428057600080fd5b843561428b81613e8d565b9350602085013561429b81613e8d565b925060408501356142ab81613e8d565b915060608501356142bb81613e8d565b939692955090935050565b80151581146128fd57600080fd5b600080604083850312156142e757600080fd5b82356142f281613f8c565b91506020830135614302816142c6565b809150509250929050565b600082601f83011261431e57600080fd5b61202083833560208501614095565b6000806000806080858703121561434357600080fd5b843561434e81613f8c565b9350602085013561435e81613f8c565b92506040850135915060608501356001600160401b0381111561438057600080fd5b61438c8782880161430d565b91505092959194509250565b600080604083850312156143ab57600080fd5b82356143b681613f8c565b9150602083013561430281613f8c565b60006001600160401b038211156143df576143df61404f565b5060051b60200190565b600082601f8301126143fa57600080fd5b813561440d614408826143c6565b614065565b8082825260208201915060208360051b86010192508583111561442f57600080fd5b602085015b8381101561444c578035835260209283019201614434565b5095945050505050565b6000806000806080858703121561446c57600080fd5b84356001600160401b0381111561448257600080fd5b8501601f8101871361449357600080fd5b80356144a1614408826143c6565b8082825260208201915060208360051b8501019250898311156144c357600080fd5b6020840193505b828410156144ee5783356144dd81613f8c565b8252602093840193909101906144ca565b965050505060208501356001600160401b0381111561450c57600080fd5b614518878288016143e9565b93505060408501356001600160401b0381111561453457600080fd5b614540878288016143e9565b92505060608501356001600160401b0381111561438057600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161459a5761459a614572565b5060010190565b600181811c908216806145b557607f821691505b6020821081036145d557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60006020828403121561463a57600080fd5b815161202081613f8c565b601f821115610efa57806000526020600020601f840160051c8101602085101561466c5750805b601f840160051c820191505b8181101561468c5760008155600101614678565b5050505050565b81516001600160401b038111156146ac576146ac61404f565b6146c0816146ba84546145a1565b84614645565b6020601f8211600181146146f457600083156146dc5750848201515b600019600385901b1c1916600184901b17845561468c565b600084815260208120601f198516915b828110156147245787850151825560209485019460019092019101614704565b50848210156147425786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60ff8b16815260ff8a16602082015260ff8916604082015260ff8816606082015260e0608082015260006147b260e08301888a614751565b82810360a08401526147c5818789614751565b905082810360c08401526147da818587614751565b9d9c50505050505050505050505050565b80820180821115610a8e57610a8e614572565b60ff8281168282160390811115610a8e57610a8e614572565b60ff8181168382160190811115610a8e57610a8e614572565b600080600080600080600080610100898b03121561484d57600080fd5b885161485881613f8c565b60208a015190985061486981613e8d565b60408a015160608b0151919850965063ffffffff8116811461488a57600080fd5b60808a015190955061489b816142c6565b60a08a015160c08b015191955093506148b3816142c6565b60e09990990151979a96995094979396929591945050565b600060ff8216806148de576148de614572565b6000190192915050565b6000806000606084860312156148fd57600080fd5b835161490881613f8c565b602085015160409095015190969495509392505050565b60006020828403121561493157600080fd5b5051919050565b6000835161494a818460208801613f10565b83519083019061495e818360208801613f10565b01949350505050565b60008161497657614976614572565b506000190190565b81810381811115610a8e57610a8e614572565b600080600080600060a086880312156149a957600080fd5b85516149b481613f8c565b60208701519095506149c581613e8d565b60408701519094506149d681613e8d565b60608701519093506149e781613e8d565b60808701519092506149f881613e8d565b809150509295509295909350565b600060208284031215614a1857600080fd5b8151612020816142c6565b600060ff821660ff8103614a3957614a39614572565b60010192915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b8082028115828204841417610a8e57610a8e614572565b634e487b7160e01b600052601260045260246000fd5b600082614ac357614ac3614a9e565b500490565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600061ffff831680614b2e57614b2e614a9e565b8061ffff84160691505092915050565b600061ffff831680614b5257614b52614a9e565b8061ffff84160491505092915050565b61ffff8181168382160190811115610a8e57610a8e614572565b61ffff8281168282160390811115610a8e57610a8e614572565b61ffff8181168382160290811690818114614bb357614bb3614572565b5092915050565b6001600160a01b03851681526080602080830182905285519183018290526000919086019060a0840190835b81811015614c0d5783516001600160a01b0316835260209384019390920191600101614be6565b5050838103604085015285518082526020918201925090860190600090815b81811015614c4a578351855260209485019490930192600101614c2c565b505050508281036060840152614c608185613f34565b979650505050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061313790830184613f34565b600060208284031215614cb057600080fd5b815161202081613e5a56fea2646970667358221220180c93fdb66a00e7314254c30fa6c40808d94ff16cf394ddcfaf6c0ee8ba61ff64736f6c634300081e003300000000000000000000000015dbdb25f870f21eaf9105e68e249e0426dae916000000000000000000000000cef41878db032586c835ee0890484399402a64f6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8