0x6080806040523461001657610f96908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314610a1957508163095ea7b3146109ef57816318160ddd146109d157816323b872dd14610961578163313ce56714610945578163392e53cd1461091e57816339509351146108d357816342966c68146108395781634d86017b1461081057816354fd4d50146107f457816366faaae3146103ff57816370a08231146103c757816383074246146103a057816395d89b41146102c1578163a457c2d714610221578163a9059cbb146101df578163d51669941461016957508063d9c09573146101415763dd62ed3e146100f657600080fd5b3461013d578060031936011261013d5780602092610112610b7a565b61011a610b95565b6001600160a01b0391821683526006865283832091168252845220549051908152f35b5080fd5b503461013d578160031936011261013d5760035490516001600160a01b039091168152602090f35b919050346101db57826003193601126101db576002546001600160a01b031633036101a5576003805460ff60a81b1916600160a81b1790558280f35b906020606492519162461bcd60e51b8352820152601060248201526f1bdb9b1e48199d5b88185b1b1bddd95960821b6044820152fd5b8280fd5b50503461013d578060031936011261013d5760209061021a6101ff610b7a565b61021061020b33610eff565b610c02565b6024359033610c93565b5160018152f35b50503461013d578060031936011261013d576001600160a01b03610243610b7a565b1680156101db573383528160209360068552818120838252855261026c60243583832054610c63565b33825260068652828220848352865282822055338152600685528181208382528552205482519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b50503461013d578160031936011261013d578051908260018054916102e583610abf565b80865292828116908115610378575060011461031c575b50505061030e82610318940383610af9565b5191829182610b31565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106103605750505061030e82602061031895820101946102fc565b80546020878701810191909152909501948101610343565b61031897508693506020925061030e94915060ff191682840152151560051b820101946102fc565b50503461013d578160031936011261013d5760209060ff60035460a81c1690519015158152f35b50503461013d57602036600319011261013d5760209181906001600160a01b036103ef610b7a565b1681526005845220549051908152f35b83833461013d5760a036600319011261013d57823567ffffffffffffffff6024358181116107f0576104349036908701610bab565b6044358281116107ec5761044b9036908801610bab565b956001600160a01b03606435818116908190036107e8576084359182168092036107e85760039660ff885460a01c166107e45781156107a257887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83926104b38a8854610c86565b87558383526020998a91600583528085206104cf838254610c86565b905551908152a36bffffffffffffffffffffffff60a01b90816002541617600255865416178555815183811161078f578061050a8854610abf565b93601f94858111610725575b5086908583116001146106a557899261069a575b50508160011b9160001990881b1c19161786555b865192831161068757506001926105558454610abf565b828111610626575b50809183116001146105a757508495829394959261059c575b505060001982851b1c191690821b1790555b805460ff60a01b1916600160a01b17905580f35b015190508580610576565b838652601f198316967fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6929187905b89821061060f5750508385969798106105f7575b505050811b019055610588565b015160001983871b60f8161c191690558580806105ea565b8087859682949686015181550195019301906105d6565b8487527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf68380860160051c82019284871061067e575b0160051c019085905b82811061067357505061055d565b888155018590610665565b9250819261065c565b634e487b7160e01b865260419052602485fd5b01519050898061052a565b8980527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639250601f1984168a5b8982821061070f5750509084600195949392106106f7575b505050811b01865561053e565b0151600019838a1b60f8161c191690558980806106ea565b60018596829396860151815501950193016106d2565b9091508880527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5638580850160051c820192898610610786575b9085949392910160051c01905b8181106107785750610516565b8a815584935060010161076b565b9250819261075e565b634e487b7160e01b875260418252602487fd5b5162461bcd60e51b8152602081850152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b8880fd5b8780fd5b8580fd5b8480fd5b50503461013d578160031936011261013d576020905160028152f35b50503461013d578160031936011261013d5760025490516001600160a01b039091168152602090f35b8284346108d0576020928360031936011261013d5780359061085c61020b610f4e565b33156101db57338352600585528383205482116101db5761087e828254610c63565b9055338252600584526108948184842054610c63565b338352600585528383205582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b80fd5b50503461013d578060031936011261013d576001600160a01b036108f5610b7a565b1680156101db573383528160209360068552818120838252855261026c60243583832054610c86565b50503461013d578160031936011261013d5760209060ff60035460a01c1690519015158152f35b50503461013d578160031936011261013d576020905160128152f35b50503461013d57606036600319011261013d5761021a6020926109c9610985610b7a565b918461098f610b95565b916109aa60443580946109a461020b33610eff565b87610c93565b6001600160a01b03851681526006885281812033825288522054610c63565b903390610dfd565b9050346101db57826003193601126101db5760209250549051908152f35b50503461013d578060031936011261013d5760209061021a610a0f610b7a565b6024359033610dfd565b849084346101db57826003193601126101db57828054610a3881610abf565b808552916001918083169081156103785750600114610a635750505061030e82610318940383610af9565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828610610aa75750505061030e82602061031895820101946102fc565b80546020878701810191909152909501948101610a8a565b90600182811c92168015610aef575b6020831014610ad957565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ace565b90601f8019910116810190811067ffffffffffffffff821117610b1b57604052565b634e487b7160e01b600052604160045260246000fd5b6020808252825181830181905290939260005b828110610b6657505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610b44565b600435906001600160a01b0382168203610b9057565b600080fd5b602435906001600160a01b0382168203610b9057565b81601f82011215610b905780359067ffffffffffffffff8211610b1b5760405192610be0601f8401601f191660200185610af9565b82845260208383010111610b9057816000926020809301838601378301015290565b15610c0957565b60405162461bcd60e51b815260206004820152602c60248201527f756e617574686f72697a65642073656e646572206f72206e6f74206c6973746560448201526b19081bdb88111156081e595d60a21b6064820152608490fd5b91908203918211610c7057565b634e487b7160e01b600052601160045260246000fd5b91908201809211610c7057565b6001600160a01b03908116918215610daa5716918215610d59578015610d145760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9183600052600582526040600020610cef828254610c63565b905584600052600582526040600020610d09828254610c86565b9055604051908152a3565b60405162461bcd60e51b815260206004820152601760248201527f696e76616c6964207472616e7366657220616d6f756e740000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215610eae5716918215610e5e5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260068252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6003549060ff8260a81c16610f47576002546001600160a01b03908116918116918214928315610f3b575b505050610f3657600090565b600190565b16149050388080610f2a565b5050600190565b60ff60035460a81c16610f365760009056fea264697066735822122017fe2b93ea69f6ddc53f664aba298f682083fd35c25c0cbeecf5cbec1789d29464736f6c63430008140033