60806040526a52b7d2dcc80cd2e40000006006557395ad61b0a150d79219dcf64e1e6cc01f0b64c4ce600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200007557600080fd5b50604051620040883803806200408883398181016040528101906200009b919062000477565b6040518060400160405280600b81526020017f56696b696e6720506570650000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5650455045000000000000000000000000000000000000000000000000000000815250828080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200016a6200015e620001be60201b60201c565b620001c660201b60201c565b5082600990816200017c919062000723565b5081600a90816200018e919062000723565b50620001ab336969e10de76676d08000006200028a60201b60201c565b5050506006546008819055505062000925565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f3906200086b565b60405180910390fd5b62000310600083836200040360201b60201c565b8060076000828254620003249190620008bc565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200037c9190620008bc565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003e3919062000908565b60405180910390a3620003ff600083836200040860201b60201c565b5050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200043f8262000412565b9050919050565b620004518162000432565b81146200045d57600080fd5b50565b600081519050620004718162000446565b92915050565b60006020828403121562000490576200048f6200040d565b5b6000620004a08482850162000460565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200052b57607f821691505b602082108103620005415762000540620004e3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200056c565b620005b786836200056c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000604620005fe620005f884620005cf565b620005d9565b620005cf565b9050919050565b6000819050919050565b6200062083620005e3565b620006386200062f826200060b565b84845462000579565b825550505050565b600090565b6200064f62000640565b6200065c81848462000615565b505050565b5b8181101562000684576200067860008262000645565b60018101905062000662565b5050565b601f821115620006d3576200069d8162000547565b620006a8846200055c565b81016020851015620006b8578190505b620006d0620006c7856200055c565b83018262000661565b50505b505050565b600082821c905092915050565b6000620006f860001984600802620006d8565b1980831691505092915050565b6000620007138383620006e5565b9150826002028217905092915050565b6200072e82620004a9565b67ffffffffffffffff8111156200074a5762000749620004b4565b5b62000756825462000512565b6200076382828562000688565b600060209050601f8311600181146200079b576000841562000786578287015190505b62000792858262000705565b86555062000802565b601f198416620007ab8662000547565b60005b82811015620007d557848901518255600182019150602085019450602081019050620007ae565b86831015620007f55784890151620007f1601f891682620006e5565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000853601f836200080a565b915062000860826200081b565b602082019050919050565b60006020820190508181036000830152620008868162000844565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008c982620005cf565b9150620008d683620005cf565b9250828201905080821115620008f157620008f06200088d565b5b92915050565b6200090281620005cf565b82525050565b60006020820190506200091f6000830184620008f7565b92915050565b61375380620009356000396000f3fe60806040523480156200001157600080fd5b50600436106200016c5760003560e01c806373fa7ddb11620000d5578063c2b7bbb61162000087578063c2b7bbb6146200040d578063d6d2bb98146200042d578063dd62ed3e1462000463578063de0e9a3e1462000499578063ea598cb014620004b9578063f2fde38b14620004d9576200016c565b806373fa7ddb14620003315780638da5cb5b146200035157806395d89b411462000373578063a457c2d71462000395578063a9059cbb14620003cb578063b8bdd4b21462000401576200016c565b8063313ce567116200012f578063313ce567146200024157806339509351146200026357806342966c6814620002995780634fd11f3c14620002b957806370a0823114620002ef578063715018a61462000325576200016c565b806306fdde031462000171578063095ea7b3146200019357806318160ddd14620001c957806323b872dd14620001eb57806326ededb81462000221575b600080fd5b6200017b620004f9565b6040516200018a919062001dda565b60405180910390f35b620001b16004803603810190620001ab919062001eb2565b62000593565b604051620001c0919062001f16565b60405180910390f35b620001d3620005ba565b604051620001e2919062001f44565b60405180910390f35b62000209600480360381019062000203919062001f61565b620005c4565b60405162000218919062001f16565b60405180910390f35b6200023f60048036038101906200023991906200202b565b620005f9565b005b6200024b620006e3565b6040516200025a9190620020b3565b60405180910390f35b6200028160048036038101906200027b919062001eb2565b620006ec565b60405162000290919062001f16565b60405180910390f35b620002b76004803603810190620002b19190620020d0565b6200072b565b005b620002d76004803603810190620002d1919062002102565b6200074d565b604051620002e6919062001f16565b60405180910390f35b6200030d600480360381019062000307919062002149565b620007e1565b6040516200031c919062001f44565b60405180910390f35b6200032f6200082a565b005b6200034f600480360381019062000349919062002306565b62000842565b005b6200035b62000925565b6040516200036a91906200237d565b60405180910390f35b6200037d6200094e565b6040516200038c919062001dda565b60405180910390f35b620003b36004803603810190620003ad919062001eb2565b620009e8565b604051620003c2919062001f16565b60405180910390f35b620003e96004803603810190620003e3919062001eb2565b62000a68565b604051620003f8919062001f16565b60405180910390f35b6200040b62000a8f565b005b6200042b600480360381019062000425919062002149565b62000c4e565b005b6200044b600480360381019062000445919062002149565b62000c9c565b6040516200045a91906200237d565b60405180910390f35b6200048160048036038101906200047b919062002102565b62000ccf565b60405162000490919062001f44565b60405180910390f35b620004b76004803603810190620004b19190620020d0565b62000d56565b005b620004d76004803603810190620004d19190620020d0565b62000e80565b005b620004f76004803603810190620004f1919062002149565b62001241565b005b6060600980546200050a90620023c9565b80601f01602080910402602001604051908101604052809291908181526020018280546200053890620023c9565b8015620005895780601f106200055d5761010080835404028352916020019162000589565b820191906000526020600020905b8154815290600101906020018083116200056b57829003601f168201915b5050505050905090565b600080620005a0620012cb565b9050620005af818585620012d3565b600191505092915050565b6000600754905090565b600080620005d1620012cb565b9050620005e0858285620014a4565b620005ed85858562001538565b60019150509392505050565b6200060362001870565b60005b83839050811015620006dd57838382818110620006285762000627620023fe565b5b90506020020160208101906200063f919062002149565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620006bf919062001f44565b60405180910390a38080620006d4906200245c565b91505062000606565b50505050565b60006009905090565b600080620006f9620012cb565b9050620007208185856200070e858962000ccf565b6200071a9190620024a9565b620012d3565b600191505092915050565b6200073562001870565b6200074a62000743620012cb565b82620018f5565b50565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6200083462001870565b62000840600062001ada565b565b6200084c62001870565b60005b8251811015620009205781600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858481518110620008b157620008b0620023fe565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808062000917906200245c565b9150506200084f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a80546200095f90620023c9565b80601f01602080910402602001604051908101604052809291908181526020018280546200098d90620023c9565b8015620009de5780601f10620009b257610100808354040283529160200191620009de565b820191906000526020600020905b815481529060010190602001808311620009c057829003601f168201915b5050505050905090565b600080620009f5620012cb565b9050600062000a05828662000ccf565b90508381101562000a4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a44906200255a565b60405180910390fd5b62000a5c8286868403620012d3565b60019250505092915050565b60008062000a75620012cb565b905062000a8481858562001538565b600191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b5790620025cc565b60405180910390fd5b60405162000b6e9062001d32565b604051809103906000f08015801562000b8b573d6000803e3d6000fd5b50600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f2c601b1355d1a6cd1373df5a1e2460c77aedfbb5c16c66b47bb96b35462808e260405160405180910390a2565b62000c5862001870565b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b8062000d6233620007e1565b101562000da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d9d906200263e565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040162000e0592919062002660565b600060405180830381600087803b15801562000e2057600080fd5b505af115801562000e35573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16817f1d27d1c62712f590d53fa9eb8bbf3a75d09503deae319bb9d99644339cb312e160405160405180910390a350565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000f56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f4d9062002703565b60405180910390fd5b81600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040162000fb491906200237d565b6020604051808303816000875af115801562000fd4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ffa91906200273c565b10156200103e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200103590620027be565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638d3c100a83600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016200109d9291906200284b565b600060405180830381600087803b158015620010b857600080fd5b505af1158015620010cd573d6000803e3d6000fd5b50505050600160056000620010e162001b9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000620011bb62001b9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16827f9c307a39a47fdf1a019642a4e8a585ffe9894b5018226029887fe6d4241611bb60405160405180910390a35050565b6200124b62001870565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620012bd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620012b490620028ee565b60405180910390fd5b620012c88162001ada565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362001345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200133c9062002986565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620013b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620013ae9062002a1e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162001497919062001f44565b60405180910390a3505050565b6000620014b2848462000ccf565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811462001532578181101562001522576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620015199062002a90565b60405180910390fd5b620015318484848403620012d3565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620015aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620015a19062002b28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200161c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620016139062002bc0565b60405180910390fd5b6200162983838362001bb4565b600560006200163762001b9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620016ce57620016cd8362001bb9565b5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562001758576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200174f9062002c58565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620017ef9190620024a9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405162001855919062001f44565b60405180910390a36200186a84848462001c87565b50505050565b6200187a620012cb565b73ffffffffffffffffffffffffffffffffffffffff166200189a62001b9e565b73ffffffffffffffffffffffffffffffffffffffff1614620018f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620018ea9062002cca565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001967576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200195e9062002d62565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620019f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620019e89062002dfa565b60405180910390fd5b8160085462001a01919062002e1c565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816007600082825462001a58919062002e1c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405162001abf919062001f44565b60405180910390a362001ad58360008462001c87565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008062001bab62001c8c565b90508091505090565b505050565b60006004600062001bc962001b9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541162001c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001c7b9062002ecd565b60405180910390fd5b50565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462001d095760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662001d2d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b61082e8062002ef083390190565b600081519050919050565b600082825260208201905092915050565b60005b8381101562001d7c57808201518184015260208101905062001d5f565b60008484015250505050565b6000601f19601f8301169050919050565b600062001da68262001d40565b62001db2818562001d4b565b935062001dc481856020860162001d5c565b62001dcf8162001d88565b840191505092915050565b6000602082019050818103600083015262001df6818462001d99565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001e3f8262001e12565b9050919050565b62001e518162001e32565b811462001e5d57600080fd5b50565b60008135905062001e718162001e46565b92915050565b6000819050919050565b62001e8c8162001e77565b811462001e9857600080fd5b50565b60008135905062001eac8162001e81565b92915050565b6000806040838503121562001ecc5762001ecb62001e08565b5b600062001edc8582860162001e60565b925050602062001eef8582860162001e9b565b9150509250929050565b60008115159050919050565b62001f108162001ef9565b82525050565b600060208201905062001f2d600083018462001f05565b92915050565b62001f3e8162001e77565b82525050565b600060208201905062001f5b600083018462001f33565b92915050565b60008060006060848603121562001f7d5762001f7c62001e08565b5b600062001f8d8682870162001e60565b935050602062001fa08682870162001e60565b925050604062001fb38682870162001e9b565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011262001fe55762001fe462001fbd565b5b8235905067ffffffffffffffff81111562002005576200200462001fc2565b5b60208301915083602082028301111562002024576200202362001fc7565b5b9250929050565b60008060006040848603121562002047576200204662001e08565b5b600084013567ffffffffffffffff81111562002068576200206762001e0d565b5b620020768682870162001fcc565b935093505060206200208b8682870162001e9b565b9150509250925092565b600060ff82169050919050565b620020ad8162002095565b82525050565b6000602082019050620020ca6000830184620020a2565b92915050565b600060208284031215620020e957620020e862001e08565b5b6000620020f98482850162001e9b565b91505092915050565b600080604083850312156200211c576200211b62001e08565b5b60006200212c8582860162001e60565b92505060206200213f8582860162001e60565b9150509250929050565b60006020828403121562002162576200216162001e08565b5b6000620021728482850162001e60565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620021b58262001d88565b810181811067ffffffffffffffff82111715620021d757620021d66200217b565b5b80604052505050565b6000620021ec62001dfe565b9050620021fa8282620021aa565b919050565b600067ffffffffffffffff8211156200221d576200221c6200217b565b5b602082029050602081019050919050565b6000620022456200223f84620021ff565b620021e0565b905080838252602082019050602084028301858111156200226b576200226a62001fc7565b5b835b8181101562002298578062002283888262001e60565b8452602084019350506020810190506200226d565b5050509392505050565b600082601f830112620022ba57620022b962001fbd565b5b8135620022cc8482602086016200222e565b91505092915050565b620022e08162001ef9565b8114620022ec57600080fd5b50565b6000813590506200230081620022d5565b92915050565b6000806040838503121562002320576200231f62001e08565b5b600083013567ffffffffffffffff81111562002341576200234062001e0d565b5b6200234f85828601620022a2565b92505060206200236285828601620022ef565b9150509250929050565b620023778162001e32565b82525050565b60006020820190506200239460008301846200236c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620023e257607f821691505b602082108103620023f857620023f76200239a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620024698262001e77565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200249e576200249d6200242d565b5b600182019050919050565b6000620024b68262001e77565b9150620024c38362001e77565b9250828201905080821115620024de57620024dd6200242d565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006200254260258362001d4b565b91506200254f82620024e4565b604082019050919050565b60006020820190508181036000830152620025758162002533565b9050919050565b7f44726f7020626f7820616c7265616479206578697374732e0000000000000000600082015250565b6000620025b460188362001d4b565b9150620025c1826200257c565b602082019050919050565b60006020820190508181036000830152620025e781620025a5565b9050919050565b7f4e6f7420656e6f75676820436f696e20746f20756e777261702e000000000000600082015250565b600062002626601a8362001d4b565b91506200263382620025ee565b602082019050919050565b60006020820190508181036000830152620026598162002617565b9050919050565b60006040820190506200267760008301856200236c565b62002686602083018462001f33565b9392505050565b7f596f75206d7573742063726561746520612064726f7020626f7820666972737460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000620026eb60218362001d4b565b9150620026f8826200268d565b604082019050919050565b600060208201905081810360008301526200271e81620026dc565b9050919050565b600081519050620027368162001e81565b92915050565b60006020828403121562002755576200275462001e08565b5b6000620027658482850162002725565b91505092915050565b7f4e6f7420656e6f75676820436f696e20696e2064726f7020626f782e00000000600082015250565b6000620027a6601c8362001d4b565b9150620027b3826200276e565b602082019050919050565b60006020820190508181036000830152620027d98162002797565b9050919050565b6000819050919050565b60006200280b62002805620027ff8462001e12565b620027e0565b62001e12565b9050919050565b60006200281f82620027ea565b9050919050565b6000620028338262002812565b9050919050565b620028458162002826565b82525050565b600060408201905062002862600083018562001f33565b6200287160208301846200283a565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620028d660268362001d4b565b9150620028e38262002878565b604082019050919050565b600060208201905081810360008301526200290981620028c7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006200296e60248362001d4b565b91506200297b8262002910565b604082019050919050565b60006020820190508181036000830152620029a1816200295f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062002a0660228362001d4b565b915062002a1382620029a8565b604082019050919050565b6000602082019050818103600083015262002a3981620029f7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600062002a78601d8362001d4b565b915062002a858262002a40565b602082019050919050565b6000602082019050818103600083015262002aab8162002a69565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600062002b1060258362001d4b565b915062002b1d8262002ab2565b604082019050919050565b6000602082019050818103600083015262002b438162002b01565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600062002ba860238362001d4b565b915062002bb58262002b4a565b604082019050919050565b6000602082019050818103600083015262002bdb8162002b99565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600062002c4060268362001d4b565b915062002c4d8262002be2565b604082019050919050565b6000602082019050818103600083015262002c738162002c31565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062002cb260208362001d4b565b915062002cbf8262002c7a565b602082019050919050565b6000602082019050818103600083015262002ce58162002ca3565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600062002d4a60218362001d4b565b915062002d578262002cec565b604082019050919050565b6000602082019050818103600083015262002d7d8162002d3b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600062002de260228362001d4b565b915062002def8262002d84565b604082019050919050565b6000602082019050818103600083015262002e158162002dd3565b9050919050565b600062002e298262001e77565b915062002e368362001e77565b925082820390508181111562002e515762002e506200242d565b5b92915050565b7f4e6f7420656e6f75676820696e2064726f70426f782c20706c6561736520777260008201527f6170206d6f726520636f696e732e000000000000000000000000000000000000602082015250565b600062002eb5602e8362001d4b565b915062002ec28262002e57565b604082019050919050565b6000602082019050818103600083015262002ee88162002ea6565b905091905056fe608060405234801561001057600080fd5b503380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061006f61006461007560201b60201c565b61007d60201b60201c565b50610141565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6106de806101506000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638d3c100a1461005b5780638da5cb5b14610077578063f2fde38b14610095575b600080fd5b6100596100b1565b005b6100756004803603810190610070919061049e565b6100c5565b005b61007f610145565b60405161008c91906104ed565b60405180910390f35b6100af60048036038101906100aa9190610534565b61016e565b005b6100b96101f1565b6100c3600061026f565b565b6100cd6101f1565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6100f1610145565b846040518363ffffffff1660e01b815260040161010f929190610570565b600060405180830381600087803b15801561012957600080fd5b505af115801561013d573d6000803e3d6000fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101766101f1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101dc9061061c565b60405180910390fd5b6101ee8161026f565b50565b6101f9610333565b73ffffffffffffffffffffffffffffffffffffffff1661021761033b565b73ffffffffffffffffffffffffffffffffffffffff161461026d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026490610688565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60008061034661034f565b90508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103ca5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166103ee565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b600080fd5b6000819050919050565b61040b816103f8565b811461041657600080fd5b50565b60008135905061042881610402565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104598261042e565b9050919050565b600061046b8261044e565b9050919050565b61047b81610460565b811461048657600080fd5b50565b60008135905061049881610472565b92915050565b600080604083850312156104b5576104b46103f3565b5b60006104c385828601610419565b92505060206104d485828601610489565b9150509250929050565b6104e78161044e565b82525050565b600060208201905061050260008301846104de565b92915050565b6105118161044e565b811461051c57600080fd5b50565b60008135905061052e81610508565b92915050565b60006020828403121561054a576105496103f3565b5b60006105588482850161051f565b91505092915050565b61056a816103f8565b82525050565b600060408201905061058560008301856104de565b6105926020830184610561565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610606602683610599565b9150610611826105aa565b604082019050919050565b60006020820190508181036000830152610635816105f9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610672602083610599565b915061067d8261063c565b602082019050919050565b600060208201905081810360008301526106a181610665565b905091905056fea2646970667358221220623aa2c26668f65245db9e63d0d6f4f8a7b9a70975b9fb608963e0624b28801264736f6c63430008120033a26469706673582212204430606e961e6828811687a50aaef4236ff9e0cc150165249aa5e34e940809af64736f6c634300081200330000000000000000000000000b22e8a9222f27890c5f5edaa7d910d89b5bb37c