608060405260046006556004600755602d60085560146009556000600a55620000736103e86200005f60146008600a6200003a919062000816565b6305f5e1006200004b919062000867565b6200050e60201b620012661790919060201c565b6200059160201b620012e01790919060201c565b600b55620000cc6103e8620000b860146008600a62000093919062000816565b6305f5e100620000a4919062000867565b6200050e60201b620012661790919060201c565b6200059160201b620012e01790919060201c565b600c55620001256103e862000111600f6008600a620000ec919062000816565b6305f5e100620000fd919062000867565b6200050e60201b620012661790919060201c565b6200059160201b620012e01790919060201c565b600d556200017e6103e86200016a601e6008600a62000145919062000816565b6305f5e10062000156919062000867565b6200050e60201b620012661790919060201c565b6200059160201b620012e01790919060201c565b600e556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550348015620001c457600080fd5b506000620001d7620005e360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000285620005e360201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a620002d5919062000816565b6305f5e100620002e6919062000867565b60016000620002fa620005e360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200034e620005eb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000481620005e360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a620004e0919062000816565b6305f5e100620004f1919062000867565b604051620005009190620008d9565b60405180910390a362000ab3565b60008083036200052257600090506200058b565b6000828462000532919062000867565b905082848262000543919062000925565b1462000586576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057d90620009e4565b60405180910390fd5b809150505b92915050565b6000620005db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200061460201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000655919062000a8f565b60405180910390fd5b50600083856200066f919062000925565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200070a57808604811115620006e257620006e16200067c565b5b6001851615620006f25780820291505b80810290506200070285620006ab565b9450620006c2565b94509492505050565b600082620007255760019050620007f8565b81620007355760009050620007f8565b81600181146200074e576002811462000759576200078f565b6001915050620007f8565b60ff8411156200076e576200076d6200067c565b5b8360020a9150848211156200078857620007876200067c565b5b50620007f8565b5060208310610133831016604e8410600b8410161715620007c95782820a905083811115620007c357620007c26200067c565b5b620007f8565b620007d88484846001620006b8565b92509050818404811115620007f257620007f16200067c565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200082382620007ff565b9150620008308362000809565b92506200085f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000713565b905092915050565b60006200087482620007ff565b91506200088183620007ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008bd57620008bc6200067c565b5b828202905092915050565b620008d381620007ff565b82525050565b6000602082019050620008f06000830184620008c8565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200093282620007ff565b91506200093f83620007ff565b925082620009525762000951620008f6565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620009cc6021836200095d565b9150620009d9826200096e565b604082019050919050565b60006020820190508181036000830152620009ff81620009bd565b9050919050565b600081519050919050565b60005b8381101562000a3157808201518184015260208101905062000a14565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a5b8262000a06565b62000a6781856200095d565b935062000a7981856020860162000a11565b62000a848162000a3d565b840191505092915050565b6000602082019050818103600083015262000aab818462000a4e565b905092915050565b6132548062000ac36000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103d9578063bf474bed14610416578063c9567bf914610441578063d34628cc14610458578063dd62ed3e14610481578063f4293890146104be57610140565b8063751039fc146103165780637d1db4a51461032d5780638da5cb5b146103585780638f9a55c01461038357806395d89b41146103ae57610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780634bdc18de1461029457806351bc3c85146102ab57806370a08231146102c2578063715018a6146102ff57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d5565b60405161016791906121f9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906122c3565b610512565b6040516101a4919061231e565b60405180910390f35b3480156101b957600080fd5b506101c2610530565b6040516101cf9190612348565b60405180910390f35b3480156101e457600080fd5b506101ed610536565b6040516101fa9190612348565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612363565b61055a565b604051610237919061231e565b60405180910390f35b34801561024c57600080fd5b50610255610633565b60405161026291906123d2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612535565b61063c565b005b3480156102a057600080fd5b506102a9610766565b005b3480156102b757600080fd5b506102c0610a79565b005b3480156102ce57600080fd5b506102e960048036038101906102e4919061257e565b610a8c565b6040516102f69190612348565b60405180910390f35b34801561030b57600080fd5b50610314610ad5565b005b34801561032257600080fd5b5061032b610c28565b005b34801561033957600080fd5b50610342610d58565b60405161034f9190612348565b60405180910390f35b34801561036457600080fd5b5061036d610d5e565b60405161037a91906125ba565b60405180910390f35b34801561038f57600080fd5b50610398610d87565b6040516103a59190612348565b60405180910390f35b3480156103ba57600080fd5b506103c3610d8d565b6040516103d091906121f9565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb91906122c3565b610dca565b60405161040d919061231e565b60405180910390f35b34801561042257600080fd5b5061042b610de8565b6040516104389190612348565b60405180910390f35b34801561044d57600080fd5b50610456610dee565b005b34801561046457600080fd5b5061047f600480360381019061047a9190612535565b6110aa565b005b34801561048d57600080fd5b506104a860048036038101906104a391906125d5565b6111d4565b6040516104b59190612348565b60405180910390f35b3480156104ca57600080fd5b506104d361125b565b005b60606040518060400160405280600c81526020017f57696e642046696e616e63650000000000000000000000000000000000000000815250905090565b600061052661051f61132a565b8484611332565b6001905092915050565b600e5481565b60006008600a6105469190612777565b6305f5e10061055591906127c2565b905090565b60006105678484846114fb565b6106288461057361132a565b610623856040518060600160405280602881526020016131f760289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d961132a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cfc9092919063ffffffff16565b611332565b600190509392505050565b60006008905090565b61064461132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c890612868565b60405180910390fd5b60005b8151811015610762576000600460008484815181106106f6576106f5612888565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061075a906128b7565b9150506106d4565b5050565b61076e61132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f290612868565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061089930600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a6108859190612777565b6305f5e10061089491906127c2565b611332565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a9190612914565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d79190612914565b6040518363ffffffff1660e01b81526004016109f4929190612941565b6020604051808303816000875af1158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a379190612914565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a8a610a8530610a8c565b611d60565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610add61132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190612868565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c3061132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490612868565b60405180910390fd5b6008600a610ccb9190612777565b6305f5e100610cda91906127c2565b600b819055506008600a610cee9190612777565b6305f5e100610cfd91906127c2565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610d329190612777565b6305f5e100610d4191906127c2565b604051610d4e9190612348565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600481526020017f5769466900000000000000000000000000000000000000000000000000000000815250905090565b6000610dde610dd761132a565b84846114fb565b6001905092915050565b600d5481565b610df661132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a90612868565b60405180910390fd5b601060149054906101000a900460ff1615610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca906129b6565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f1c30610a8c565b600080610f27610d5e565b426040518863ffffffff1660e01b8152600401610f4996959493929190612a1b565b60606040518083038185885af1158015610f67573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f8c9190612a91565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611064929190612ae4565b6020604051808303816000875af1158015611083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a79190612b39565b50565b6110b261132a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113690612868565b60405180910390fd5b60005b81518110156111d05760016004600084848151811061116457611163612888565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806111c8906128b7565b915050611142565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61126447611fd9565b565b600080830361127857600090506112da565b6000828461128691906127c2565b90508284826112959190612b95565b146112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cc90612c38565b60405180910390fd5b809150505b92915050565b600061132283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612045565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139890612cca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612d5c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ee9190612348565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361156a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156190612dee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612e80565b60405180910390fd5b6000811161161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612f12565b60405180910390fd5b6000611626610d5e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116945750611664610d5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a3f57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561173d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61174657600080fd5b601060159054906101000a900460ff16611799576117966064611788600854600a541161177557600654611779565b6007545b8561126690919063ffffffff16565b6112e090919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118445750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561189a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561195557600b548211156118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90612f7e565b60405180910390fd5b600c54826118f185610a8c565b6118fb9190612f9e565b111561193c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119339061301e565b60405180910390fd5b600a600081548092919061194f906128b7565b91905055505b600061196030610a8c565b9050601060159054906101000a900460ff161580156119cd5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119e55750601060169054906101000a900460ff165b80156119f25750600d5481115b8015611a015750600954600a54115b15611a3d57611a23611a1e84611a1984600e546120a8565b6120a8565b611d60565b60004790506000811115611a3b57611a3a47611fd9565b5b505b505b611a9182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b38611aea82846120c190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bdd84866120c190919063ffffffff16565b604051611bea9190612348565b60405180910390a36000811115611cf657611c4d81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ced9190612348565b60405180910390a35b50505050565b6000838311158290611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b91906121f9565b60405180910390fd5b5060008385611d53919061303e565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611d9857611d976123f2565b5b604051908082528060200260200182016040528015611dc65781602001602082028036833780820191505090505b5090503081600081518110611dde57611ddd612888565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea99190612914565b81600181518110611ebd57611ebc612888565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611332565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f88959493929190613130565b600060405180830381600087803b158015611fa257600080fd5b505af1158015611fb6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612041573d6000803e3d6000fd5b5050565b6000808311829061208c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208391906121f9565b60405180910390fd5b506000838561209b9190612b95565b9050809150509392505050565b60008183116120b757826120b9565b815b905092915050565b600061210383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cfc565b905092915050565b600080828461211a9190612f9e565b90508381101561215f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612156906131d6565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121a3578082015181840152602081019050612188565b60008484015250505050565b6000601f19601f8301169050919050565b60006121cb82612169565b6121d58185612174565b93506121e5818560208601612185565b6121ee816121af565b840191505092915050565b6000602082019050818103600083015261221381846121c0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061225a8261222f565b9050919050565b61226a8161224f565b811461227557600080fd5b50565b60008135905061228781612261565b92915050565b6000819050919050565b6122a08161228d565b81146122ab57600080fd5b50565b6000813590506122bd81612297565b92915050565b600080604083850312156122da576122d9612225565b5b60006122e885828601612278565b92505060206122f9858286016122ae565b9150509250929050565b60008115159050919050565b61231881612303565b82525050565b6000602082019050612333600083018461230f565b92915050565b6123428161228d565b82525050565b600060208201905061235d6000830184612339565b92915050565b60008060006060848603121561237c5761237b612225565b5b600061238a86828701612278565b935050602061239b86828701612278565b92505060406123ac868287016122ae565b9150509250925092565b600060ff82169050919050565b6123cc816123b6565b82525050565b60006020820190506123e760008301846123c3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61242a826121af565b810181811067ffffffffffffffff82111715612449576124486123f2565b5b80604052505050565b600061245c61221b565b90506124688282612421565b919050565b600067ffffffffffffffff821115612488576124876123f2565b5b602082029050602081019050919050565b600080fd5b60006124b16124ac8461246d565b612452565b905080838252602082019050602084028301858111156124d4576124d3612499565b5b835b818110156124fd57806124e98882612278565b8452602084019350506020810190506124d6565b5050509392505050565b600082601f83011261251c5761251b6123ed565b5b813561252c84826020860161249e565b91505092915050565b60006020828403121561254b5761254a612225565b5b600082013567ffffffffffffffff8111156125695761256861222a565b5b61257584828501612507565b91505092915050565b60006020828403121561259457612593612225565b5b60006125a284828501612278565b91505092915050565b6125b48161224f565b82525050565b60006020820190506125cf60008301846125ab565b92915050565b600080604083850312156125ec576125eb612225565b5b60006125fa85828601612278565b925050602061260b85828601612278565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561269b5780860481111561267757612676612615565b5b60018516156126865780820291505b808102905061269485612644565b945061265b565b94509492505050565b6000826126b45760019050612770565b816126c25760009050612770565b81600181146126d857600281146126e257612711565b6001915050612770565b60ff8411156126f4576126f3612615565b5b8360020a91508482111561270b5761270a612615565b5b50612770565b5060208310610133831016604e8410600b84101617156127465782820a90508381111561274157612740612615565b5b612770565b6127538484846001612651565b9250905081840481111561276a57612769612615565b5b81810290505b9392505050565b60006127828261228d565b915061278d836123b6565b92506127ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126a4565b905092915050565b60006127cd8261228d565b91506127d88361228d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561281157612810612615565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612852602083612174565b915061285d8261281c565b602082019050919050565b6000602082019050818103600083015261288181612845565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006128c28261228d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128f4576128f3612615565b5b600182019050919050565b60008151905061290e81612261565b92915050565b60006020828403121561292a57612929612225565b5b6000612938848285016128ff565b91505092915050565b600060408201905061295660008301856125ab565b61296360208301846125ab565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129a0601783612174565b91506129ab8261296a565b602082019050919050565b600060208201905081810360008301526129cf81612993565b9050919050565b6000819050919050565b6000819050919050565b6000612a05612a006129fb846129d6565b6129e0565b61228d565b9050919050565b612a15816129ea565b82525050565b600060c082019050612a3060008301896125ab565b612a3d6020830188612339565b612a4a6040830187612a0c565b612a576060830186612a0c565b612a6460808301856125ab565b612a7160a0830184612339565b979650505050505050565b600081519050612a8b81612297565b92915050565b600080600060608486031215612aaa57612aa9612225565b5b6000612ab886828701612a7c565b9350506020612ac986828701612a7c565b9250506040612ada86828701612a7c565b9150509250925092565b6000604082019050612af960008301856125ab565b612b066020830184612339565b9392505050565b612b1681612303565b8114612b2157600080fd5b50565b600081519050612b3381612b0d565b92915050565b600060208284031215612b4f57612b4e612225565b5b6000612b5d84828501612b24565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ba08261228d565b9150612bab8361228d565b925082612bbb57612bba612b66565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602183612174565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602483612174565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602283612174565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602583612174565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e6a602383612174565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612efc602983612174565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f68601983612174565b9150612f7382612f32565b602082019050919050565b60006020820190508181036000830152612f9781612f5b565b9050919050565b6000612fa98261228d565b9150612fb48361228d565b9250828201905080821115612fcc57612fcb612615565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613008601a83612174565b915061301382612fd2565b602082019050919050565b6000602082019050818103600083015261303781612ffb565b9050919050565b60006130498261228d565b91506130548361228d565b925082820390508181111561306c5761306b612615565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130a78161224f565b82525050565b60006130b9838361309e565b60208301905092915050565b6000602082019050919050565b60006130dd82613072565b6130e7818561307d565b93506130f28361308e565b8060005b8381101561312357815161310a88826130ad565b9750613115836130c5565b9250506001810190506130f6565b5085935050505092915050565b600060a0820190506131456000830188612339565b6131526020830187612a0c565b818103604083015261316481866130d2565b905061317360608301856125ab565b6131806080830184612339565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131c0601b83612174565b91506131cb8261318a565b602082019050919050565b600060208201905081810360008301526131ef816131b3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e05cb2be2a33547905d578b16751132feec4a386acaa6bf611d1ed98cca66c3a64736f6c63430008100033