608060405234801561001057600080fd5b5061061b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806306fdde031461005c57806318160ddd1461007a578063313ce5671461009857806395d89b41146100b6578063a9059cbb146100d4575b600080fd5b6100646100f0565b60405161007191906102af565b60405180910390f35b610082610129565b60405161008f91906102d1565b60405180910390f35b6100a061014b565b6040516100ad91906102ec565b60405180910390f35b6100be610150565b6040516100cb91906102af565b60405180910390f35b6100ee60048036038101906100e9919061021c565b610189565b005b6040518060400160405280600981526020017f46616b65546f6b656e000000000000000000000000000000000000000000000081525081565b601260ff16600a61013a9190610376565b620f42406101489190610494565b81565b601281565b6040518060400160405280600381526020017f46544b000000000000000000000000000000000000000000000000000000000081525081565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101e691906102d1565b60405180910390a35050565b600081359050610201816105b7565b92915050565b600081359050610216816105ce565b92915050565b6000806040838503121561022f57600080fd5b600061023d858286016101f2565b925050602061024e85828601610207565b9150509250929050565b600061026382610307565b61026d8185610312565b935061027d818560208601610537565b61028681610599565b840191505092915050565b61029a81610520565b82525050565b6102a98161052a565b82525050565b600060208201905081810360008301526102c98184610258565b905092915050565b60006020820190506102e66000830184610291565b92915050565b600060208201905061030160008301846102a0565b92915050565b600081519050919050565b600082825260208201905092915050565b6000808291508390505b600185111561036d578086048111156103495761034861056a565b5b60018516156103585780820291505b8081029050610366856105aa565b945061032d565b94509492505050565b600061038182610520565b915061038c83610520565b92506103b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846103c1565b905092915050565b6000826103d1576001905061048d565b816103df576000905061048d565b81600181146103f557600281146103ff5761042e565b600191505061048d565b60ff8411156104115761041061056a565b5b8360020a9150848211156104285761042761056a565b5b5061048d565b5060208310610133831016604e8410600b84101617156104635782820a90508381111561045e5761045d61056a565b5b61048d565b6104708484846001610323565b925090508184048111156104875761048661056a565b5b81810290505b9392505050565b600061049f82610520565b91506104aa83610520565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156104e3576104e261056a565b5b828202905092915050565b60006104f982610500565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561055557808201518184015260208101905061053a565b83811115610564576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b6105c0816104ee565b81146105cb57600080fd5b50565b6105d781610520565b81146105e257600080fd5b5056fea2646970667358221220e9ff3fb380a2ff2eeecf2b24c4c42beba8051fd396c2a1b21b5b0b491434221064736f6c63430008000033