0x60806040526040518060400160405280600581526020017f47524f4b320000000000000000000000000000000000000000000000000000008152506000908051906020019062000051929190620001b5565b506040518060400160405280600581526020017f47524f4b32000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f929190620001b5565b506012600260006101000a81548160ff021916908360ff160217905550600260009054906101000a900460ff1660ff16600a620000dd9190620002ee565b6305f5e100620000ee91906200042b565b600355348015620000fe57600080fd5b50600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620001a7919062000276565b60405180910390a362000537565b828054620001c39062000496565b90600052602060002090601f016020900481019282620001e7576000855562000233565b82601f106200020257805160ff191683800117855562000233565b8280016001018555821562000233579182015b828111156200023257825182559160200191906001019062000215565b5b50905062000242919062000246565b5090565b5b808211156200026157600081600090555060010162000247565b5090565b62000270816200048c565b82525050565b60006020820190506200028d600083018462000265565b92915050565b6000808291508390505b6001851115620002e557808604811115620002bd57620002bc620004cc565b5b6001851615620002cd5780820291505b8081029050620002dd856200052a565b94506200029d565b94509492505050565b6000620002fb826200048c565b915062000308836200048c565b9250620003377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200033f565b905092915050565b60008262000351576001905062000424565b8162000361576000905062000424565b81600181146200037a57600281146200038557620003bb565b600191505062000424565b60ff8411156200039a5762000399620004cc565b5b8360020a915084821115620003b457620003b3620004cc565b5b5062000424565b5060208310610133831016604e8410600b8410161715620003f55782820a905083811115620003ef57620003ee620004cc565b5b62000424565b62000404848484600162000293565b925090508184048111156200041e576200041d620004cc565b5b81810290505b9392505050565b600062000438826200048c565b915062000445836200048c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620004815762000480620004cc565b5b828202905092915050565b6000819050919050565b60006002820490506001821680620004af57607f821691505b60208210811415620004c657620004c5620004fb565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b610ff880620005476000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610d0d565b60405180910390f35b6100d060048036038101906100cb9190610b90565b61028e565b6040516100dd9190610cf2565b60405180910390f35b6100ee6103ef565b6040516100fb9190610d8f565b60405180910390f35b61011e60048036038101906101199190610b41565b6103f5565b60405161012b9190610cf2565b60405180910390f35b61013c6107c6565b6040516101499190610daa565b60405180910390f35b61016c60048036038101906101679190610adc565b6107d9565b6040516101799190610d8f565b60405180910390f35b61018a6107f1565b6040516101979190610d0d565b60405180910390f35b6101ba60048036038101906101b59190610b90565b61087f565b6040516101c79190610cf2565b60405180910390f35b6101ea60048036038101906101e59190610b05565b610a8d565b6040516101f79190610d8f565b60405180910390f35b6000805461020d90610ef3565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610ef3565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156102ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f690610d4f565b60405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103dd9190610d8f565b60405180910390a36001905092915050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90610d4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cd90610d4f565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054f90610d6f565b60405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90610d2f565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106669190610e37565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bc9190610de1565b9250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461074f9190610e37565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107b39190610d8f565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b60046020528060005260406000206000915090505481565b600180546107fe90610ef3565b80601f016020809104026020016040519081016040528092919081815260200182805461082a90610ef3565b80156108775780601f1061084c57610100808354040283529160200191610877565b820191906000526020600020905b81548152906001019060200180831161085a57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e790610d4f565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990610d6f565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c19190610e37565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a179190610de1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a7b9190610d8f565b60405180910390a36001905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600081359050610ac181610f94565b92915050565b600081359050610ad681610fab565b92915050565b600060208284031215610aee57600080fd5b6000610afc84828501610ab2565b91505092915050565b60008060408385031215610b1857600080fd5b6000610b2685828601610ab2565b9250506020610b3785828601610ab2565b9150509250929050565b600080600060608486031215610b5657600080fd5b6000610b6486828701610ab2565b9350506020610b7586828701610ab2565b9250506040610b8686828701610ac7565b9150509250925092565b60008060408385031215610ba357600080fd5b6000610bb185828601610ab2565b9250506020610bc285828601610ac7565b9150509250929050565b610bd581610e7d565b82525050565b6000610be682610dc5565b610bf08185610dd0565b9350610c00818560208601610ec0565b610c0981610f83565b840191505092915050565b6000610c21601283610dd0565b91507f416c6c6f77616e636520657863656564656400000000000000000000000000006000830152602082019050919050565b6000610c61600f83610dd0565b91507f496e76616c6964206164647265737300000000000000000000000000000000006000830152602082019050919050565b6000610ca1601483610dd0565b91507f496e73756666696369656e742062616c616e63650000000000000000000000006000830152602082019050919050565b610cdd81610ea9565b82525050565b610cec81610eb3565b82525050565b6000602082019050610d076000830184610bcc565b92915050565b60006020820190508181036000830152610d278184610bdb565b905092915050565b60006020820190508181036000830152610d4881610c14565b9050919050565b60006020820190508181036000830152610d6881610c54565b9050919050565b60006020820190508181036000830152610d8881610c94565b9050919050565b6000602082019050610da46000830184610cd4565b92915050565b6000602082019050610dbf6000830184610ce3565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610dec82610ea9565b9150610df783610ea9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e2c57610e2b610f25565b5b828201905092915050565b6000610e4282610ea9565b9150610e4d83610ea9565b925082821015610e6057610e5f610f25565b5b828203905092915050565b6000610e7682610e89565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610ede578082015181840152602081019050610ec3565b83811115610eed576000848401525b50505050565b60006002820490506001821680610f0b57607f821691505b60208210811415610f1f57610f1e610f54565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b610f9d81610e6b565b8114610fa857600080fd5b50565b610fb481610ea9565b8114610fbf57600080fd5b5056fea2646970667358221220cbc6010dd2a3ff3f9fb39b4f953604531da21a97baab44337a4e6f8f7710baa464736f6c63430008000033