Contract is not verified. However, we found a verified contract with the same bytecode in Blockscout DB 0x8efaca5ef729daacc52b943c9678a04974b730e5.
All metadata displayed below is from that contract. In order to verify current contract, click Verify & Publish button
Verify & Publish
All metadata displayed below is from that contract. In order to verify current contract, click Verify & Publish button
- Contract name:
- DataCubeContract
- Optimization enabled
- true
- Compiler version
- v0.8.9+commit.e5eed63a
- Optimization runs
- 200
- Verified at
- 2025-02-28T10:02:11.182026Z
Contract source code
// Sources flattened with hardhat v2.22.17 https://hardhat.org// SPDX-License-Identifier: MIT// File contracts/interfaces/IDataCube.sol// Original license: SPDX_License_Identifier: MITpragma solidity ^0.8.0;/// @notice Interface for HEXinterface IDataCube {/// @notice this event is emitted when admin mints NFT HEX/// @param to receiver of new HEX/// @param tokenId id of new HEX/// @param quality quality of new HEX/// @param season BattlePass season of new HEXevent HEXMinted(address indexed to,uint256 indexed tokenId,uint8 quality,uint256 season);/// @notice this event is emitted when HEX is burnt/// @param HEXTokenId id of NFT HEX/// @param HEXBackendTokenId if of backend nonNFT HEXevent HEXBurnt(uint256 indexed HEXTokenId,uint256 HEXBackendTokenId);function version() external view returns (uint32);/// @notice during decoding, ValidatorLicenseContract calls this function to open HEX and mint GameItem/// @dev data cube will be burned. Emits "Burnt" event. Calls "mintFromCube" function from GameItemContract via IGameItem interface/// @param _HEXTokenId token id of specific HEX/// @param _HLTokenId token id of specific Hacker License/// @param _HEXQuality HEX quality/// @param _receiver receiver's address of new item/// @param _HEXBackendTokenId backend token id of specific HEX/// @param _data metadata URLfunction open(uint256 _HEXTokenId,uint256 _HLTokenId,
Contract ABI
[{"type":"error","name":"CallerNotDecoder","inputs":[{"type":"address","name":"caller","internalType":"address"}]},{"type":"error","name":"ContractsIsNotPaused","inputs":[]},{"type":"error","name":"ContractsIsPaused","inputs":[]},{"type":"error","name":"IncorrectQuality","inputs":[{"type":"uint8","name":"quality","internalType":"uint8"}]},{"type":"error","name":"InvalidRole","inputs":[{"type":"address","name":"caller","internalType":"address"},{"type":"bytes32","name":"role","internalType":"bytes32"}]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"approved","internalType":"address","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"operator","internalType":"address","indexed":true},{"type":"bool","name":"approved","internalType":"bool","indexed":false}],"anonymous":false},{"type":"event","name":"HEXBurnt","inputs":[{"type":"uint256","name":"HEXTokenId","internalType":"uint256","indexed":true},{"type":"uint256","name":"HEXBackendTokenId","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"HEXMinted","inputs":[{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true},{"type":"uint8","name":"quality","internalType":"uint8","indexed":false},{"type":"uint256","name":"season","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"approve","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"owner","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"batchApprove","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256[]","name":"tokenIDs","internalType":"uint256[]"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"battlePassContractAddress","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"burn","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"quality","internalType":"enum DataCubeContract.Quality"},{"type":"uint256","name":"season","internalType":"uint256"},{"type":"address","name":"initialOwner","internalType":"address"}],"name":"dataCubes","inputs":[{"type":"uint256","name":"","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"decoderAddress","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"feeForDecodingHex","inputs":[{"type":"uint8","name":"","internalType":"enum DataCubeContract.Quality"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"gameItemContractAddress","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"getApproved","inputs":[{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"getCubeInitialOwner","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"getCubeQuality","inputs":[{"type":"uint256","name":"_tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"getFeeDependsOnQuality","inputs":[{"type":"uint8","name":"_quality","internalType":"uint8"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initialize","inputs":[{"type":"address","name":"_platformSettingsContractAddress","internalType":"address"},{"type":"uint256","name":"_feeForStandartHex","internalType":"uint256"},{"type":"uint256","name":"_feeForProfessionalHex","internalType":"uint256"},{"type":"uint256","name":"_feeForEliteHex","internalType":"uint256"},{"type":"uint256","name":"_feeForOverclockedHex","internalType":"uint256"},{"type":"uint256","name":"_feeForHackedHex","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isApprovedForAll","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"operator","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"lastMintedTokenID","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"metadataURL","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mint","inputs":[{"type":"address","name":"_to","internalType":"address"},{"type":"uint8","name":"_quality","internalType":"uint8"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"open","inputs":[{"type":"uint256","name":"_HEXTokenId","internalType":"uint256"},{"type":"uint256","name":"_HLTokenID","internalType":"uint256"},{"type":"uint8","name":"_HEXQuality","internalType":"uint8"},{"type":"address","name":"_receiver","internalType":"address"},{"type":"uint256","name":"_HEXBackendTokenId","internalType":"uint256"},{"type":"string","name":"_data","internalType":"string"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"ownerOf","inputs":[{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"platformSettingsContractAddress","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"safeTransferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"safeTransferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"tokenId","internalType":"uint256"},{"type":"bytes","name":"_data","internalType":"bytes"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setApprovalForAll","inputs":[{"type":"address","name":"operator","internalType":"address"},{"type":"bool","name":"approved","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setDecoderAddress","inputs":[{"type":"address","name":"_contractAddress","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setFeeForDecodingHex","inputs":[{"type":"uint8","name":"_quality","internalType":"uint8"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setGameItemContractAddress","inputs":[{"type":"address","name":"_contractAddress","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setMetadataURL","inputs":[{"type":"string","name":"newMetadataURL","internalType":"string"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"supportsInterface","inputs":[{"type":"bytes4","name":"interfaceId","internalType":"bytes4"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"tokenByIndex","inputs":[{"type":"uint256","name":"index","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"tokenOfOwnerByIndex","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"uint256","name":"index","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"tokenURI","inputs":[{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"tokenId","internalType":"uint256"}]},{"type":"function","stateMutability":"pure","outputs":[{"type":"uint32","name":"","internalType":"uint32"}],"name":"version","inputs":[]}]
Contract Creation Code
0x608060405234801561001057600080fd5b50613b00806100206000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80636352211e116101305780639b1075c0116100b8578063c87b56dd1161007c578063c87b56dd146104fd578063dba8d1a914610510578063e34128e414610530578063e985e9c514610543578063f7d004231461057f57600080fd5b80639b1075c0146104a8578063a22cb465146104b1578063a640b082146104c4578063b88d4fde146104d7578063c6a319fa146104ea57600080fd5b806370a08231116100ff57806370a0823114610454578063727ad86214610467578063747daec51461047a57806395d89b411461048d57806397c922201461049557600080fd5b80636352211e146103d057806365d5a9d0146103e3578063691562a0146103f65780636a04c0541461040957600080fd5b80633407fc51116101b357806342966c681161018257806342966c681461036157806345ff4c80146103745780634f6ccce71461038757806354fd4d501461039a578063629dc9d7146103ab57600080fd5b80633407fc511461031557806335f0d886146103285780633baaf3611461033b57806342842e0e1461034e57600080fd5b80630f109abf116101fa5780630f109abf146102a957806318160ddd146102d557806323b872dd146102e75780632dcc8c66146102fa5780632f745c591461030257600080fd5b806301ffc9a71461022c57806306fdde0314610254578063081812fc14610269578063095ea7b314610294575b600080fd5b61023f61023a366004613218565b610592565b60405190151581526020015b60405180910390f35b61025c6105bd565b60405161024b919061328d565b61027c6102773660046132a0565b61064f565b6040516001600160a01b03909116815260200161024b565b6102a76102a23660046132d5565b6106e9565b005b61027c6102b73660046132a0565b600090815260ce60205260409020600201546001600160a01b031690565b6099545b60405190815260200161024b565b6102a76102f53660046132ff565b6107ff565b61025c610830565b6102d96103103660046132d5565b6108be565b60ca5461027c906001600160a01b031681565b60cc5461027c906001600160a01b031681565b6102a76103493660046133eb565b610954565b6102a761035c3660046132ff565b610adb565b6102a761036f3660046132a0565b610af6565b6102a7610382366004613479565b610da6565b6102d96103953660046132a0565b610f8c565b604051621e8873815260200161024b565b6103be6103b93660046132a0565b61101f565b60405160ff909116815260200161024b565b61027c6103de3660046132a0565b611042565b6102a76103f13660046134c3565b6110b9565b6102a761040436600461357c565b6110f8565b6104456104173660046132a0565b60ce6020526000908152604090208054600182015460029092015460ff90911691906001600160a01b031683565b60405161024b939291906135c5565b6102d9610462366004613604565b611656565b6102a7610475366004613604565b6116dd565b6102a761048836600461361f565b611941565b61025c611b8f565b6102a76104a3366004613691565b611b9e565b6102d960c95481565b6102a76104bf3660046136bb565b611e31565b6102d96104d23660046136f2565b611e40565b6102a76104e536600461370d565b611e93565b60cd5461027c906001600160a01b031681565b61025c61050b3660046132a0565b611ecb565b6102d961051e366004613789565b60cf6020526000908152604090205481565b60cb5461027c906001600160a01b031681565b61023f6105513660046137aa565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102a761058d366004613604565b611fa6565b60006001600160e01b0319821663780e9d6360e01b14806105b757506105b78261220a565b92915050565b6060606580546105cc906137d4565b80601f01602080910402602001604051908101604052809291908181526020018280546105f8906137d4565b80156106455780601f1061061a57610100808354040283529160200191610645565b820191906000526020600020905b81548152906001019060200180831161062857829003601f168201915b5050505050905090565b6000818152606760205260408120546001600160a01b03166106cd5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152606960205260409020546001600160a01b031690565b60006106f482611042565b9050806001600160a01b0316836001600160a01b031614156107625760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106c4565b336001600160a01b038216148061077e575061077e8133610551565b6107f05760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106c4565b6107fa838361225a565b505050565b61080933826122c8565b6108255760405162461bcd60e51b81526004016106c49061380f565b6107fa8383836123bf565b60d0805461083d906137d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610869906137d4565b80156108b65780601f1061088b576101008083540402835291602001916108b6565b820191906000526020600020905b81548152906001019060200180831161089957829003601f168201915b505050505081565b60006108c983611656565b821061092b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016106c4565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b60cd60009054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a257600080fd5b505afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190613860565b156109f85760405163487ea6bb60e11b815260040160405180910390fd5b60ca546001600160a01b03163314610a255760405163b371549960e01b81523360048201526024016106c4565b60cc5460405163a869f99360e01b81526001600160a01b039091169063a869f99390610a5e90869089906001908a90889060040161387d565b600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b50505050610a998661256a565b857fa4f88736256311772693c859181394171e7b777e1658e799d6567bb29f77972e83604051610acb91815260200190565b60405180910390a2505050505050565b6107fa83838360405180602001604052806000815250611e93565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015610b4357600080fd5b505afa158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf09190613860565b80610cf0575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015610cb857600080fd5b505afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf09190613860565b610d9a5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b505afa158015610d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7091906138be565b6040516316b4d34b60e31b81526001600160a01b03909216600483015260248201526044016106c4565b610da38161256a565b50565b600054610100900460ff1680610dbf575060005460ff16155b610ddb5760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015610dfd576000805461ffff19166101011790555b610e3d604051806040016040528060038152602001620908ab60eb1b815250604051806040016040528060038152602001620908ab60eb1b815250612611565b60cd80546001600160a81b0319166001600160a01b03891617600160a01b1790558560cf6000806004811115610e7557610e756135af565b8152602001908152602001600020819055508460cf600060016004811115610e9f57610e9f6135af565b6004811115610eb057610eb06135af565b8152602001908152602001600020819055508360cf600060026004811115610eda57610eda6135af565b6004811115610eeb57610eeb6135af565b8152602001908152602001600020819055508260cf600060036004811115610f1557610f156135af565b6004811115610f2657610f266135af565b8152602001908152602001600020819055508160cf6000600480811115610f4f57610f4f6135af565b6004811115610f6057610f606135af565b81526020810191909152604001600020558015610f83576000805461ff00191690555b50505050505050565b6000610f9760995490565b8210610ffa5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016106c4565b6099828154811061100d5761100d613925565b90600052602060002001549050919050565b600081815260ce602052604081205460ff1660048111156105b7576105b76135af565b6000818152606760205260408120546001600160a01b0316806105b75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106c4565b60005b81518110156107fa576110e8838383815181106110db576110db613925565b60200260200101516106e9565b6110f181613951565b90506110bc565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b1580156111ba57600080fd5b505afa1580156111ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f29190613860565b806112f2575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561124557600080fd5b505afa158015611259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127d91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b1580156112ba57600080fd5b505afa1580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f29190613860565b61133a5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60048160ff161115611364576040516351cce0f960e11b815260ff821660048201526024016106c4565b600060c96000815461137590613951565b918290555090506113868382612698565b8160ff16600481111561139b5761139b6135af565b600082815260ce60205260409020805460ff191660018360048111156113c3576113c36135af565b021790555060cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561141557600080fd5b505afa158015611429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144d91906138be565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038616602482015260440160206040518083038186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cb9190613860565b15806115d7575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155791906138be565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038616602482015260440160206040518083038186803b15801561159d57600080fd5b505afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190613860565b155b1561160757600081815260ce6020526040902060020180546001600160a01b0319166001600160a01b0385161790555b6040805160ff841681526000602082015282916001600160a01b038616917fb9bf229610a22bce25cb6efcd01cbb0d25bf573412555d09089f72c2d7e0bec591015b60405180910390a3505050565b60006001600160a01b0382166116c15760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106c4565b506001600160a01b031660009081526068602052604090205490565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561172a57600080fd5b505afa15801561173e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176291906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d79190613860565b806118d7575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561182a57600080fd5b505afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186291906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561189f57600080fd5b505afa1580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190613860565b61191f5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60cc80546001600160a01b0319166001600160a01b0392909216919091179055565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561198e57600080fd5b505afa1580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c691906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b9190613860565b80611b3b575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015611a8e57600080fd5b505afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac691906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611b0357600080fd5b505afa158015611b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3b9190613860565b611b835760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b6107fa60d083836130f5565b6060606680546105cc906137d4565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015611beb57600080fd5b505afa158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611c6057600080fd5b505afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c989190613860565b80611d98575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015611ceb57600080fd5b505afa158015611cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2391906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611d6057600080fd5b505afa158015611d74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d989190613860565b611de05760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b8060cf60008460ff166004811115611dfa57611dfa6135af565b6004811115611e0b57611e0b6135af565b6004811115611e1c57611e1c6135af565b81526020810191909152604001600020555050565b611e3c3383836126b2565b5050565b600060cf60008360ff166004811115611e5b57611e5b6135af565b6004811115611e6c57611e6c6135af565b6004811115611e7d57611e7d6135af565b8152602001908152602001600020549050919050565b611e9d33836122c8565b611eb95760405162461bcd60e51b81526004016106c49061380f565b611ec584848484612779565b50505050565b6000818152606760205260409020546060906001600160a01b0316611f4a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016106c4565b6000611f546127ac565b90506000815111611f745760405180602001604052806000815250611f9f565b80611f7e846127bb565b604051602001611f8f92919061396c565b6040516020818303038152906040525b9392505050565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015611ff357600080fd5b505afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a09190613860565b806121a0575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b1580156120f357600080fd5b505afa158015612107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561216857600080fd5b505afa15801561217c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a09190613860565b6121e85760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061223b57506001600160e01b03198216635b5e139f60e01b145b806105b757506301ffc9a760e01b6001600160e01b03198316146105b7565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061228f82611042565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152606760205260408120546001600160a01b03166123415760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106c4565b600061234c83611042565b9050806001600160a01b0316846001600160a01b031614806123875750836001600160a01b031661237c8461064f565b6001600160a01b0316145b806123b757506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166123d282611042565b6001600160a01b03161461243a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106c4565b6001600160a01b03821661249c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106c4565b6124a78383836128b9565b6124b260008261225a565b6001600160a01b03831660009081526068602052604081208054600192906124db90849061399b565b90915550506001600160a01b03821660009081526068602052604081208054600192906125099084906139b2565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061257582611042565b9050612583816000846128b9565b61258e60008361225a565b6001600160a01b03811660009081526068602052604081208054600192906125b790849061399b565b909155505060008281526067602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff168061262a575060005460ff16155b6126465760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612668576000805461ffff19166101011790555b612670612b1f565b612678612b1f565b6126828383612b8a565b80156107fa576000805461ff0019169055505050565b611e3c828260405180602001604052806000815250612c1f565b816001600160a01b0316836001600160a01b031614156127145760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106c4565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611649565b6127848484846123bf565b61279084848484612c52565b611ec55760405162461bcd60e51b81526004016106c4906139ca565b606060d080546105cc906137d4565b6060816127df5750506040805180820190915260018152600360fc1b602082015290565b8160005b811561280957806127f381613951565b91506128029050600a83613a32565b91506127e3565b60008167ffffffffffffffff8111156128245761282461334c565b6040519080825280601f01601f19166020018201604052801561284e576020820181803683370190505b5090505b84156123b75761286360018361399b565b9150612870600a86613a46565b61287b9060306139b2565b60f81b81838151811061289057612890613925565b60200101906001600160f81b031916908160001a9053506128b2600a86613a32565b9450612852565b60ca546001600160a01b03163314801590612acb575060cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561291c57600080fd5b505afa158015612930573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295491906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561299157600080fd5b505afa1580156129a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129c99190613860565b80612ac9575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015612a1c57600080fd5b505afa158015612a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5491906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015612a9157600080fd5b505afa158015612aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac99190613860565b155b15612b145760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b6107fa838383612d5f565b600054610100900460ff1680612b38575060005460ff16155b612b545760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612b76576000805461ffff19166101011790555b8015610da3576000805461ff001916905550565b600054610100900460ff1680612ba3575060005460ff16155b612bbf5760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612be1576000805461ffff19166101011790555b8251612bf4906065906020860190613179565b508151612c08906066906020850190613179565b5080156107fa576000805461ff0019169055505050565b612c298383612e17565b612c366000848484612c52565b6107fa5760405162461bcd60e51b81526004016106c4906139ca565b60006001600160a01b0384163b15612d5457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612c96903390899088908890600401613a5a565b602060405180830381600087803b158015612cb057600080fd5b505af1925050508015612ce0575060408051601f3d908101601f19168201909252612cdd91810190613a97565b60015b612d3a573d808015612d0e576040519150601f19603f3d011682016040523d82523d6000602084013e612d13565b606091505b508051612d325760405162461bcd60e51b81526004016106c4906139ca565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506123b7565b506001949350505050565b6001600160a01b038316612dba57612db581609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b612ddd565b816001600160a01b0316836001600160a01b031614612ddd57612ddd8382612f65565b6001600160a01b038216612df4576107fa81613002565b826001600160a01b0316826001600160a01b0316146107fa576107fa82826130b1565b6001600160a01b038216612e6d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106c4565b6000818152606760205260409020546001600160a01b031615612ed25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106c4565b612ede600083836128b9565b6001600160a01b0382166000908152606860205260408120805460019290612f079084906139b2565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001612f7284611656565b612f7c919061399b565b600083815260986020526040902054909150808214612fcf576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b6099546000906130149060019061399b565b6000838152609a60205260408120546099805493945090928490811061303c5761303c613925565b90600052602060002001549050806099838154811061305d5761305d613925565b6000918252602080832090910192909255828152609a9091526040808220849055858252812055609980548061309557613095613ab4565b6001900381819060005260206000200160009055905550505050565b60006130bc83611656565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b828054613101906137d4565b90600052602060002090601f0160209004810192826131235760008555613169565b82601f1061313c5782800160ff19823516178555613169565b82800160010185558215613169579182015b8281111561316957823582559160200191906001019061314e565b506131759291506131ed565b5090565b828054613185906137d4565b90600052602060002090601f0160209004810192826131a75760008555613169565b82601f106131c057805160ff1916838001178555613169565b82800160010185558215613169579182015b828111156131695782518255916020019190600101906131d2565b5b8082111561317557600081556001016131ee565b6001600160e01b031981168114610da357600080fd5b60006020828403121561322a57600080fd5b8135611f9f81613202565b60005b83811015613250578181015183820152602001613238565b83811115611ec55750506000910152565b60008151808452613279816020860160208601613235565b601f01601f19169290920160200192915050565b602081526000611f9f6020830184613261565b6000602082840312156132b257600080fd5b5035919050565b80356001600160a01b03811681146132d057600080fd5b919050565b600080604083850312156132e857600080fd5b6132f1836132b9565b946020939093013593505050565b60008060006060848603121561331457600080fd5b61331d846132b9565b925061332b602085016132b9565b9150604084013590509250925092565b803560ff811681146132d057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561338b5761338b61334c565b604052919050565b600067ffffffffffffffff8311156133ad576133ad61334c565b6133c0601f8401601f1916602001613362565b90508281528383830111156133d457600080fd5b828260208301376000602084830101529392505050565b60008060008060008060c0878903121561340457600080fd5b863595506020870135945061341b6040880161333b565b9350613429606088016132b9565b92506080870135915060a087013567ffffffffffffffff81111561344c57600080fd5b8701601f8101891361345d57600080fd5b61346c89823560208401613393565b9150509295509295509295565b60008060008060008060c0878903121561349257600080fd5b61349b876132b9565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600080604083850312156134d657600080fd5b6134df836132b9565b915060208084013567ffffffffffffffff808211156134fd57600080fd5b818601915086601f83011261351157600080fd5b8135818111156135235761352361334c565b8060051b9150613534848301613362565b818152918301840191848101908984111561354e57600080fd5b938501935b8385101561356c57843582529385019390850190613553565b8096505050505050509250929050565b6000806040838503121561358f57600080fd5b613598836132b9565b91506135a66020840161333b565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b60608101600585106135e757634e487b7160e01b600052602160045260246000fd5b93815260208101929092526001600160a01b031660409091015290565b60006020828403121561361657600080fd5b611f9f826132b9565b6000806020838503121561363257600080fd5b823567ffffffffffffffff8082111561364a57600080fd5b818501915085601f83011261365e57600080fd5b81358181111561366d57600080fd5b86602082850101111561367f57600080fd5b60209290920196919550909350505050565b600080604083850312156136a457600080fd5b6132f18361333b565b8015158114610da357600080fd5b600080604083850312156136ce57600080fd5b6136d7836132b9565b915060208301356136e7816136ad565b809150509250929050565b60006020828403121561370457600080fd5b611f9f8261333b565b6000806000806080858703121561372357600080fd5b61372c856132b9565b935061373a602086016132b9565b925060408501359150606085013567ffffffffffffffff81111561375d57600080fd5b8501601f8101871361376e57600080fd5b61377d87823560208401613393565b91505092959194509250565b60006020828403121561379b57600080fd5b813560058110611f9f57600080fd5b600080604083850312156137bd57600080fd5b6137c6836132b9565b91506135a6602084016132b9565b600181811c908216806137e857607f821691505b6020821081141561380957634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020828403121561387257600080fd5b8151611f9f816136ad565b60018060a01b038616815284602082015283604082015260ff8316606082015260a0608082015260006138b360a0830184613261565b979650505050505050565b6000602082840312156138d057600080fd5b5051919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156139655761396561393b565b5060010190565b6000835161397e818460208801613235565b835190830190613992818360208801613235565b01949350505050565b6000828210156139ad576139ad61393b565b500390565b600082198211156139c5576139c561393b565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082613a4157613a41613a1c565b500490565b600082613a5557613a55613a1c565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613a8d90830184613261565b9695505050505050565b600060208284031215613aa957600080fd5b8151611f9f81613202565b634e487b7160e01b600052603160045260246000fdfea26469706673582212204c03468904f12ec435692a01ed91f22685fa96fa83b4940b1ae6d5d48c19071564736f6c63430008090033
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106102275760003560e01c80636352211e116101305780639b1075c0116100b8578063c87b56dd1161007c578063c87b56dd146104fd578063dba8d1a914610510578063e34128e414610530578063e985e9c514610543578063f7d004231461057f57600080fd5b80639b1075c0146104a8578063a22cb465146104b1578063a640b082146104c4578063b88d4fde146104d7578063c6a319fa146104ea57600080fd5b806370a08231116100ff57806370a0823114610454578063727ad86214610467578063747daec51461047a57806395d89b411461048d57806397c922201461049557600080fd5b80636352211e146103d057806365d5a9d0146103e3578063691562a0146103f65780636a04c0541461040957600080fd5b80633407fc51116101b357806342966c681161018257806342966c681461036157806345ff4c80146103745780634f6ccce71461038757806354fd4d501461039a578063629dc9d7146103ab57600080fd5b80633407fc511461031557806335f0d886146103285780633baaf3611461033b57806342842e0e1461034e57600080fd5b80630f109abf116101fa5780630f109abf146102a957806318160ddd146102d557806323b872dd146102e75780632dcc8c66146102fa5780632f745c591461030257600080fd5b806301ffc9a71461022c57806306fdde0314610254578063081812fc14610269578063095ea7b314610294575b600080fd5b61023f61023a366004613218565b610592565b60405190151581526020015b60405180910390f35b61025c6105bd565b60405161024b919061328d565b61027c6102773660046132a0565b61064f565b6040516001600160a01b03909116815260200161024b565b6102a76102a23660046132d5565b6106e9565b005b61027c6102b73660046132a0565b600090815260ce60205260409020600201546001600160a01b031690565b6099545b60405190815260200161024b565b6102a76102f53660046132ff565b6107ff565b61025c610830565b6102d96103103660046132d5565b6108be565b60ca5461027c906001600160a01b031681565b60cc5461027c906001600160a01b031681565b6102a76103493660046133eb565b610954565b6102a761035c3660046132ff565b610adb565b6102a761036f3660046132a0565b610af6565b6102a7610382366004613479565b610da6565b6102d96103953660046132a0565b610f8c565b604051621e8873815260200161024b565b6103be6103b93660046132a0565b61101f565b60405160ff909116815260200161024b565b61027c6103de3660046132a0565b611042565b6102a76103f13660046134c3565b6110b9565b6102a761040436600461357c565b6110f8565b6104456104173660046132a0565b60ce6020526000908152604090208054600182015460029092015460ff90911691906001600160a01b031683565b60405161024b939291906135c5565b6102d9610462366004613604565b611656565b6102a7610475366004613604565b6116dd565b6102a761048836600461361f565b611941565b61025c611b8f565b6102a76104a3366004613691565b611b9e565b6102d960c95481565b6102a76104bf3660046136bb565b611e31565b6102d96104d23660046136f2565b611e40565b6102a76104e536600461370d565b611e93565b60cd5461027c906001600160a01b031681565b61025c61050b3660046132a0565b611ecb565b6102d961051e366004613789565b60cf6020526000908152604090205481565b60cb5461027c906001600160a01b031681565b61023f6105513660046137aa565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6102a761058d366004613604565b611fa6565b60006001600160e01b0319821663780e9d6360e01b14806105b757506105b78261220a565b92915050565b6060606580546105cc906137d4565b80601f01602080910402602001604051908101604052809291908181526020018280546105f8906137d4565b80156106455780601f1061061a57610100808354040283529160200191610645565b820191906000526020600020905b81548152906001019060200180831161062857829003601f168201915b5050505050905090565b6000818152606760205260408120546001600160a01b03166106cd5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152606960205260409020546001600160a01b031690565b60006106f482611042565b9050806001600160a01b0316836001600160a01b031614156107625760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106c4565b336001600160a01b038216148061077e575061077e8133610551565b6107f05760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106c4565b6107fa838361225a565b505050565b61080933826122c8565b6108255760405162461bcd60e51b81526004016106c49061380f565b6107fa8383836123bf565b60d0805461083d906137d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610869906137d4565b80156108b65780601f1061088b576101008083540402835291602001916108b6565b820191906000526020600020905b81548152906001019060200180831161089957829003601f168201915b505050505081565b60006108c983611656565b821061092b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016106c4565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b60cd60009054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a257600080fd5b505afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190613860565b156109f85760405163487ea6bb60e11b815260040160405180910390fd5b60ca546001600160a01b03163314610a255760405163b371549960e01b81523360048201526024016106c4565b60cc5460405163a869f99360e01b81526001600160a01b039091169063a869f99390610a5e90869089906001908a90889060040161387d565b600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b50505050610a998661256a565b857fa4f88736256311772693c859181394171e7b777e1658e799d6567bb29f77972e83604051610acb91815260200190565b60405180910390a2505050505050565b6107fa83838360405180602001604052806000815250611e93565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015610b4357600080fd5b505afa158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf09190613860565b80610cf0575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015610cb857600080fd5b505afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf09190613860565b610d9a5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b505afa158015610d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7091906138be565b6040516316b4d34b60e31b81526001600160a01b03909216600483015260248201526044016106c4565b610da38161256a565b50565b600054610100900460ff1680610dbf575060005460ff16155b610ddb5760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015610dfd576000805461ffff19166101011790555b610e3d604051806040016040528060038152602001620908ab60eb1b815250604051806040016040528060038152602001620908ab60eb1b815250612611565b60cd80546001600160a81b0319166001600160a01b03891617600160a01b1790558560cf6000806004811115610e7557610e756135af565b8152602001908152602001600020819055508460cf600060016004811115610e9f57610e9f6135af565b6004811115610eb057610eb06135af565b8152602001908152602001600020819055508360cf600060026004811115610eda57610eda6135af565b6004811115610eeb57610eeb6135af565b8152602001908152602001600020819055508260cf600060036004811115610f1557610f156135af565b6004811115610f2657610f266135af565b8152602001908152602001600020819055508160cf6000600480811115610f4f57610f4f6135af565b6004811115610f6057610f606135af565b81526020810191909152604001600020558015610f83576000805461ff00191690555b50505050505050565b6000610f9760995490565b8210610ffa5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016106c4565b6099828154811061100d5761100d613925565b90600052602060002001549050919050565b600081815260ce602052604081205460ff1660048111156105b7576105b76135af565b6000818152606760205260408120546001600160a01b0316806105b75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106c4565b60005b81518110156107fa576110e8838383815181106110db576110db613925565b60200260200101516106e9565b6110f181613951565b90506110bc565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b1580156111ba57600080fd5b505afa1580156111ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f29190613860565b806112f2575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561124557600080fd5b505afa158015611259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127d91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b1580156112ba57600080fd5b505afa1580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f29190613860565b61133a5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60048160ff161115611364576040516351cce0f960e11b815260ff821660048201526024016106c4565b600060c96000815461137590613951565b918290555090506113868382612698565b8160ff16600481111561139b5761139b6135af565b600082815260ce60205260409020805460ff191660018360048111156113c3576113c36135af565b021790555060cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561141557600080fd5b505afa158015611429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144d91906138be565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038616602482015260440160206040518083038186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cb9190613860565b15806115d7575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155791906138be565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038616602482015260440160206040518083038186803b15801561159d57600080fd5b505afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d59190613860565b155b1561160757600081815260ce6020526040902060020180546001600160a01b0319166001600160a01b0385161790555b6040805160ff841681526000602082015282916001600160a01b038616917fb9bf229610a22bce25cb6efcd01cbb0d25bf573412555d09089f72c2d7e0bec591015b60405180910390a3505050565b60006001600160a01b0382166116c15760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106c4565b506001600160a01b031660009081526068602052604090205490565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561172a57600080fd5b505afa15801561173e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176291906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d79190613860565b806118d7575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b15801561182a57600080fd5b505afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186291906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561189f57600080fd5b505afa1580156118b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d79190613860565b61191f5760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60cc80546001600160a01b0319166001600160a01b0392909216919091179055565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561198e57600080fd5b505afa1580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c691906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b9190613860565b80611b3b575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015611a8e57600080fd5b505afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac691906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611b0357600080fd5b505afa158015611b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3b9190613860565b611b835760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b6107fa60d083836130f5565b6060606680546105cc906137d4565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015611beb57600080fd5b505afa158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611c6057600080fd5b505afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c989190613860565b80611d98575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015611ceb57600080fd5b505afa158015611cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2391906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015611d6057600080fd5b505afa158015611d74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d989190613860565b611de05760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b8060cf60008460ff166004811115611dfa57611dfa6135af565b6004811115611e0b57611e0b6135af565b6004811115611e1c57611e1c6135af565b81526020810191909152604001600020555050565b611e3c3383836126b2565b5050565b600060cf60008360ff166004811115611e5b57611e5b6135af565b6004811115611e6c57611e6c6135af565b6004811115611e7d57611e7d6135af565b8152602001908152602001600020549050919050565b611e9d33836122c8565b611eb95760405162461bcd60e51b81526004016106c49061380f565b611ec584848484612779565b50505050565b6000818152606760205260409020546060906001600160a01b0316611f4a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016106c4565b6000611f546127ac565b90506000815111611f745760405180602001604052806000815250611f9f565b80611f7e846127bb565b604051602001611f8f92919061396c565b6040516020818303038152906040525b9392505050565b60cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b158015611ff357600080fd5b505afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561206857600080fd5b505afa15801561207c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a09190613860565b806121a0575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b1580156120f357600080fd5b505afa158015612107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212b91906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561216857600080fd5b505afa15801561217c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a09190613860565b6121e85760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061223b57506001600160e01b03198216635b5e139f60e01b145b806105b757506301ffc9a760e01b6001600160e01b03198316146105b7565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061228f82611042565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152606760205260408120546001600160a01b03166123415760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106c4565b600061234c83611042565b9050806001600160a01b0316846001600160a01b031614806123875750836001600160a01b031661237c8461064f565b6001600160a01b0316145b806123b757506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166123d282611042565b6001600160a01b03161461243a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106c4565b6001600160a01b03821661249c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106c4565b6124a78383836128b9565b6124b260008261225a565b6001600160a01b03831660009081526068602052604081208054600192906124db90849061399b565b90915550506001600160a01b03821660009081526068602052604081208054600192906125099084906139b2565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061257582611042565b9050612583816000846128b9565b61258e60008361225a565b6001600160a01b03811660009081526068602052604081208054600192906125b790849061399b565b909155505060008281526067602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff168061262a575060005460ff16155b6126465760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612668576000805461ffff19166101011790555b612670612b1f565b612678612b1f565b6126828383612b8a565b80156107fa576000805461ff0019169055505050565b611e3c828260405180602001604052806000815250612c1f565b816001600160a01b0316836001600160a01b031614156127145760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106c4565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611649565b6127848484846123bf565b61279084848484612c52565b611ec55760405162461bcd60e51b81526004016106c4906139ca565b606060d080546105cc906137d4565b6060816127df5750506040805180820190915260018152600360fc1b602082015290565b8160005b811561280957806127f381613951565b91506128029050600a83613a32565b91506127e3565b60008167ffffffffffffffff8111156128245761282461334c565b6040519080825280601f01601f19166020018201604052801561284e576020820181803683370190505b5090505b84156123b75761286360018361399b565b9150612870600a86613a46565b61287b9060306139b2565b60f81b81838151811061289057612890613925565b60200101906001600160f81b031916908160001a9053506128b2600a86613a32565b9450612852565b60ca546001600160a01b03163314801590612acb575060cd546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf91600480820192602092909190829003018186803b15801561291c57600080fd5b505afa158015612930573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295491906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b15801561299157600080fd5b505afa1580156129a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129c99190613860565b80612ac9575060cd546040805163a6b4321160e01b815290516001600160a01b03909216916391d1485491839163a6b4321191600480820192602092909190829003018186803b158015612a1c57600080fd5b505afa158015612a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5491906138be565b6040516001600160e01b031960e084901b168152600481019190915233602482015260440160206040518083038186803b158015612a9157600080fd5b505afa158015612aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac99190613860565b155b15612b145760cd546040805163a6b4321160e01b8152905133926001600160a01b03169163a6b43211916004808301926020929190829003018186803b158015610d3857600080fd5b6107fa838383612d5f565b600054610100900460ff1680612b38575060005460ff16155b612b545760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612b76576000805461ffff19166101011790555b8015610da3576000805461ff001916905550565b600054610100900460ff1680612ba3575060005460ff16155b612bbf5760405162461bcd60e51b81526004016106c4906138d7565b600054610100900460ff16158015612be1576000805461ffff19166101011790555b8251612bf4906065906020860190613179565b508151612c08906066906020850190613179565b5080156107fa576000805461ff0019169055505050565b612c298383612e17565b612c366000848484612c52565b6107fa5760405162461bcd60e51b81526004016106c4906139ca565b60006001600160a01b0384163b15612d5457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612c96903390899088908890600401613a5a565b602060405180830381600087803b158015612cb057600080fd5b505af1925050508015612ce0575060408051601f3d908101601f19168201909252612cdd91810190613a97565b60015b612d3a573d808015612d0e576040519150601f19603f3d011682016040523d82523d6000602084013e612d13565b606091505b508051612d325760405162461bcd60e51b81526004016106c4906139ca565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506123b7565b506001949350505050565b6001600160a01b038316612dba57612db581609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b612ddd565b816001600160a01b0316836001600160a01b031614612ddd57612ddd8382612f65565b6001600160a01b038216612df4576107fa81613002565b826001600160a01b0316826001600160a01b0316146107fa576107fa82826130b1565b6001600160a01b038216612e6d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106c4565b6000818152606760205260409020546001600160a01b031615612ed25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106c4565b612ede600083836128b9565b6001600160a01b0382166000908152606860205260408120805460019290612f079084906139b2565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001612f7284611656565b612f7c919061399b565b600083815260986020526040902054909150808214612fcf576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b6099546000906130149060019061399b565b6000838152609a60205260408120546099805493945090928490811061303c5761303c613925565b90600052602060002001549050806099838154811061305d5761305d613925565b6000918252602080832090910192909255828152609a9091526040808220849055858252812055609980548061309557613095613ab4565b6001900381819060005260206000200160009055905550505050565b60006130bc83611656565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b828054613101906137d4565b90600052602060002090601f0160209004810192826131235760008555613169565b82601f1061313c5782800160ff19823516178555613169565b82800160010185558215613169579182015b8281111561316957823582559160200191906001019061314e565b506131759291506131ed565b5090565b828054613185906137d4565b90600052602060002090601f0160209004810192826131a75760008555613169565b82601f106131c057805160ff1916838001178555613169565b82800160010185558215613169579182015b828111156131695782518255916020019190600101906131d2565b5b8082111561317557600081556001016131ee565b6001600160e01b031981168114610da357600080fd5b60006020828403121561322a57600080fd5b8135611f9f81613202565b60005b83811015613250578181015183820152602001613238565b83811115611ec55750506000910152565b60008151808452613279816020860160208601613235565b601f01601f19169290920160200192915050565b602081526000611f9f6020830184613261565b6000602082840312156132b257600080fd5b5035919050565b80356001600160a01b03811681146132d057600080fd5b919050565b600080604083850312156132e857600080fd5b6132f1836132b9565b946020939093013593505050565b60008060006060848603121561331457600080fd5b61331d846132b9565b925061332b602085016132b9565b9150604084013590509250925092565b803560ff811681146132d057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561338b5761338b61334c565b604052919050565b600067ffffffffffffffff8311156133ad576133ad61334c565b6133c0601f8401601f1916602001613362565b90508281528383830111156133d457600080fd5b828260208301376000602084830101529392505050565b60008060008060008060c0878903121561340457600080fd5b863595506020870135945061341b6040880161333b565b9350613429606088016132b9565b92506080870135915060a087013567ffffffffffffffff81111561344c57600080fd5b8701601f8101891361345d57600080fd5b61346c89823560208401613393565b9150509295509295509295565b60008060008060008060c0878903121561349257600080fd5b61349b876132b9565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600080604083850312156134d657600080fd5b6134df836132b9565b915060208084013567ffffffffffffffff808211156134fd57600080fd5b818601915086601f83011261351157600080fd5b8135818111156135235761352361334c565b8060051b9150613534848301613362565b818152918301840191848101908984111561354e57600080fd5b938501935b8385101561356c57843582529385019390850190613553565b8096505050505050509250929050565b6000806040838503121561358f57600080fd5b613598836132b9565b91506135a66020840161333b565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b60608101600585106135e757634e487b7160e01b600052602160045260246000fd5b93815260208101929092526001600160a01b031660409091015290565b60006020828403121561361657600080fd5b611f9f826132b9565b6000806020838503121561363257600080fd5b823567ffffffffffffffff8082111561364a57600080fd5b818501915085601f83011261365e57600080fd5b81358181111561366d57600080fd5b86602082850101111561367f57600080fd5b60209290920196919550909350505050565b600080604083850312156136a457600080fd5b6132f18361333b565b8015158114610da357600080fd5b600080604083850312156136ce57600080fd5b6136d7836132b9565b915060208301356136e7816136ad565b809150509250929050565b60006020828403121561370457600080fd5b611f9f8261333b565b6000806000806080858703121561372357600080fd5b61372c856132b9565b935061373a602086016132b9565b925060408501359150606085013567ffffffffffffffff81111561375d57600080fd5b8501601f8101871361376e57600080fd5b61377d87823560208401613393565b91505092959194509250565b60006020828403121561379b57600080fd5b813560058110611f9f57600080fd5b600080604083850312156137bd57600080fd5b6137c6836132b9565b91506135a6602084016132b9565b600181811c908216806137e857607f821691505b6020821081141561380957634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020828403121561387257600080fd5b8151611f9f816136ad565b60018060a01b038616815284602082015283604082015260ff8316606082015260a0608082015260006138b360a0830184613261565b979650505050505050565b6000602082840312156138d057600080fd5b5051919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156139655761396561393b565b5060010190565b6000835161397e818460208801613235565b835190830190613992818360208801613235565b01949350505050565b6000828210156139ad576139ad61393b565b500390565b600082198211156139c5576139c561393b565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082613a4157613a41613a1c565b500490565b600082613a5557613a55613a1c565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613a8d90830184613261565b9695505050505050565b600060208284031215613aa957600080fd5b8151611f9f81613202565b634e487b7160e01b600052603160045260246000fdfea26469706673582212204c03468904f12ec435692a01ed91f22685fa96fa83b4940b1ae6d5d48c19071564736f6c63430008090033