6080604052734752ba5dbc23f44d87826276bf6fd6b1c372ad24600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b50604051620035523803806200355283398181016040528101906200008c91906200145a565b620000ac620000a062000f2f60201b60201c565b62000f3760201b60201c565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260079081620001e491906200176a565b508160089081620001f691906200176a565b50600180600073c24091a8c88abd9fb3f5dbf5e5d61ea681aceb9173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000735542a4b2bd2b03d2aa131618cbd539cd84f7d31573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073758145a1999e78065dc1e1fdbe28e707d43314c273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073af901b771c639f7635c94fc3a3c0b229cd1125f573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073e174d75b4bd828060338415bd37b7b070e62c5ea73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073796aeda689693896fa27633c31a5a99fd2dac15d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000734bd8ce90842be8e54b2ae84dc652ef9eaaba9df973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000736a20edbf1a68ae669db89ff846ca6e975c67bca773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073016b2f35472b60619f34e295cabb83b9a80f8a9c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ec7ed685f1750ae1772048a448faa48bf351b37573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073a67bf23e0767db3adb110a88b2e0a8b2de61db5273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073733a6cc6b4dffb4ead772355fd366bb6dc6c46e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000734a80f66d3c2974e134ed5c6ececbba4376bc5c4773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000731b069ceaaa1a57ba84311669af9e80024ccbd72a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000732ad118e0e8b3c2fabb0a8e49f91bedd9a80267c673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073985cf23fecfb3ff402d5e563274c17174998c50573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073d66836d7dc195fd0bdb5d61242b17ef020d037dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ad41173dcd506632ec2e008ad8b17def11acc1ab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000738ddb0f1949fd32e6f7ec9e54f4868c97069e8b2b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073bd670c24419ea69526e2884491faca0ea7a55d7e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073c89a2bda39bf7209a0be52b17b46aace7b69852973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000738f47bb230cf3dada0ec45fa028ba64b1d79456c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073bdf9ea2738a8a9e001be7a2a51519b78bfcbf76073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ae36b5421284d583bce77de1196f1dc8e4b1db1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073a894b36217eb2f524395c395d2689c8d4cfba53f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073fd62e7532a8a03aa9105596a02deabf8920d368d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b815181101562000d6457600180600084848151811062000cfd5762000cfc62001851565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505062000cd8565b506000738909dc15e40173ff4699343b6eb8132c65e18ec690506000309050600073420000000000000000000000000000000000000690506000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161062000ddb57828462000dde565b83835b915091506000828260405160200162000df9929190620018d0565b604051602081830303815290604052805190602001209050858160405160200162000e26929190620019da565b6040516020818303038152906040528051906020012060001c600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000f1f33670de0b6b3a76400008c62000f13919062001a53565b62000ffb60201b60201c565b5050505050505050505062001b8a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200106d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010649062001aff565b60405180910390fd5b806006600082825462001081919062001b21565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620010d9919062001b21565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162001140919062001b6d565b60405180910390a35050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620011758162001160565b81146200118157600080fd5b50565b60008151905062001195816200116a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620011f082620011a5565b810181811067ffffffffffffffff82111715620012125762001211620011b6565b5b80604052505050565b6000620012276200114c565b9050620012358282620011e5565b919050565b600067ffffffffffffffff821115620012585762001257620011b6565b5b6200126382620011a5565b9050602081019050919050565b60005b838110156200129057808201518184015260208101905062001273565b60008484015250505050565b6000620012b3620012ad846200123a565b6200121b565b905082815260208101848484011115620012d257620012d1620011a0565b5b620012df84828562001270565b509392505050565b600082601f830112620012ff57620012fe6200119b565b5b8151620013118482602086016200129c565b91505092915050565b600067ffffffffffffffff821115620013385762001337620011b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200137b826200134e565b9050919050565b6200138d816200136e565b81146200139957600080fd5b50565b600081519050620013ad8162001382565b92915050565b6000620013ca620013c4846200131a565b6200121b565b90508083825260208201905060208402830185811115620013f057620013ef62001349565b5b835b818110156200141d57806200140888826200139c565b845260208401935050602081019050620013f2565b5050509392505050565b600082601f8301126200143f576200143e6200119b565b5b815162001451848260208601620013b3565b91505092915050565b6000806000806080858703121562001477576200147662001156565b5b6000620014878782880162001184565b945050602085015167ffffffffffffffff811115620014ab57620014aa6200115b565b5b620014b987828801620012e7565b935050604085015167ffffffffffffffff811115620014dd57620014dc6200115b565b5b620014eb87828801620012e7565b925050606085015167ffffffffffffffff8111156200150f576200150e6200115b565b5b6200151d8782880162001427565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200157c57607f821691505b60208210810362001592576200159162001534565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620015fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620015bd565b620016088683620015bd565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200164b620016456200163f8462001160565b62001620565b62001160565b9050919050565b6000819050919050565b62001667836200162a565b6200167f620016768262001652565b848454620015ca565b825550505050565b600090565b6200169662001687565b620016a38184846200165c565b505050565b5b81811015620016cb57620016bf6000826200168c565b600181019050620016a9565b5050565b601f8211156200171a57620016e48162001598565b620016ef84620015ad565b81016020851015620016ff578190505b620017176200170e85620015ad565b830182620016a8565b50505b505050565b600082821c905092915050565b60006200173f600019846008026200171f565b1980831691505092915050565b60006200175a83836200172c565b9150826002028217905092915050565b620017758262001529565b67ffffffffffffffff811115620017915762001790620011b6565b5b6200179d825462001563565b620017aa828285620016cf565b600060209050601f831160018114620017e25760008415620017cd578287015190505b620017d985826200174c565b86555062001849565b601f198416620017f28662001598565b60005b828110156200181c57848901518255600182019150602085019450602081019050620017f5565b868310156200183c578489015162001838601f8916826200172c565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160601b9050919050565b60006200189a8262001880565b9050919050565b6000620018ae826200188d565b9050919050565b620018ca620018c4826200136e565b620018a1565b82525050565b6000620018de8285620018b5565b601482019150620018f08284620018b5565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b60006200194360018362001900565b915062001950826200190b565b600182019050919050565b6000819050919050565b6000819050919050565b620019846200197e826200195b565b62001965565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b6000620019c260208362001900565b9150620019cf826200198a565b602082019050919050565b6000620019e78262001934565b9150620019f58285620018b5565b60148201915062001a0782846200196f565b60208201915062001a1882620019b3565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062001a608262001160565b915062001a6d8362001160565b925082820262001a7d8162001160565b9150828204841483151762001a975762001a9662001a24565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001ae7601f8362001a9e565b915062001af48262001aaf565b602082019050919050565b6000602082019050818103600083015262001b1a8162001ad8565b9050919050565b600062001b2e8262001160565b915062001b3b8362001160565b925082820190508082111562001b565762001b5562001a24565b5b92915050565b62001b678162001160565b82525050565b600060208201905062001b84600083018462001b5c565b92915050565b6119b88062001b9a6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f5780638da5cb5b146101bf57806395d89b41146101dd578063a9059cbb146101fb578063b2c1cc8f1461022b578063dd62ed3e14610247576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce56714610155578063349902ae14610173575b600080fd5b6100c1610277565b6040516100ce919061126b565b60405180910390f35b6100f160048036038101906100ec9190611326565b610309565b6040516100fe9190611381565b60405180910390f35b61010f610327565b60405161011c91906113ab565b60405180910390f35b61013f600480360381019061013a91906113c6565b610331565b60405161014c9190611381565b60405180910390f35b61015d610429565b60405161016a9190611435565b60405180910390f35b61018d60048036038101906101889190611450565b610432565b005b6101a960048036038101906101a49190611450565b610508565b6040516101b691906113ab565b60405180910390f35b6101c7610551565b6040516101d4919061148c565b60405180910390f35b6101e561057a565b6040516101f2919061126b565b60405180910390f35b61021560048036038101906102109190611326565b61060c565b6040516102229190611381565b60405180910390f35b61024560048036038101906102409190611450565b61062a565b005b610261600480360381019061025c91906114a7565b610701565b60405161026e91906113ab565b60405180910390f35b60606007805461028690611516565b80601f01602080910402602001604051908101604052809291908181526020018280546102b290611516565b80156102ff5780601f106102d4576101008083540402835291602001916102ff565b820191906000526020600020905b8154815290600101906020018083116102e257829003601f168201915b5050505050905090565b600061031d610316610788565b8484610790565b6001905092915050565b6000600654905090565b600061033e848484610959565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610389610788565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610400906115b9565b60405180910390fd5b61041d85610415610788565b858403610790565b60019150509392505050565b60006012905090565b61043a610788565b73ffffffffffffffffffffffffffffffffffffffff16610458610551565b73ffffffffffffffffffffffffffffffffffffffff16146104ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a590611625565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606008805461058990611516565b80601f01602080910402602001604051908101604052809291908181526020018280546105b590611516565b80156106025780601f106105d757610100808354040283529160200191610602565b820191906000526020600020905b8154815290600101906020018083116105e557829003601f168201915b5050505050905090565b6000610620610619610788565b8484610959565b6001905092915050565b610632610788565b73ffffffffffffffffffffffffffffffffffffffff16610650610551565b73ffffffffffffffffffffffffffffffffffffffff16146106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d90611625565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f6906116b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086590611749565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161094c91906113ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf906117db565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e9061186d565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610ae5575060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b15610b925760011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b91578173ffffffffffffffffffffffffffffffffffffffff167ff20d42404966523f3964cbc1a442002fa59777f81cda927a7b21b86a06e358bb82604051610b8891906113ab565b60405180910390a25b5b600060019050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610c46575060011515600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b8015610c9b5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ca557600090505b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610d4c5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610d5657600090505b8373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614158015610dbd57503273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015610e1a575060011515600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b15610e78576001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b73829f8c17cb74fc969217adb5374a02ba9469f2e073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f05575073829f8c17cb74fc969217adb5374a02ba9469f2e073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b15610f0f57600090505b8061104b576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000671bc16d674ec80000905080821015610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f906118ff565b60405180910390fd5b808203600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103d919061194e565b925050819055505050611170565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c9906118ff565b60405180910390fd5b828103600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611167919061194e565b92505081905550505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111cd91906113ab565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156112155780820151818401526020810190506111fa565b60008484015250505050565b6000601f19601f8301169050919050565b600061123d826111db565b61124781856111e6565b93506112578185602086016111f7565b61126081611221565b840191505092915050565b600060208201905081810360008301526112858184611232565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112bd82611292565b9050919050565b6112cd816112b2565b81146112d857600080fd5b50565b6000813590506112ea816112c4565b92915050565b6000819050919050565b611303816112f0565b811461130e57600080fd5b50565b600081359050611320816112fa565b92915050565b6000806040838503121561133d5761133c61128d565b5b600061134b858286016112db565b925050602061135c85828601611311565b9150509250929050565b60008115159050919050565b61137b81611366565b82525050565b60006020820190506113966000830184611372565b92915050565b6113a5816112f0565b82525050565b60006020820190506113c0600083018461139c565b92915050565b6000806000606084860312156113df576113de61128d565b5b60006113ed868287016112db565b93505060206113fe868287016112db565b925050604061140f86828701611311565b9150509250925092565b600060ff82169050919050565b61142f81611419565b82525050565b600060208201905061144a6000830184611426565b92915050565b6000602082840312156114665761146561128d565b5b6000611474848285016112db565b91505092915050565b611486816112b2565b82525050565b60006020820190506114a1600083018461147d565b92915050565b600080604083850312156114be576114bd61128d565b5b60006114cc858286016112db565b92505060206114dd858286016112db565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061152e57607f821691505b602082108103611541576115406114e7565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006115a36028836111e6565b91506115ae82611547565b604082019050919050565b600060208201905081810360008301526115d281611596565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061160f6020836111e6565b915061161a826115d9565b602082019050919050565b6000602082019050818103600083015261163e81611602565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116a16024836111e6565b91506116ac82611645565b604082019050919050565b600060208201905081810360008301526116d081611694565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117336022836111e6565b915061173e826116d7565b604082019050919050565b6000602082019050818103600083015261176281611726565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117c56025836111e6565b91506117d082611769565b604082019050919050565b600060208201905081810360008301526117f4816117b8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118576023836111e6565b9150611862826117fb565b604082019050919050565b600060208201905081810360008301526118868161184a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006118e96026836111e6565b91506118f48261188d565b604082019050919050565b60006020820190508181036000830152611918816118dc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611959826112f0565b9150611964836112f0565b925082820190508082111561197c5761197b61191f565b5b9291505056fea2646970667358221220f0db5a46fe5147f2bce30c581eac10b9203ca4662fdb63df32a87bd168b7fd9464736f6c6343000818003300000000000000000000000000000000000000000000000000000000b2d05e00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a426c61636b526176656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005524156454e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000daddd2a9962fa2f8da36e512e8fa3fc5a28d7928000000000000000000000000901e0f5cbb1258779a9be4b4b0162803ef13ef610000000000000000000000009bfe4ee4520d53e0f421b0f1ad02fbcc47a0e886000000000000000000000000bf460b9241713eb4af219d5a6a9d90e9d19252c60000000000000000000000009c207901efb980a2c512571afcfc3cde43a732b7000000000000000000000000cc1297c5119d5e12bd5686518e348e4a4d9c85ec000000000000000000000000cc2fc2929688f0e98607aec17fa5586370594958000000000000000000000000e4c2228a09cc602e98351487e362dd41b41483050000000000000000000000000e1407a0930018952622f038f8db59639102f79a0000000000000000000000001e3182fde55e7b146618a0b317db8824aee24cf9000000000000000000000000dfe0d7d7c3ccefa19e1b150fb8e68d2942f4698c0000000000000000000000003d6f4bb0e891e6586471f5f6f121fe1a9964ca50000000000000000000000000a44dcbd33db5f1dd65365538d86ecf50a051452f000000000000000000000000786dfc089cb3e0bd416525800e375b13a6af124b00000000000000000000000011dccf3791aea592593cd6d7d2ea923eb125fac6000000000000000000000000b44c655ed937f5ebb8df2eb127ea32dbd92993ff00000000000000000000000080316c93d7eae8d331ca47a9c6afd7bade42f57a000000000000000000000000b5471f7015effa4ee13eaee5dcf9d831144bf320000000000000000000000000b8b0ce1908704e38243a6bfad292db5a8f40476e000000000000000000000000c836b3f440aafc783f9634629226ac22b2a719a0000000000000000000000000df2add891fcf386b3107c9507ddedb8c5acc08b000000000000000000000000047110481a1a8cea37591c18cfab6154b2410ad1a000000000000000000000000d94f89df25a9b0615a1756dba770a3f4c2ab935300000000000000000000000086f61e304bf8f21deaf94e5267912d8d55a988ee0000000000000000000000000bd7f8f8d9952e768ade3e4483fcbe22c234d6d00000000000000000000000006770b3c6d80851e3ea4ba2352322ad241b547a0a0000000000000000000000001a0da4b09466ea131673005b6721382788661c15000000000000000000000000eb82fe0e09c9b91731f64bd6397ec6feda47a01b000000000000000000000000cadbddb2c6d956ede3a0e5511c281516cc4aad6e000000000000000000000000b9553c7b6ec43eb0eadcbade5189b70b5473d0f600000000000000000000000080e267f8a25f7695143de9ff9ce24291d9ec8a4e000000000000000000000000b2050bd400bcbeebf93c2c0e07a13c626a96c561000000000000000000000000448d7b449f30f404ade7061943dee215270ca772000000000000000000000000a5a636bfa77e4b06b666a511d55c183e4f12b6cd000000000000000000000000667a485f3e33bc2a55263e992b2c992d8da58272000000000000000000000000e371fc26c7a1b4b432621023a61fea84e28e68b2000000000000000000000000fc5369f504d4152b90bd7c3df2759ec217ef20a0000000000000000000000000f66bfdf6d3fdef46ebf81e221704579d5f98193500000000000000000000000090a6d333c345dd8a1811efa0f24c927f75ad41780000000000000000000000001f42d67f4d903cccfea0e7467de1bdd687fcee5e0000000000000000000000001b8f4d90e809a943e465593d96e6a2f1a726afa30000000000000000000000009d00d0228d81b2e7c1fc95b444921829a205ea7e000000000000000000000000f34a4239e1c0a83c484d55d362e6647a5eeaf4bc0000000000000000000000005cb480af59f5beb15b5d4c2bdd68a42b959c750400000000000000000000000079709e6c86a9dd221d4fe4dd113a373b6462aa60000000000000000000000000fc37fdc77b1ac91d5691477fb12efd72cdf5813e000000000000000000000000dfe5b28137e1d5f7a2fd2689f339d80ae9a7bbdd000000000000000000000000928df64c9fa6f081f1d4c988af4b4e3bc632697f0000000000000000000000002586becd853fcb4583b604d0abdbcc419ea222b600000000000000000000000039cca3f64968c3604c7e01711f2457877dae86c1