0x60806040523480156200001157600080fd5b5060043610620000925760003560e01c806361269f2a116200006257806361269f2a14620001475780637f66dfa4146200016d578063b0d691fe1462000184578063b20ca81814620001ac57600080fd5b8062435da5146200009757806308bd705414620000dc5780630b39bb1b14620001175780635ca2eaf51462000130575b600080fd5b620000bf7f000000000000000000000000604100d89f9eac0f0118dff40296232abe0283ca81565b6040516001600160a01b0390911681526020015b60405180910390f35b62000108620000ed366004620007bf565b6001600160a01b031660009081526001602052604090205490565b604051908152602001620000d3565b6200012e62000128366004620007dd565b620001c3565b005b620001086b435245415445525f524f4c4560a01b81565b6200015e62000158366004620007dd565b620002b6565b604051620000d39190620007f7565b620000bf6200017e36600462000846565b620002d8565b620000bf7f00000000000000000000000087f527f6721cef2a8fa21d69f0eeec79ccbde37481565b620000bf620001bd36600462000869565b620002f9565b3360008181526001602052604090205480620002265760405162461bcd60e51b815260206004820181905260248201527f43726570654f76656e3a20757365724964206e6f74207265676973746572656460448201526064015b60405180910390fd5b600081815260026020526040902062000240908362000568565b5060008381526002602052604090206200025b90836200057f565b506001600160a01b03821660008181526001602090815260409182902086905581518481529081018690527fb479605f7d422c22463274f9f553038e2e7b5554d3332457cf4cb451987e0699910160405180910390a2505050565b6000818152600260205260409020606090620002d29062000596565b92915050565b6000828152600260205260408120620002f29083620005a5565b9392505050565b604051632474521560e21b81526b435245415445525f524f4c4560a01b60048201523360248201526000907f000000000000000000000000604100d89f9eac0f0118dff40296232abe0283ca6001600160a01b0316906391d1485490604401602060405180830381865afa15801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c919062000896565b620003ea5760405162461bcd60e51b815260206004820152601760248201527f43726570654f76656e3a20696e76616c696420726f6c6500000000000000000060448201526064016200021d565b60005460405162000408918491602001918252602082015260400190565b60408051601f198184030181529082905280516020909101206001600160a01b037f00000000000000000000000087f527f6721cef2a8fa21d69f0eeec79ccbde3748116602484015285166044830152907f000000000000000000000000aa3edffbbdd8f428ef18c6fb4b26340d4951cda29060640160408051601f198184030181529181526020820180516001600160e01b031663485cc95560e01b17905251620004b49062000794565b620004c1929190620008ba565b8190604051809103906000f5905080158015620004e2573d6000803e3d6000fd5b5060008381526002602052604090209091506200050090826200057f565b506001600160a01b03818116600081815260016020818152604080842088905583549092019092558051938716845290830185905290917f192ad061bdc9031726e8595196cde9a7e6290a5bfa97edb72d221ad01466c12a910160405180910390a292915050565b6000620002f2836001600160a01b038416620005b3565b6000620002f2836001600160a01b038416620006b7565b60606000620002f28362000709565b6000620002f2838362000767565b60008181526001830160205260408120548015620006ac576000620005da6001836200091a565b8554909150600090620005f0906001906200091a565b90508181146200065c5760008660000182815481106200061457620006146200093c565b90600052602060002001549050808760000184815481106200063a576200063a6200093c565b6000918252602080832090910192909255918252600188019052604090208390555b855486908062000670576200067062000952565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050620002d2565b6000915050620002d2565b60008181526001830160205260408120546200070057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620002d2565b506000620002d2565b6060816000018054806020026020016040519081016040528092919081815260200182805480156200075b57602002820191906000526020600020905b81548152602001906001019080831162000746575b50505050509050919050565b60008260000182815481106200078157620007816200093c565b9060005260206000200154905092915050565b610727806200096983390190565b80356001600160a01b0381168114620007ba57600080fd5b919050565b600060208284031215620007d257600080fd5b620002f282620007a2565b600060208284031215620007f057600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156200083a5783516001600160a01b03168352928401929184019160010162000813565b50909695505050505050565b600080604083850312156200085a57600080fd5b50508035926020909101359150565b600080604083850312156200087d57600080fd5b6200088883620007a2565b946020939093013593505050565b600060208284031215620008a957600080fd5b81518015158114620002f257600080fd5b60018060a01b038316815260006020604081840152835180604085015260005b81811015620008f857858101830151858201606001528201620008da565b506000606082860101526060601f19601f830116850101925050509392505050565b81810381811115620002d257634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe608060405260405161072738038061072783398101604081905261002291610319565b61002e82826000610035565b5050610436565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d08383604051806060016040528060278152602001610700602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e7565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b81526004016101489190610403565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b50506000910152565b6000806040838503121561032c57600080fd5b82516001600160a01b038116811461034357600080fd5b60208401519092506001600160401b038082111561036057600080fd5b818501915085601f83011261037457600080fd5b815181811115610386576103866102df565b604051601f8201601f19908116603f011681019083821181831017156103ae576103ae6102df565b816040528281528860208487010111156103c757600080fd5b6103d88360208301602088016102f5565b80955050505050509250929050565b600082516103f98184602087016102f5565b9190910192915050565b60208152600082518060208401526104228160408501602087016102f5565b601f01601f19169190910160400192915050565b6102bb806104456000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025f602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e0919061020f565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101af5782516000036101a8576001600160a01b0385163b6101a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b9565b6101b983836101c1565b949350505050565b8151156101d15781518083602001fd5b8060405162461bcd60e51b815260040161019f919061022b565b60005b838110156102065781810151838201526020016101ee565b50506000910152565b600082516102218184602087016101eb565b9190910192915050565b602081526000825180602084015261024a8160408501602087016101eb565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122063b6074bdd4d6df74f72f11c0abdd52187ecd91de38c1077ffcc5b354ab5b1a164736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e16ba7b65d7f7293ba0e98927b74e1faeaf690eb055c718dcd3a0f04d5bdb33964736f6c63430008110033