[ { "inputs": [ { "internalType": "contract KineControllerInterface", "name": "controller_", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "address payable", "name": "admin_", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "mintAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "mintTokens", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "contract KineControllerInterface", "name": "oldController", "type": "address" }, { "indexed": false, "internalType": "contract KineControllerInterface", "name": "newController", "type": "address" } ], "name": "NewController", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldPendingAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "redeemer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } ], "name": "Redeem", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": false, "inputs": [], "name": "_acceptAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "contract KineControllerInterface", "name": "newController", "type": "address" } ], "name": "_setController", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address payable", "name": "newPendingAdmin", "type": "address" } ], "name": "_setPendingAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "controller", "outputs": [ { "internalType": "contract KineControllerInterface", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getAccountSnapshot", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getCash", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "contract KineControllerInterface", "name": "controller_", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "initialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isKToken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "redeemTokens", "type": "uint256" } ], "name": "redeem", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "liquidator", "type": "address" }, { "internalType": "address", "name": "borrower", "type": "address" }, { "internalType": "uint256", "name": "seizeTokens", "type": "uint256" } ], "name": "seize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b506040516200294e3803806200294e833981810160405260a08110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82516401000000008111828201881017156200009057600080fd5b82525081516020918201929091019080838360005b83811015620000bf578181015183820152602001620000a5565b50505050905090810190601f168015620000ed5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011157600080fd5b9083019060208201858111156200012757600080fd5b82516401000000008111828201881017156200014257600080fd5b82525081516020918201929091019080838360005b838110156200017157818101518382015260200162000157565b50505050905090810190601f1680156200019f5780820380516001836020036101000a031916815260200191505b506040908152602082015191015160038054610100600160a81b03191633610100021790556000805461ff00191690559092509050620001e28585858562000213565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055506200053792505050565b60035461010090046001600160a01b03163314620002635760405162461bcd60e51b8152600401808060200182810382526024815260200180620029076024913960400191505060405180910390fd5b600054610100900460ff1615620002ac5760405162461bcd60e51b81526004018080602001828103825260238152602001806200292b6023913960400191505060405180910390fd5b620002c0846001600160e01b036200031a16565b8251620002d590600190602086019062000492565b508151620002eb90600290602085019062000492565b506003805460ff90921660ff199283161790556000805461ff0019921660011791909116610100179055505050565b60035461010090046001600160a01b031633146200036a5760405162461bcd60e51b8152600401808060200182810382526021815260200180620028e66021913960400191505060405180910390fd5b60055460408051634e1647fb60e01b815290516001600160a01b0392831692841691634e1647fb916004808301926020929190829003018186803b158015620003b257600080fd5b505afa158015620003c7573d6000803e3d6000fd5b505050506040513d6020811015620003de57600080fd5b505162000432576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517ff9b6a28700579d5c8fab50f0ac2dcaa52109b85c369c4f511fcc873330ab6cbb9281900390910190a15050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d557805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000505578251825591602001919060010190620004e8565b506200051392915062000517565b5090565b6200053491905b808211156200051357600081556001016200051e565b90565b61239f80620005476000396000f3fe6080604052600436106101405760003560e01c806383de424e116100b6578063db006a751161006f578063db006a75146104a8578063dd62ed3e146104d2578063e9c714f21461050d578063f6d2ee8614610522578063f77c47911461066d578063f851a4401461068257610140565b806383de424e1461036357806395d89b4114610398578063a9059cbb146103ad578063b2a02ff1146103e6578063b71d1a0c14610429578063c37f68e21461045c57610140565b806323b872dd1161010857806323b872dd1461026757806326782247146102aa57806329d9109c146102db578063313ce567146102f05780633b1d21a21461031b57806370a082311461033057610140565b806306fdde031461014c578063095ea7b3146101d65780631249c58b14610223578063158ef93e1461023d57806318160ddd14610252575b61014934610697565b50005b34801561015857600080fd5b50610161610704565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e257600080fd5b5061020f600480360360408110156101f957600080fd5b506001600160a01b038135169060200135610791565b604080519115158252519081900360200190f35b61022b6107fc565b60408051918252519081900360200190f35b34801561024957600080fd5b5061020f61080d565b34801561025e57600080fd5b5061022b61081b565b34801561027357600080fd5b5061020f6004803603606081101561028a57600080fd5b506001600160a01b03813581169160208101359091169060400135610821565b3480156102b657600080fd5b506102bf610893565b604080516001600160a01b039092168252519081900360200190f35b3480156102e757600080fd5b5061020f6108a2565b3480156102fc57600080fd5b506103056108a7565b6040805160ff9092168252519081900360200190f35b34801561032757600080fd5b5061022b6108b0565b34801561033c57600080fd5b5061022b6004803603602081101561035357600080fd5b50356001600160a01b03166108ba565b34801561036f57600080fd5b506103966004803603602081101561038657600080fd5b50356001600160a01b03166108d5565b005b3480156103a457600080fd5b50610161610a47565b3480156103b957600080fd5b5061020f600480360360408110156103d057600080fd5b506001600160a01b038135169060200135610a9f565b3480156103f257600080fd5b506103966004803603606081101561040957600080fd5b506001600160a01b03813581169160208101359091169060400135610b10565b34801561043557600080fd5b506103966004803603602081101561044c57600080fd5b50356001600160a01b0316610b7c565b34801561046857600080fd5b5061048f6004803603602081101561047f57600080fd5b50356001600160a01b0316610c2d565b6040805192835260208301919091528051918290030190f35b3480156104b457600080fd5b50610396600480360360208110156104cb57600080fd5b5035610c48565b3480156104de57600080fd5b5061022b600480360360408110156104f557600080fd5b506001600160a01b0381358116916020013516610c54565b34801561051957600080fd5b50610396610c7f565b34801561052e57600080fd5b506103966004803603608081101561054557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561056f57600080fd5b82018360208201111561058157600080fd5b803590602001918460018302840111600160201b831117156105a257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156105f457600080fd5b82018360208201111561060657600080fd5b803590602001918460018302840111600160201b8311171561062757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff169150610da39050565b34801561067957600080fd5b506102bf610e97565b34801561068e57600080fd5b506102bf610ea6565b6000805460ff166106dc576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191690556106f03383610eba565b90506000805460ff19166001179055919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b03871680855290835281842086905581518681529151939493909284927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a35060019392505050565b600061080734610697565b90505b90565b600054610100900460ff1681565b60065481565b6000805460ff16610866576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916905561087c33858585611263565b5060016000805460ff191660011790559392505050565b6004546001600160a01b031681565b600181565b60035460ff1681565b60006108076116ea565b6001600160a01b031660009081526007602052604090205490565b60035461010090046001600160a01b031633146109235760405162461bcd60e51b81526004018080602001828103825260218152602001806121e96021913960400191505060405180910390fd5b60055460408051634e1647fb60e01b815290516001600160a01b0392831692841691634e1647fb916004808301926020929190829003018186803b15801561096a57600080fd5b505afa15801561097e573d6000803e3d6000fd5b505050506040513d602081101561099457600080fd5b50516109e7576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517ff9b6a28700579d5c8fab50f0ac2dcaa52109b85c369c4f511fcc873330ab6cbb9281900390910190a15050565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107895780601f1061075e57610100808354040283529160200191610789565b6000805460ff16610ae4576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19169055610afa33808585611263565b5060016000805460ff1916600117905592915050565b60005460ff16610b54576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19169055610b6a33848484611703565b50506000805460ff1916600117905550565b60035461010090046001600160a01b03163314610bca5760405162461bcd60e51b81526004018080602001828103825260218152602001806121e96021913960400191505060405180910390fd5b600480546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a15050565b6001600160a01b031660009081526007602052604081205491565b610c5181611ab1565b50565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6004546001600160a01b031633148015610c9857503315155b610cd8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b60038054600480546001600160a01b03818116610100818102610100600160a81b0319871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401528351909391927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600454604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a15050565b60035461010090046001600160a01b03163314610df15760405162461bcd60e51b815260040180806020018281038252602481526020018061220a6024913960400191505060405180910390fd5b600054610100900460ff1615610e385760405162461bcd60e51b815260040180806020018281038252602381526020018061222e6023913960400191505060405180910390fd5b610e41846108d5565b8251610e5490600190602086019061210e565b508151610e6890600290602085019061210e565b506003805460ff90921660ff199283161790556000805461ff0019921660011791909116610100179055505050565b6005546001600160a01b031681565b60035461010090046001600160a01b031681565b60055460408051634ef4c3e160e01b81523060048201526001600160a01b0385811660248301526044820185905291516000938493606093911691634ef4c3e191606480820192879290919082900301818387803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610f5857600080fd5b815160208301805160405192949293830192919084600160201b821115610f7e57600080fd5b908301906020820185811115610f9357600080fd5b8251600160201b811182820188101715610fac57600080fd5b82525081516020918201929091019080838360005b83811015610fd9578181015183820152602001610fc1565b50505050905090810190601f1680156110065780820380516001836020036101000a031916815260200191505b506040525050509150915081819061109c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611061578181015183820152602001611049565b50505050905090810190601f16801561108e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506110a561218c565b6110af8686611b19565b606080830182905281835260408051918201905260288082526110e69291906122f36020830139600654919063ffffffff611bb516565b81602001818152505061113681600001516040518060600160405280602b81526020016122a8602b91396001600160a01b038916600090815260076020526040902054919063ffffffff611bb516565b60408083018290526020808401516006556001600160a01b0389166000818152600783528390209390935560608085015185518451958652928501528383019190915290517f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9281900390910190a1805160408051918252516001600160a01b0388169130916000805160206122d38339815191529181900360200190a360055460608201518251604080516341c728b960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916341c728b991608480830192600092919082900301818387803b15801561123e57600080fd5b505af1158015611252573d6000803e3d6000fd5b505050506060015195945050505050565b600554604080516317b9b84b60e31b81523060048201526001600160a01b0386811660248301528581166044830152606482018590529151600093606093169163bdcdc258916084808301928792919082900301818387803b1580156112c857600080fd5b505af11580156112dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561130557600080fd5b815160208301805160405192949293830192919084600160201b82111561132b57600080fd5b90830190602082018581111561134057600080fd5b8251600160201b81118282018810171561135957600080fd5b82525081516020918201929091019080838360005b8381101561138657818101518382015260200161136e565b50505050905090810190601f1680156113b35780820380516001836020036101000a031916815260200191505b506040525050509150915081819061140c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b50836001600160a01b0316856001600160a01b031614156040518060400160405280600981526020016810905117d25394155560ba1b815250906114915760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b5060006001600160a01b0387811690871614156114b157506000196114d9565b506001600160a01b038086166000908152600860209081526040808320938a16835292905220545b600061151c85604051806040016040528060148152602001731514905394d1915497d393d517d0531313d5d15160621b81525084611c139092919063ffffffff16565b60408051808201825260138152720a8a4829ca68c8aa4be9c9ea8be8a9c9eaa8e9606b1b6020808301919091526001600160a01b038b166000908152600790915291822054929350909161157791889063ffffffff611c1316565b60408051808201825260118152700a8a4829ca68c8aa4bea89e9ebe9aaa869607b1b6020808301919091526001600160a01b038b16600090815260079091529182205492935090916115d091899063ffffffff611bb516565b6001600160a01b03808b16600090815260076020526040808220869055918b168152208190559050600019841461162a576001600160a01b03808a166000908152600860209081526040808320938e168352929052208390555b876001600160a01b0316896001600160a01b03166000805160206122d3833981519152896040518082815260200191505060405180910390a36005546040805163352b4a3f60e11b81523060048201526001600160a01b038c811660248301528b81166044830152606482018b905291519190921691636a56947e91608480830192600092919082900301818387803b1580156116c657600080fd5b505af11580156116da573d6000803e3d6000fd5b5050505050505050505050505050565b6000806116fd473463ffffffff611c6d16565b91505090565b6005546040805163d02f735160e01b81523060048201526001600160a01b03878116602483015286811660448301528581166064830152608482018590529151600093606093169163d02f73519160a4808301928792919082900301818387803b15801561177057600080fd5b505af1158015611784573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156117ad57600080fd5b815160208301805160405192949293830192919084600160201b8211156117d357600080fd5b9083019060208201858111156117e857600080fd5b8251600160201b81118282018810171561180157600080fd5b82525081516020918201929091019080838360005b8381101561182e578181015183820152602001611816565b50505050905090810190601f16801561185b5780820380516001836020036101000a031916815260200191505b50604052505050915091508181906118b45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b50846001600160a01b0316846001600160a01b031614156040518060400160405280601481526020017324a72b20a624a22fa0a1a1a7aaa72a2fa820a4a960611b815250906119445760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b50600061198a8460405180606001604052806028815260200161231b602891396001600160a01b038816600090815260076020526040902054919063ffffffff611c1316565b905060006119d185604051806060016040528060288152602001612343602891396001600160a01b038a16600090815260076020526040902054919063ffffffff611bb516565b6001600160a01b038088166000818152600760209081526040808320889055938c168083529184902085905583518a81529351949550909391926000805160206122d3833981519152929081900390910190a360055460408051636d35bf9160e01b81523060048201526001600160a01b038b811660248301528a8116604483015289811660648301526084820189905291519190921691636d35bf919160a480830192600092919082900301818387803b158015611a8f57600080fd5b505af1158015611aa3573d6000803e3d6000fd5b505050505050505050505050565b60005460ff16611af5576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19169055611b093382611cb6565b506000805460ff19166001179055565b6000336001600160a01b03841614611b6a576040805162461bcd60e51b815260206004820152600f60248201526e0e6cadcc8cae440dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b813414611baf576040805162461bcd60e51b815260206004820152600e60248201526d0ecc2d8eaca40dad2e6dac2e8c6d60931b604482015290519081900360640190fd5b50919050565b60008383018285821015611c0a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b50949350505050565b60008184841115611c655760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b505050900390565b6000611caf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c13565b9392505050565b80611d08576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d546f6b656e73496e206d757374206e6f74206265207a65726f00604482015290519081900360640190fd5b611d106121b4565b6005546040805163eabe7d9160e01b81523060048201526001600160a01b038681166024830152604482018690529151600093606093169163eabe7d91916064808301928792919082900301818387803b158015611d6d57600080fd5b505af1158015611d81573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611daa57600080fd5b815160208301805160405192949293830192919084600160201b821115611dd057600080fd5b908301906020820185811115611de557600080fd5b8251600160201b811182820188101715611dfe57600080fd5b82525081516020918201929091019080838360005b83811015611e2b578181015183820152602001611e13565b50505050905090810190601f168015611e585780820380516001836020036101000a031916815260200191505b5060405250505091509150818190611eb15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b50611edf846040518060600160405280602a815260200161227e602a9139600654919063ffffffff611c1316565b83526040805160608101909152602d808252611f2591869161225160208301396001600160a01b038816600090815260076020526040902054919063ffffffff611c1316565b602084015283611f336116ea565b10156040518060400160405280601781526020017f544f4b454e5f494e53554646494349454e545f4341534800000000000000000081525090611fb75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611061578181015183820152602001611049565b5082516006556020808401516001600160a01b03871660009081526007909252604090912055611fe785856120d3565b60408051858152905130916001600160a01b038816916000805160206122d38339815191529181900360200190a3604080516001600160a01b03871681526020810186905281517f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6929181900390910190a160055460408051630d91761360e31b81523060048201526001600160a01b0388811660248301526044820188905291519190921691636c8bb09891606480830192600092919082900301818387803b1580156120b457600080fd5b505af11580156120c8573d6000803e3d6000fd5b505050505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612109573d6000803e3d6000fd5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061214f57805160ff191683800117855561217c565b8280016001018555821561217c579182015b8281111561217c578251825591602001919060010190612161565b506121889291506121ce565b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b61080a91905b8082111561218857600081556001016121d456fe6f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f6e6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65746d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e636552454445454d5f4e45575f4143434f554e545f42414c414e43455f43414c43554c4154494f4e5f4641494c454452454445454d5f4e45575f544f54414c5f535550504c595f43414c43554c4154494f4e5f4641494c45444d494e545f4e45575f4143434f554e545f42414c414e43455f43414c43554c4154494f4e5f4641494c4544ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef4d494e545f4e45575f544f54414c5f535550504c595f43414c43554c4154494f4e5f4641494c45444c49515549444154455f5345495a455f42414c414e43455f44454352454d454e545f4641494c45444c49515549444154455f5345495a455f42414c414e43455f494e4352454d454e545f4641494c4544a265627a7a723158204606e9f535ca49b1e717867f05f597a8320ac9bf55ea61a09e8208d18627215564736f6c634300051000326f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f6e6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65746d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e63650000000000000000000000000ec3126390c606be63a0fa6585e68075f06679c600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000080000000000000000000000008c0e39d0b2e0d83dd4c52c25dd36294903fc554600000000000000000000000000000000000000000000000000000000000000134b6f6c6c61746572616c697a656420415641580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056b41564158000000000000000000000000000000000000000000000000000000