/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { BreedUFOGees } from "../BreedUFOGees"; export class BreedUFOGees__factory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } deploy( _ufogeesContract: string, _ufogeesItemContract: string, _plasmaContract: string, _mintableErc20Predicate: string, _rootChainManagerProxy: string, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( _ufogeesContract, _ufogeesItemContract, _plasmaContract, _mintableErc20Predicate, _rootChainManagerProxy, overrides || {} ) as Promise; } getDeployTransaction( _ufogeesContract: string, _ufogeesItemContract: string, _plasmaContract: string, _mintableErc20Predicate: string, _rootChainManagerProxy: string, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction( _ufogeesContract, _ufogeesItemContract, _plasmaContract, _mintableErc20Predicate, _rootChainManagerProxy, overrides || {} ); } attach(address: string): BreedUFOGees { return super.attach(address) as BreedUFOGees; } connect(signer: Signer): BreedUFOGees__factory { return super.connect(signer) as BreedUFOGees__factory; } static connect( address: string, signerOrProvider: Signer | Provider ): BreedUFOGees { return new Contract(address, _abi, signerOrProvider) as BreedUFOGees; } } const _abi = [ { inputs: [ { internalType: "address", name: "_ufogeesContract", type: "address", }, { internalType: "address", name: "_ufogeesItemContract", type: "address", }, { internalType: "address", name: "_plasmaContract", type: "address", }, { internalType: "address", name: "_mintableErc20Predicate", type: "address", }, { internalType: "address", name: "_rootChainManagerProxy", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "breedingIndex", type: "uint256", }, ], name: "CancelLocking", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "newLockTime", type: "uint256", }, ], name: "ChangeLockTime", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "breedingIndex", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rewardType", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rewardCount", type: "uint256", }, ], name: "ClaimReward", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "creator", type: "address", }, { indexed: true, internalType: "uint256", name: "breedingIndex", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ufogees1", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ufogees2", type: "uint256", }, { indexed: false, internalType: "uint256", name: "releaseTime", type: "uint256", }, ], name: "StartLocking", type: "event", }, { inputs: [], name: "ADMIN", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_breedingIndex", type: "uint256", }, ], name: "_breedingPool", outputs: [ { components: [ { internalType: "uint256", name: "ufogees1", type: "uint256", }, { internalType: "uint256", name: "ufogees2", type: "uint256", }, { internalType: "uint256", name: "releaseTime", type: "uint256", }, { internalType: "address", name: "creator", type: "address", }, { internalType: "enum BreedUFOGees.UFOGeesItemType", name: "rewardType", type: "uint8", }, { internalType: "uint256", name: "rewardCount", type: "uint256", }, { internalType: "uint256", name: "rdn", type: "uint256", }, { internalType: "enum BreedUFOGees.BreedState", name: "state", type: "uint8", }, ], internalType: "struct BreedUFOGees.BreedingItem", name: "", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "admin", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "breedingIndex", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_breedingIndex", type: "uint256", }, ], name: "cancelLockUFOGees", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_admin", type: "address", }, ], name: "changeAdmin", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "newLockTime", type: "uint256", }, ], name: "changeLockTime", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "lockTime", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "ufogees1", type: "uint256", }, { internalType: "uint256", name: "ufogees2", type: "uint256", }, ], name: "lockUFOGees", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "mintableErc20Predicate", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "address", name: "", type: "address", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "bytes", name: "", type: "bytes", }, ], name: "onERC721Received", outputs: [ { internalType: "bytes4", name: "", type: "bytes4", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "plasmaContract", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "rootChainManagerProxy", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_plasmaContract", type: "address", }, ], name: "setPlasmaContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_ufogeesContract", type: "address", }, ], name: "setUFOGeesContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_ufogeesItemContract", type: "address", }, ], name: "setUFOGeesItemContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_breedingIndex", type: "uint256", }, { internalType: "enum BreedUFOGees.PlasmaTransferType", name: "_transferType", type: "uint8", }, ], name: "withdrawReward", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60c06040526276a7006005553480156200001857600080fd5b5060405162002659380380620026598339810160408190526200003b91620001a3565b60018054336001600160a01b031991821681179092556002805482166001600160a01b038981169190911790915560038054831688831617905560048054909216908616179055606083811b6001600160601b03199081166080529083901b1660a052620000cb907fdf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec4290620000d6565b505050505062000213565b620000e28282620000e6565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000e2576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001423390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200019e57600080fd5b919050565b600080600080600060a08688031215620001bc57600080fd5b620001c78662000186565b9450620001d76020870162000186565b9350620001e76040870162000186565b9250620001f76060870162000186565b9150620002076080870162000186565b90509295509295909350565b60805160601c60a05160601c61240c6200024d6000396000818161027c0152611aed01526000818161040901526119aa015261240c6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c8063883e0281116100e3578063a217fddf1161008c578063d869743f11610066578063d869743f146103fb578063e6c170dd14610404578063f851a4401461042b57600080fd5b8063a217fddf146103cd578063b881575e146103d5578063d547741f146103e857600080fd5b806391d14854116100bd57806391d148541461037057806393237d0e146103a757806396cf5227146103ba57600080fd5b8063883e0281146103375780638f2839701461034a578063900c235c1461035d57600080fd5b80632f2ff15d116101455780635309023e1161011f5780635309023e146102f1578063685e81141461031157806382653fcc1461032457600080fd5b80632f2ff15d146102b6578063310e8d2d146102cb57806336568abe146102de57600080fd5b8063248a9ca311610176578063248a9ca31461022d5780632a0acc6a146102505780632d5b073d1461027757600080fd5b806301ffc9a71461019d5780630d668087146101c5578063150b7a02146101dc575b600080fd5b6101b06101ab3660046120ce565b61043e565b60405190151581526020015b60405180910390f35b6101ce60055481565b6040519081526020016101bc565b6102146101ea366004611fc4565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040516001600160e01b031990911681526020016101bc565b6101ce61023b366004612085565b60009081526020819052604090206001015490565b6101ce7fdf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec4281565b61029e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101bc565b6102c96102c436600461209e565b6104a7565b005b6102c96102d9366004611f8a565b6104d1565b6102c96102ec36600461209e565b61056c565b6103046102ff366004612085565b6105f8565b6040516101bc919061224c565b6102c961031f366004612121565b6106ce565b60045461029e906001600160a01b031681565b6102c9610345366004611f8a565b610cf5565b6102c9610358366004611f8a565b610d8b565b6102c961036b366004611f8a565b610e21565b6101b061037e36600461209e565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6102c96103b5366004612085565b610eb7565b6102c96103c8366004612085565b6111a7565b6101ce600081565b6102c96103e33660046120f8565b611261565b6102c96103f636600461209e565b611509565b6101ce60075481565b61029e7f000000000000000000000000000000000000000000000000000000000000000081565b60015461029e906001600160a01b031681565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806104a157507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6000828152602081905260409020600101546104c28161152e565b6104cc838361153b565b505050565b3360009081527f5cbfc8ee58ca47855df7bcf648dd304ddb6b932f9b87878bdf6318d7ec7ee5b7602052604090205460ff1661054a5760405162461bcd60e51b815260206004820152601360248201527213db9b1e4818591b5a5b8818d85b8818d85b1b606a1b60448201526064015b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811633146105ea5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610541565b6105f482826115d9565b5050565b610600611f1b565b6000828152600660209081526040918290208251610100810184528154815260018201549281019290925260028101549282019290925260038201546001600160a01b03811660608301529091906080830190600160a01b900460ff16600981111561066e5761066e61237f565b600981111561067f5761067f61237f565b81526004820154602082015260058201546040820152600682015460609091019060ff1660028111156106b4576106b461237f565b60028111156106c5576106c561237f565b90525092915050565b808214156107445760405162461bcd60e51b815260206004820152602160248201527f596f752063616e277420627265656420776974682073616d652055464f47656560448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610541565b6002546040516331a9108f60e11b81526004810184905233916001600160a01b031690636352211e9060240160206040518083038186803b15801561078857600080fd5b505afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c09190611fa7565b6001600160a01b0316146108165760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792055464f47656573206f776e65722063616e206272656564310000006044820152606401610541565b6002546040516331a9108f60e11b81526004810183905233916001600160a01b031690636352211e9060240160206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108929190611fa7565b6001600160a01b0316146108e85760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792055464f47656573206f776e65722063616e206272656564320000006044820152606401610541565b60025460405163020604bf60e21b81526004810184905230916001600160a01b03169063081812fc9060240160206040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109649190611fa7565b6001600160a01b0316146109ba5760405162461bcd60e51b815260206004820152601a60248201527f506c6561736520617070726f7665207468697320746f6b656e310000000000006044820152606401610541565b60025460405163020604bf60e21b81526004810183905230916001600160a01b03169063081812fc9060240160206040518083038186803b1580156109fe57600080fd5b505afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190611fa7565b6001600160a01b031614610a8c5760405162461bcd60e51b815260206004820152601a60248201527f506c6561736520617070726f7665207468697320746f6b656e320000000000006044820152606401610541565b600254604051632142170760e11b8152336004820152306024820152604481018490526001600160a01b03909116906342842e0e90606401600060405180830381600087803b158015610ade57600080fd5b505af1158015610af2573d6000803e3d6000fd5b5050600254604051632142170760e11b8152336004820152306024820152604481018590526001600160a01b0390911692506342842e0e9150606401600060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b5050600754610b6f925090506001611658565b600755600554600090610b83904290611658565b6040805161010081018252858152602081018590529081018290523360608201529091506080810160008152602001600181526020016000815260200160006002811115610bd357610bd361237f565b90526007546000908152600660209081526040918290208351815590830151600182015590820151600282015560608201516003820180546001600160a01b039092166001600160a01b03198316811782556080850151927fffffffffffffffffffffff0000000000000000000000000000000000000000001617600160a01b836009811115610c6557610c6561237f565b021790555060a0820151600482015560c0820151600582015560e082015160068201805460ff19166001836002811115610ca157610ca161237f565b021790555050600754604080518681526020810186905290810184905290915033907fa460ddf4e333d97a044fbffb62e572bdee009ec78c9b6058208ff88bd09c70f89060600160405180910390a3505050565b3360009081527f5cbfc8ee58ca47855df7bcf648dd304ddb6b932f9b87878bdf6318d7ec7ee5b7602052604090205460ff16610d695760405162461bcd60e51b815260206004820152601360248201527213db9b1e4818591b5a5b8818d85b8818d85b1b606a1b6044820152606401610541565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081527f5cbfc8ee58ca47855df7bcf648dd304ddb6b932f9b87878bdf6318d7ec7ee5b7602052604090205460ff16610dff5760405162461bcd60e51b815260206004820152601360248201527213db9b1e4818591b5a5b8818d85b8818d85b1b606a1b6044820152606401610541565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081527f5cbfc8ee58ca47855df7bcf648dd304ddb6b932f9b87878bdf6318d7ec7ee5b7602052604090205460ff16610e955760405162461bcd60e51b815260206004820152601360248201527213db9b1e4818591b5a5b8818d85b8818d85b1b606a1b6044820152606401610541565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600660205260409020600301546001600160a01b03163314610f465760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792063726561746f7220616464726573732063616e2063616e63656c2060448201527f6c6f636b696e672055464f4765657300000000000000000000000000000000006064820152608401610541565b60008181526006602081905260408220015460ff166002811115610f6c57610f6c61237f565b14610fdf5760405162461bcd60e51b815260206004820152602360248201527f557365722063616e206f6e6c792063616e63656c206c6f636b65642075666f6760448201527f65657300000000000000000000000000000000000000000000000000000000006064820152608401610541565b60008181526006602052604090206002015442106110655760405162461bcd60e51b815260206004820152602d60248201527f557365722063616e27742063616e63656c206c6f636b696e672061667465722060448201527f72656c656173652074696d652e000000000000000000000000000000000000006064820152608401610541565b60025460008281526006602052604090819020549051632142170760e11b815230600482015233602482015260448101919091526001600160a01b03909116906342842e0e90606401600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b505060025460008481526006602052604090819020600101549051632142170760e11b815230600482015233602482015260448101919091526001600160a01b0390911692506342842e0e9150606401600060405180830381600087803b15801561114657600080fd5b505af115801561115a573d6000803e3d6000fd5b5050506000828152600660208190526040808320909101805460ff19166001179055518392507f8442c25ffd235b9282522a4defd993adb9a0f92fde34551ac162d0ce09d9518d9190a250565b3360009081527f5cbfc8ee58ca47855df7bcf648dd304ddb6b932f9b87878bdf6318d7ec7ee5b7602052604090205460ff1661121b5760405162461bcd60e51b815260206004820152601360248201527213db9b1e4818591b5a5b8818d85b8818d85b1b606a1b6044820152606401610541565b611228816201518061166b565b6005556040518181527fe5d6a719f584be85337c60a8b0c8e6f74495dd3493557ef6bd2f0aa68758eaf59060200160405180910390a150565b6000828152600660205260409020600301546001600160a01b031633146112f05760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792063726561746f7220616464726573732063616e206765742072657760448201527f61726400000000000000000000000000000000000000000000000000000000006064820152608401610541565b60008281526006602081905260408220015460ff1660028111156113165761131661237f565b146113895760405162461bcd60e51b815260206004820152602960248201527f4272656564696e67204e465420616c726561647920636c61696d6564206f722060448201527f63616e63656c65642e00000000000000000000000000000000000000000000006064820152608401610541565b60025460008381526006602052604090819020549051632142170760e11b815230600482015233602482015260448101919091526001600160a01b03909116906342842e0e90606401600060405180830381600087803b1580156113ec57600080fd5b505af1158015611400573d6000803e3d6000fd5b505060025460008581526006602052604090819020600101549051632142170760e11b815230600482015233602482015260448101919091526001600160a01b0390911692506342842e0e9150606401600060405180830381600087803b15801561146a57600080fd5b505af115801561147e573d6000803e3d6000fd5b5050505061148c8282611677565b60008281526006602052604090206003015482907ffae72ae52fa5802a9e0a52b820e1689ee0de38468cdf32309bbf716a649b086a90600160a01b900460ff1660098111156114dd576114dd61237f565b600085815260066020908152604091829020600401548251938452908301520160405180910390a25050565b6000828152602081905260409020600101546115248161152e565b6104cc83836115d9565b6115388133611c4b565b50565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166105f4576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556115953390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16156105f4576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061166482846122c9565b9392505050565b600061166482846122e1565b6000611681611cc9565b6000848152600660205260408120600501829055909150806101918310156116af57506000905060646117cb565b6102598310156116c557506000905060c86117cb565b6102b38310156116dc5750600090506101906117cb565b6102bc8310156116f35750600090506103e86117cb565b6102bd83101561170a5750600090506107d06117cb565b61031683101561171f575060019050806117cb565b61032083101561173557506002905060016117cb565b61032183101561174b57506003905060016117cb565b61037b83101561176157506004905060016117cb565b61038483101561177757506005905060016117cb565b61038583101561178d57506006905060016117cb565b6103de8310156117a357506007905060016117cb565b6103e88310156117b957506008905060016117cb565b6103e98310156117cb57506003905060015b600085815260066020526040902060030180548391907fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b83600981111561181a5761181a61237f565b0217905550600085815260066020819052604082206004810184905501805460ff191660021790558260098111156118545761185461237f565b1415611ba357600084600181111561186e5761186e61237f565b1415611911576004546000868152600660205260409020600301546001600160a01b039182169163ce6df2b991166118ae84670de0b6b3a76400006122e1565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156118f457600080fd5b505af1158015611908573d6000803e3d6000fd5b50505050611c44565b6004546001600160a01b031663ce6df2b93061193584670de0b6b3a76400006122e1565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561197b57600080fd5b505af115801561198f573d6000803e3d6000fd5b5050600454600092506001600160a01b0316905063095ea7b37f00000000000000000000000000000000000000000000000000000000000000006119db85670de0b6b3a76400006122e1565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015611a2157600080fd5b505af1158015611a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a599190612063565b905080611ace5760405162461bcd60e51b815260206004820152602660248201527f6d696e7461626c654572633230507265646963617465206973206e6f7420617060448201527f70726f76656400000000000000000000000000000000000000000000000000006064820152608401610541565b6000868152600660205260409020600301546004546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263e3dec8fb929082169116611b2c86670de0b6b3a76400006122e1565b604051602001611b3e91815260200190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611b6b93929190612204565b600060405180830381600087803b158015611b8557600080fd5b505af1158015611b99573d6000803e3d6000fd5b5050505050611c44565b600380546000878152600660205260409020909101546001600160a01b0391821691631681d6da9116846009811115611bde57611bde61237f565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260448101849052606401600060405180830381600087803b158015611c2b57600080fd5b505af1158015611c3f573d6000803e3d6000fd5b505050505b5050505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166105f457611c87816001600160a01b03166014611d3a565b611c92836020611d3a565b604051602001611ca3929190612183565b60408051601f198184030181529082905262461bcd60e51b825261054191600401612239565b6040805142602082018190526bffffffffffffffffffffffff193360601b1692820192909252605481018290526000919082906103e8906074016040516020818303038152906040528051906020012060001c611d269190612347565b9050611d338160016122c9565b9250505090565b60606000611d498360026122e1565b611d549060026122c9565b67ffffffffffffffff811115611d6c57611d6c6123ab565b6040519080825280601f01601f191660200182016040528015611d96576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611dcd57611dcd612395565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611e1857611e18612395565b60200101906001600160f81b031916908160001a9053506000611e3c8460026122e1565b611e479060016122c9565b90505b6001811115611ecc577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611e8857611e88612395565b1a60f81b828281518110611e9e57611e9e612395565b60200101906001600160f81b031916908160001a90535060049490941c93611ec581612330565b9050611e4a565b5083156116645760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610541565b60405180610100016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006009811115611f5f57611f5f61237f565b8152602001600081526020016000815260200160006002811115611f8557611f8561237f565b905290565b600060208284031215611f9c57600080fd5b8135611664816123c1565b600060208284031215611fb957600080fd5b8151611664816123c1565b600080600080600060808688031215611fdc57600080fd5b8535611fe7816123c1565b94506020860135611ff7816123c1565b935060408601359250606086013567ffffffffffffffff8082111561201b57600080fd5b818801915088601f83011261202f57600080fd5b81358181111561203e57600080fd5b89602082850101111561205057600080fd5b9699959850939650602001949392505050565b60006020828403121561207557600080fd5b8151801515811461166457600080fd5b60006020828403121561209757600080fd5b5035919050565b600080604083850312156120b157600080fd5b8235915060208301356120c3816123c1565b809150509250929050565b6000602082840312156120e057600080fd5b81356001600160e01b03198116811461166457600080fd5b6000806040838503121561210b57600080fd5b823591506020830135600281106120c357600080fd5b6000806040838503121561213457600080fd5b50508035926020909101359150565b6000815180845261215b816020860160208601612300565b601f01601f19169290920160200192915050565b6003811061217f5761217f61237f565b9052565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516121bb816017850160208801612300565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516121f8816028840160208801612300565b01602801949350505050565b60006001600160a01b038086168352808516602084015250606060408301526122306060830184612143565b95945050505050565b6020815260006116646020830184612143565b6000610100820190508251825260208301516020830152604083015160408301526001600160a01b0360608401511660608301526080830151600a81106122955761229561237f565b8060808401525060a083015160a083015260c083015160c083015260e08301516122c260e084018261216f565b5092915050565b600082198211156122dc576122dc612369565b500190565b60008160001904831182151516156122fb576122fb612369565b500290565b60005b8381101561231b578181015183820152602001612303565b8381111561232a576000848401525b50505050565b60008161233f5761233f612369565b506000190190565b60008261236457634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461153857600080fdfea2646970667358221220855bb9f5c975e5d3f90aa2ddf8524e74ff4671534b30a498023b2e546e03374e64736f6c63430008070033";