0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806342966c68146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906110e9565b60405180910390f35b610132600480360381019061012d91906111a4565b6103b4565b60405161013f91906111ff565b60405180910390f35b6101506103d2565b60405161015d9190611229565b60405180910390f35b610180600480360381019061017b9190611244565b6103dc565b60405161018d91906111ff565b60405180910390f35b61019e6104d4565b6040516101ab91906112b3565b60405180910390f35b6101ce60048036038101906101c991906111a4565b6104dd565b6040516101db91906111ff565b60405180910390f35b6101fe60048036038101906101f991906112ce565b610589565b005b61021a600480360381019061021591906112fb565b61059d565b6040516102279190611229565b60405180910390f35b6102386105e6565b005b6102426105fa565b60405161024f9190611337565b60405180910390f35b610260610623565b60405161026d91906110e9565b60405180910390f35b610290600480360381019061028b91906111a4565b6106b5565b60405161029d91906111ff565b60405180910390f35b6102c060048036038101906102bb91906111a4565b6107a0565b6040516102cd91906111ff565b60405180910390f35b6102f060048036038101906102eb9190611352565b6107be565b6040516102fd9190611229565b60405180910390f35b610320600480360381019061031b91906112fb565b610845565b005b606060048054610331906113c1565b80601f016020809104026020016040519081016040528092919081815260200182805461035d906113c1565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c16108c9565b84846108d1565b6001905092915050565b6000600354905090565b60006103e9848484610a9c565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104346108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ab90611465565b60405180910390fd5b6104c8856104c06108c9565b8584036108d1565b60019150509392505050565b60006012905090565b600061057f6104ea6108c9565b8484600260006104f86108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461057a91906114b4565b6108d1565b6001905092915050565b61059a6105946108c9565b82610d4d565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105ee610f0e565b6105f86000610f8c565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610632906113c1565b80601f016020809104026020016040519081016040528092919081815260200182805461065e906113c1565b80156106ab5780601f10610680576101008083540402835291602001916106ab565b820191906000526020600020905b81548152906001019060200180831161068e57829003601f168201915b5050505050905090565b600080600260006106c46108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107789061157c565b60405180910390fd5b61079561078c6108c9565b858584036108d1565b600191505092915050565b60006107b46107ad6108c9565b8484610a9c565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61084d610f0e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b49061160e565b60405180910390fd5b6108c681610f8c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610941576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610938906116a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890611732565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a8f9190611229565b60405180910390a3505050565b60008111610adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad69061179e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4690611830565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb6906118c2565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d90611954565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdb91906114b4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d3f9190611229565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db4906119e6565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90611a78565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254610e9c9190611a98565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f019190611229565b60405180910390a3505050565b610f166108c9565b73ffffffffffffffffffffffffffffffffffffffff16610f346105fa565b73ffffffffffffffffffffffffffffffffffffffff1614610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8190611b18565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561108a57808201518184015260208101905061106f565b83811115611099576000848401525b50505050565b6000601f19601f8301169050919050565b60006110bb82611050565b6110c5818561105b565b93506110d581856020860161106c565b6110de8161109f565b840191505092915050565b6000602082019050818103600083015261110381846110b0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061113b82611110565b9050919050565b61114b81611130565b811461115657600080fd5b50565b60008135905061116881611142565b92915050565b6000819050919050565b6111818161116e565b811461118c57600080fd5b50565b60008135905061119e81611178565b92915050565b600080604083850312156111bb576111ba61110b565b5b60006111c985828601611159565b92505060206111da8582860161118f565b9150509250929050565b60008115159050919050565b6111f9816111e4565b82525050565b600060208201905061121460008301846111f0565b92915050565b6112238161116e565b82525050565b600060208201905061123e600083018461121a565b92915050565b60008060006060848603121561125d5761125c61110b565b5b600061126b86828701611159565b935050602061127c86828701611159565b925050604061128d8682870161118f565b9150509250925092565b600060ff82169050919050565b6112ad81611297565b82525050565b60006020820190506112c860008301846112a4565b92915050565b6000602082840312156112e4576112e361110b565b5b60006112f28482850161118f565b91505092915050565b6000602082840312156113115761131061110b565b5b600061131f84828501611159565b91505092915050565b61133181611130565b82525050565b600060208201905061134c6000830184611328565b92915050565b600080604083850312156113695761136861110b565b5b600061137785828601611159565b925050602061138885828601611159565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113d957607f821691505b602082108114156113ed576113ec611392565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061144f60288361105b565b915061145a826113f3565b604082019050919050565b6000602082019050818103600083015261147e81611442565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114bf8261116e565b91506114ca8361116e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114ff576114fe611485565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061156660258361105b565b91506115718261150a565b604082019050919050565b6000602082019050818103600083015261159581611559565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006115f860268361105b565b91506116038261159c565b604082019050919050565b60006020820190508181036000830152611627816115eb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061168a60248361105b565b91506116958261162e565b604082019050919050565b600060208201905081810360008301526116b98161167d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061171c60228361105b565b9150611727826116c0565b604082019050919050565b6000602082019050818103600083015261174b8161170f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611788601b8361105b565b915061179382611752565b602082019050919050565b600060208201905081810360008301526117b78161177b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061181a60258361105b565b9150611825826117be565b604082019050919050565b600060208201905081810360008301526118498161180d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118ac60238361105b565b91506118b782611850565b604082019050919050565b600060208201905081810360008301526118db8161189f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061193e60268361105b565b9150611949826118e2565b604082019050919050565b6000602082019050818103600083015261196d81611931565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006119d060218361105b565b91506119db82611974565b604082019050919050565b600060208201905081810360008301526119ff816119c3565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a6260228361105b565b9150611a6d82611a06565b604082019050919050565b60006020820190508181036000830152611a9181611a55565b9050919050565b6000611aa38261116e565b9150611aae8361116e565b925082821015611ac157611ac0611485565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b0260208361105b565b9150611b0d82611acc565b602082019050919050565b60006020820190508181036000830152611b3181611af5565b905091905056fea2646970667358221220479823a9901aeeca6dcd0f3c50b400b1240530411067f8de1df530131de73dbd64736f6c63430008090033
0x60806040523480156200001157600080fd5b506200003262000026620000f260201b60201c565b620000fa60201b60201c565b6040518060400160405280600e81526020017f5065706520556e636861696e6564000000000000000000000000000000000000815250600490805190602001906200007f92919062000310565b506040518060400160405280600481526020017f504550550000000000000000000000000000000000000000000000000000000081525060059080519060200190620000cd92919062000310565b50620000ec336b33b2e3c9fd0803ce80000000620001be60201b60201c565b6200056c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000231576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002289062000421565b60405180910390fd5b80600360008282546200024591906200047c565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200029d91906200047c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003049190620004ea565b60405180910390a35050565b8280546200031e9062000536565b90600052602060002090601f0160209004810192826200034257600085556200038e565b82601f106200035d57805160ff19168380011785556200038e565b828001600101855582156200038e579182015b828111156200038d57825182559160200191906001019062000370565b5b5090506200039d9190620003a1565b5090565b5b80821115620003bc576000816000905550600101620003a2565b5090565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000409601f83620003c0565b91506200041682620003d1565b602082019050919050565b600060208201905081810360008301526200043c81620003fa565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004898262000443565b9150620004968362000443565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004ce57620004cd6200044d565b5b828201905092915050565b620004e48162000443565b82525050565b6000602082019050620005016000830184620004d9565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200054f57607f821691505b6020821081141562000566576200056562000507565b5b50919050565b611b6e806200057c6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806342966c68146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906110e9565b60405180910390f35b610132600480360381019061012d91906111a4565b6103b4565b60405161013f91906111ff565b60405180910390f35b6101506103d2565b60405161015d9190611229565b60405180910390f35b610180600480360381019061017b9190611244565b6103dc565b60405161018d91906111ff565b60405180910390f35b61019e6104d4565b6040516101ab91906112b3565b60405180910390f35b6101ce60048036038101906101c991906111a4565b6104dd565b6040516101db91906111ff565b60405180910390f35b6101fe60048036038101906101f991906112ce565b610589565b005b61021a600480360381019061021591906112fb565b61059d565b6040516102279190611229565b60405180910390f35b6102386105e6565b005b6102426105fa565b60405161024f9190611337565b60405180910390f35b610260610623565b60405161026d91906110e9565b60405180910390f35b610290600480360381019061028b91906111a4565b6106b5565b60405161029d91906111ff565b60405180910390f35b6102c060048036038101906102bb91906111a4565b6107a0565b6040516102cd91906111ff565b60405180910390f35b6102f060048036038101906102eb9190611352565b6107be565b6040516102fd9190611229565b60405180910390f35b610320600480360381019061031b91906112fb565b610845565b005b606060048054610331906113c1565b80601f016020809104026020016040519081016040528092919081815260200182805461035d906113c1565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c16108c9565b84846108d1565b6001905092915050565b6000600354905090565b60006103e9848484610a9c565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104346108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ab90611465565b60405180910390fd5b6104c8856104c06108c9565b8584036108d1565b60019150509392505050565b60006012905090565b600061057f6104ea6108c9565b8484600260006104f86108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461057a91906114b4565b6108d1565b6001905092915050565b61059a6105946108c9565b82610d4d565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105ee610f0e565b6105f86000610f8c565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610632906113c1565b80601f016020809104026020016040519081016040528092919081815260200182805461065e906113c1565b80156106ab5780601f10610680576101008083540402835291602001916106ab565b820191906000526020600020905b81548152906001019060200180831161068e57829003601f168201915b5050505050905090565b600080600260006106c46108c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107789061157c565b60405180910390fd5b61079561078c6108c9565b858584036108d1565b600191505092915050565b60006107b46107ad6108c9565b8484610a9c565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61084d610f0e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b49061160e565b60405180910390fd5b6108c681610f8c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610941576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610938906116a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890611732565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a8f9190611229565b60405180910390a3505050565b60008111610adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad69061179e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4690611830565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb6906118c2565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d90611954565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdb91906114b4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d3f9190611229565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db4906119e6565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90611a78565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254610e9c9190611a98565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f019190611229565b60405180910390a3505050565b610f166108c9565b73ffffffffffffffffffffffffffffffffffffffff16610f346105fa565b73ffffffffffffffffffffffffffffffffffffffff1614610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8190611b18565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561108a57808201518184015260208101905061106f565b83811115611099576000848401525b50505050565b6000601f19601f8301169050919050565b60006110bb82611050565b6110c5818561105b565b93506110d581856020860161106c565b6110de8161109f565b840191505092915050565b6000602082019050818103600083015261110381846110b0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061113b82611110565b9050919050565b61114b81611130565b811461115657600080fd5b50565b60008135905061116881611142565b92915050565b6000819050919050565b6111818161116e565b811461118c57600080fd5b50565b60008135905061119e81611178565b92915050565b600080604083850312156111bb576111ba61110b565b5b60006111c985828601611159565b92505060206111da8582860161118f565b9150509250929050565b60008115159050919050565b6111f9816111e4565b82525050565b600060208201905061121460008301846111f0565b92915050565b6112238161116e565b82525050565b600060208201905061123e600083018461121a565b92915050565b60008060006060848603121561125d5761125c61110b565b5b600061126b86828701611159565b935050602061127c86828701611159565b925050604061128d8682870161118f565b9150509250925092565b600060ff82169050919050565b6112ad81611297565b82525050565b60006020820190506112c860008301846112a4565b92915050565b6000602082840312156112e4576112e361110b565b5b60006112f28482850161118f565b91505092915050565b6000602082840312156113115761131061110b565b5b600061131f84828501611159565b91505092915050565b61133181611130565b82525050565b600060208201905061134c6000830184611328565b92915050565b600080604083850312156113695761136861110b565b5b600061137785828601611159565b925050602061138885828601611159565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113d957607f821691505b602082108114156113ed576113ec611392565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061144f60288361105b565b915061145a826113f3565b604082019050919050565b6000602082019050818103600083015261147e81611442565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114bf8261116e565b91506114ca8361116e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114ff576114fe611485565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061156660258361105b565b91506115718261150a565b604082019050919050565b6000602082019050818103600083015261159581611559565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006115f860268361105b565b91506116038261159c565b604082019050919050565b60006020820190508181036000830152611627816115eb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061168a60248361105b565b91506116958261162e565b604082019050919050565b600060208201905081810360008301526116b98161167d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061171c60228361105b565b9150611727826116c0565b604082019050919050565b6000602082019050818103600083015261174b8161170f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611788601b8361105b565b915061179382611752565b602082019050919050565b600060208201905081810360008301526117b78161177b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061181a60258361105b565b9150611825826117be565b604082019050919050565b600060208201905081810360008301526118498161180d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118ac60238361105b565b91506118b782611850565b604082019050919050565b600060208201905081810360008301526118db8161189f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061193e60268361105b565b9150611949826118e2565b604082019050919050565b6000602082019050818103600083015261196d81611931565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006119d060218361105b565b91506119db82611974565b604082019050919050565b600060208201905081810360008301526119ff816119c3565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a6260228361105b565b9150611a6d82611a06565b604082019050919050565b60006020820190508181036000830152611a9181611a55565b9050919050565b6000611aa38261116e565b9150611aae8361116e565b925082821015611ac157611ac0611485565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b0260208361105b565b9150611b0d82611acc565b602082019050919050565b60006020820190508181036000830152611b3181611af5565b905091905056fea2646970667358221220479823a9901aeeca6dcd0f3c50b400b1240530411067f8de1df530131de73dbd64736f6c63430008090033