0x60806040523480156200001157600080fd5b506040516200105b3803806200105b833981810160405281019062000037919062000207565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036200007157600080fd5b8067ffffffffffffffff168367ffffffffffffffff16106200009257600080fd5b83600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555081600260006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600260086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505062000279565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200018a826200015d565b9050919050565b6200019c816200017d565b8114620001a857600080fd5b50565b600081519050620001bc8162000191565b92915050565b600067ffffffffffffffff82169050919050565b620001e181620001c2565b8114620001ed57600080fd5b50565b6000815190506200020181620001d6565b92915050565b6000806000806080858703121562000224576200022362000158565b5b60006200023487828801620001ab565b94505060206200024787828801620001f0565b93505060406200025a87828801620001f0565b92505060606200026d87828801620001f0565b91505092959194509250565b610dd280620002896000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806319165587146100465780633cfb4dcf1461006257806366c132ba14610092575b600080fd5b610060600480360381019061005b91906107bc565b6100b0565b005b61007c600480360381019061007791906107bc565b61018f565b6040516100899190610802565b60405180910390f35b61009a610263565b6040516100a7919061082c565b60405180910390f35b60006100bb8261028d565b6100c48361018f565b6100ce9190610876565b9050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461011e91906108aa565b925050819055507f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a918282604051610156929190610900565b60405180910390a161018b82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836102d5565b5050565b600061025c6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161020c919061082c565b602060405180830381865afa158015610229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024d9190610955565b61025791906108aa565b61035b565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6103568363a9059cbb60e01b84846040516024016102f4929190610900565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610479565b505050565b6000610365610541565b8061038f5750600260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1642105b1561039d5760009050610474565b600260089054906101000a900467ffffffffffffffff16600160149054906101000a900467ffffffffffffffff16600260009054906101000a900467ffffffffffffffff166103ec9190610996565b6103f69190610996565b67ffffffffffffffff1642111561040f57819050610474565b600260089054906101000a900467ffffffffffffffff1667ffffffffffffffff16600260009054906101000a900467ffffffffffffffff1667ffffffffffffffff164261045c9190610876565b8361046791906109d4565b6104719190610a5d565b90505b919050565b60006104db826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661058c9092919063ffffffff16565b90506000815114806104fd5750808060200190518101906104fc9190610ac6565b5b61053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390610b76565b60405180910390fd5b505050565b600042600160149054906101000a900467ffffffffffffffff16600260009054906101000a900467ffffffffffffffff1661057c9190610996565b67ffffffffffffffff1610905090565b606061059b84846000856105a4565b90509392505050565b6060824710156105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e090610c08565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516106129190610ca2565b60006040518083038185875af1925050503d806000811461064f576040519150601f19603f3d011682016040523d82523d6000602084013e610654565b606091505b509150915061066587838387610671565b92505050949350505050565b606083156106d35760008351036106cb5761068b856106e6565b6106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c190610d05565b60405180910390fd5b5b8290506106de565b6106dd8383610709565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008251111561071c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107509190610d7a565b60405180910390fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107898261075e565b9050919050565b6107998161077e565b81146107a457600080fd5b50565b6000813590506107b681610790565b92915050565b6000602082840312156107d2576107d1610759565b5b60006107e0848285016107a7565b91505092915050565b6000819050919050565b6107fc816107e9565b82525050565b600060208201905061081760008301846107f3565b92915050565b6108268161077e565b82525050565b6000602082019050610841600083018461081d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610881826107e9565b915061088c836107e9565b92508282101561089f5761089e610847565b5b828203905092915050565b60006108b5826107e9565b91506108c0836107e9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108f5576108f4610847565b5b828201905092915050565b6000604082019050610915600083018561081d565b61092260208301846107f3565b9392505050565b610932816107e9565b811461093d57600080fd5b50565b60008151905061094f81610929565b92915050565b60006020828403121561096b5761096a610759565b5b600061097984828501610940565b91505092915050565b600067ffffffffffffffff82169050919050565b60006109a182610982565b91506109ac83610982565b92508267ffffffffffffffff038211156109c9576109c8610847565b5b828201905092915050565b60006109df826107e9565b91506109ea836107e9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a2357610a22610847565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610a68826107e9565b9150610a73836107e9565b925082610a8357610a82610a2e565b5b828204905092915050565b60008115159050919050565b610aa381610a8e565b8114610aae57600080fd5b50565b600081519050610ac081610a9a565b92915050565b600060208284031215610adc57610adb610759565b5b6000610aea84828501610ab1565b91505092915050565b600082825260208201905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000610b60602a83610af3565b9150610b6b82610b04565b604082019050919050565b60006020820190508181036000830152610b8f81610b53565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000610bf2602683610af3565b9150610bfd82610b96565b604082019050919050565b60006020820190508181036000830152610c2181610be5565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015610c5c578082015181840152602081019050610c41565b83811115610c6b576000848401525b50505050565b6000610c7c82610c28565b610c868185610c33565b9350610c96818560208601610c3e565b80840191505092915050565b6000610cae8284610c71565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000610cef601d83610af3565b9150610cfa82610cb9565b602082019050919050565b60006020820190508181036000830152610d1e81610ce2565b9050919050565b600081519050919050565b6000601f19601f8301169050919050565b6000610d4c82610d25565b610d568185610af3565b9350610d66818560208601610c3e565b610d6f81610d30565b840191505092915050565b60006020820190508181036000830152610d948184610d41565b90509291505056fea26469706673582212201087f5359eed0dc308289f44ce4c89e53de977bcacf8149cfec0a65b691dc16c64736f6c634300080f00330000000000000000000000001b34bd073329bf6356dd088a94cb6ce535c19a80000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002