0x608060405234801561001057600080fd5b50610834806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635919ad3a1461003b578063e5c5e9a314610064575b600080fd5b61004e61004936600461032a565b610084565b60405161005b91906104b0565b60405180910390f35b6100776100723660046104ca565b6100ad565b60405161005b919061055c565b606081604051602001610097919061055c565b6040516020818303038152906040529050919050565b6100b56100cf565b818060200190518101906100c991906106c8565b92915050565b604051806080016040528060006001600160a01b031681526020016100f2610106565b815260200160608152602001600081525090565b604051806060016040528060008152602001610145604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b8152600060209091015290565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561018b5761018b610152565b60405290565b6040516060810167ffffffffffffffff8111828210171561018b5761018b610152565b604051601f8201601f1916810167ffffffffffffffff811182821017156101dd576101dd610152565b604052919050565b6001600160a01b03811681146101fa57600080fd5b50565b600067ffffffffffffffff82111561021757610217610152565b50601f01601f191660200190565b600082601f83011261023657600080fd5b8135610249610244826101fd565b6101b4565b81815284602083860101111561025e57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111561029557610295610152565b5060051b60200190565b600082601f8301126102b057600080fd5b813560206102c06102448361027b565b82815260059290921b840181019181810190868411156102df57600080fd5b8286015b8481101561031f57803567ffffffffffffffff8111156103035760008081fd5b6103118986838b0101610225565b8452509183019183016102e3565b509695505050505050565b6000602080838503121561033d57600080fd5b823567ffffffffffffffff8082111561035557600080fd5b908401906080828703121561036957600080fd5b610371610168565b823561037c816101e5565b8152828401358281111561038f57600080fd5b8301606081890312156103a157600080fd5b6103a9610191565b8135815285820135848111156103be57600080fd5b82016060818b0312156103d057600080fd5b6103d8610191565b81356103e3816101e5565b815281880135888201526040808301358781111561040057600080fd5b61040c8d828601610225565b82840152508189850152808501358185015283898701528088013598508689111561043657600080fd5b6104428c8a8a0161029f565b90860152505050506060928301359281019290925250949350505050565b60005b8381101561047b578181015183820152602001610463565b50506000910152565b6000815180845261049c816020860160208601610460565b601f01601f19169290920160200192915050565b6020815260006104c36020830184610484565b9392505050565b6000602082840312156104dc57600080fd5b813567ffffffffffffffff8111156104f357600080fd5b6104ff84828501610225565b949350505050565b600081518084526020808501808196508360051b8101915082860160005b8581101561054f57828403895261053d848351610484565b98850198935090840190600101610525565b5091979650505050505050565b60208152600060018060a01b03808451166020840152602084015160806040850152805160a08501526020810151606060c0860152828151166101008601526020810151610120860152604081015192505060606101408501526105c4610160850183610484565b9150604081015160e0850152506040840151601f198483030160608501526105ec8282610507565b915050606084015160808401528091505092915050565b600082601f83011261061457600080fd5b8151610622610244826101fd565b81815284602083860101111561063757600080fd5b6104ff826020830160208701610460565b600082601f83011261065957600080fd5b815160206106696102448361027b565b82815260059290921b8401810191818101908684111561068857600080fd5b8286015b8481101561031f57805167ffffffffffffffff8111156106ac5760008081fd5b6106ba8986838b0101610603565b84525091830191830161068c565b600060208083850312156106db57600080fd5b825167ffffffffffffffff808211156106f357600080fd5b908401906080828703121561070757600080fd5b61070f610168565b825161071a816101e5565b8152828401518281111561072d57600080fd5b83016060818903121561073f57600080fd5b610747610191565b81518152858201518481111561075c57600080fd5b82016060818b03121561076e57600080fd5b610776610191565b8151610781816101e5565b815281880151888201526040808301518781111561079e57600080fd5b6107aa8d828601610603565b8284015250818985015280850151818501528389870152808801519850868911156107d457600080fd5b6107e08c8a8a01610648565b9086015250505050606092830151928101929092525094935050505056fea26469706673582212200e2cafe012ff48f2231aeefb75bd22030afebbc50159ec3516820bdc9d22a18064736f6c63430008100033