0x60806040523480156200001157600080fd5b506040518060800160405280604e815260200162003a82604e91396200003d816200006460201b60201c565b506200005e620000526200007960201b60201c565b6200008160201b60201c565b620004a8565b8060029081620000759190620003c1565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001c957607f821691505b602082108103620001df57620001de62000181565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200020a565b6200025586836200020a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002a26200029c62000296846200026d565b62000277565b6200026d565b9050919050565b6000819050919050565b620002be8362000281565b620002d6620002cd82620002a9565b84845462000217565b825550505050565b600090565b620002ed620002de565b620002fa818484620002b3565b505050565b5b81811015620003225762000316600082620002e3565b60018101905062000300565b5050565b601f82111562000371576200033b81620001e5565b6200034684620001fa565b8101602085101562000356578190505b6200036e6200036585620001fa565b830182620002ff565b50505b505050565b600082821c905092915050565b6000620003966000198460080262000376565b1980831691505092915050565b6000620003b1838362000383565b9150826002028217905092915050565b620003cc8262000147565b67ffffffffffffffff811115620003e857620003e762000152565b5b620003f48254620001b0565b6200040182828562000326565b600060209050601f83116001811462000439576000841562000424578287015190505b620004308582620003a3565b865550620004a0565b601f1984166200044986620001e5565b60005b8281101562000473578489015182556001820191506020850194506020810190506200044c565b868310156200049357848901516200048f601f89168262000383565b8355505b6001600288020188555050505b505050505050565b6135ca80620004b86000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063715018a611610097578063bd85b03911610066578063bd85b039146102a8578063e985e9c5146102d8578063f242432a14610308578063f2fde38b14610324576100ff565b8063715018a614610248578063731133e9146102525780638da5cb5b1461026e578063a22cb4651461028c576100ff565b80631f7fdffa116100d35780631f7fdffa146101b05780632eb2c2d6146101cc5780634e1273f4146101e85780634f558e7914610218576100ff565b8062fdd58e1461010457806301ffc9a71461013457806302fe5305146101645780630e89341c14610180575b600080fd5b61011e60048036038101906101199190611d73565b610340565b60405161012b9190611dc2565b60405180910390f35b61014e60048036038101906101499190611e35565b610408565b60405161015b9190611e7d565b60405180910390f35b61017e60048036038101906101799190611fde565b6104ea565b005b61019a60048036038101906101959190612027565b6104fe565b6040516101a791906120d3565b60405180910390f35b6101ca60048036038101906101c5919061225e565b610592565b005b6101e660048036038101906101e19190612319565b6105ac565b005b61020260048036038101906101fd91906124ab565b61064d565b60405161020f91906125e1565b60405180910390f35b610232600480360381019061022d9190612027565b610766565b60405161023f9190611e7d565b60405180910390f35b61025061077a565b005b61026c60048036038101906102679190612603565b61078e565b005b6102766107a8565b6040516102839190612695565b60405180910390f35b6102a660048036038101906102a191906126dc565b6107d2565b005b6102c260048036038101906102bd9190612027565b6107e8565b6040516102cf9190611dc2565b60405180910390f35b6102f260048036038101906102ed919061271c565b610805565b6040516102ff9190611e7d565b60405180910390f35b610322600480360381019061031d919061275c565b610899565b005b61033e600480360381019061033991906127f3565b61093a565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036103b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a790612892565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104d357507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104e357506104e2826109bd565b5b9050919050565b6104f2610a27565b6104fb81610aa5565b50565b60606002805461050d906128e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610539906128e1565b80156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b50505050509050919050565b61059a610a27565b6105a684848484610ab8565b50505050565b6105b4610ce4565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806105fa57506105f9856105f4610ce4565b610805565b5b610639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063090612984565b60405180910390fd5b6106468585858585610cec565b5050505050565b60608151835114610693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068a90612a16565b60405180910390fd5b6000835167ffffffffffffffff8111156106b0576106af611eb3565b5b6040519080825280602002602001820160405280156106de5781602001602082028036833780820191505090505b50905060005b845181101561075b5761072b85828151811061070357610702612a36565b5b602002602001015185838151811061071e5761071d612a36565b5b6020026020010151610340565b82828151811061073e5761073d612a36565b5b6020026020010181815250508061075490612a94565b90506106e4565b508091505092915050565b600080610772836107e8565b119050919050565b610782610a27565b61078c600061100d565b565b610796610a27565b6107a2848484846110d3565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107e46107dd610ce4565b8383611283565b5050565b600060046000838152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6108a1610ce4565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806108e757506108e6856108e1610ce4565b610805565b5b610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d90612984565b60405180910390fd5b61093385858585856113ef565b5050505050565b610942610a27565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890612b4e565b60405180910390fd5b6109ba8161100d565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a2f610ce4565b73ffffffffffffffffffffffffffffffffffffffff16610a4d6107a8565b73ffffffffffffffffffffffffffffffffffffffff1614610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a90612bba565b60405180910390fd5b565b8060029081610ab49190612d86565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1e90612eca565b60405180910390fd5b8151835114610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6290612f5c565b60405180910390fd5b6000610b75610ce4565b9050610b868160008787878761168a565b60005b8451811015610c3f57838181518110610ba557610ba4612a36565b5b6020026020010151600080878481518110610bc357610bc2612a36565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c259190612f7c565b925050819055508080610c3790612a94565b915050610b89565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610cb7929190612fb0565b60405180910390a4610cce816000878787876116a0565b610cdd816000878787876116a8565b5050505050565b600033905090565b8151835114610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790612f5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9690613059565b60405180910390fd5b6000610da9610ce4565b9050610db981878787878761168a565b60005b8451811015610f6a576000858281518110610dda57610dd9612a36565b5b602002602001015190506000858381518110610df957610df8612a36565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906130eb565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4f9190612f7c565b9250508190555050505080610f6390612a94565b9050610dbc565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610fe1929190612fb0565b60405180910390a4610ff78187878787876116a0565b6110058187878787876116a8565b505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113990612eca565b60405180910390fd5b600061114c610ce4565b905060006111598561187f565b905060006111668561187f565b90506111778360008985858961168a565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d69190612f7c565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161125492919061310b565b60405180910390a461126b836000898585896116a0565b61127a836000898989896118f9565b50505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e8906131a6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113e29190611e7d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361145e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145590613059565b60405180910390fd5b6000611468610ce4565b905060006114758561187f565b905060006114828561187f565b905061149283898985858961168a565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015611529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611520906130eb565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115de9190612f7c565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a60405161165b92919061310b565b60405180910390a4611671848a8a86868a6116a0565b61167f848a8a8a8a8a6118f9565b505050505050505050565b611698868686868686611ad0565b505050505050565b505050505050565b6116c78473ffffffffffffffffffffffffffffffffffffffff16611ca0565b15611877578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161170d95949392919061321b565b6020604051808303816000875af192505050801561174957506040513d601f19601f820116820180604052508101906117469190613298565b60015b6117ee576117556132d2565b806308c379a0036117b157506117696132f4565b8061177457506117b3565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a891906120d3565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e5906133f6565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186c90613488565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561189e5761189d611eb3565b5b6040519080825280602002602001820160405280156118cc5781602001602082028036833780820191505090505b50905082816000815181106118e4576118e3612a36565b5b60200260200101818152505080915050919050565b6119188473ffffffffffffffffffffffffffffffffffffffff16611ca0565b15611ac8578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161195e9594939291906134a8565b6020604051808303816000875af192505050801561199a57506040513d601f19601f820116820180604052508101906119979190613298565b60015b611a3f576119a66132d2565b806308c379a003611a0257506119ba6132f4565b806119c55750611a04565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f991906120d3565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a36906133f6565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abd90613488565b60405180910390fd5b505b505050505050565b611ade868686868686611cc3565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611b8f5760005b8351811015611b8d57828181518110611b3157611b30612a36565b5b602002602001015160046000868481518110611b5057611b4f612a36565b5b602002602001015181526020019081526020016000206000828254611b759190612f7c565b9250508190555080611b8690612a94565b9050611b15565b505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c985760005b8351811015611c96576000848281518110611be457611be3612a36565b5b602002602001015190506000848381518110611c0357611c02612a36565b5b6020026020010151905060006004600084815260200190815260200160002054905081811015611c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5f90613574565b60405180910390fd5b818103600460008581526020019081526020016000208190555050505080611c8f90612a94565b9050611bc6565b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d0a82611cdf565b9050919050565b611d1a81611cff565b8114611d2557600080fd5b50565b600081359050611d3781611d11565b92915050565b6000819050919050565b611d5081611d3d565b8114611d5b57600080fd5b50565b600081359050611d6d81611d47565b92915050565b60008060408385031215611d8a57611d89611cd5565b5b6000611d9885828601611d28565b9250506020611da985828601611d5e565b9150509250929050565b611dbc81611d3d565b82525050565b6000602082019050611dd76000830184611db3565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e1281611ddd565b8114611e1d57600080fd5b50565b600081359050611e2f81611e09565b92915050565b600060208284031215611e4b57611e4a611cd5565b5b6000611e5984828501611e20565b91505092915050565b60008115159050919050565b611e7781611e62565b82525050565b6000602082019050611e926000830184611e6e565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611eeb82611ea2565b810181811067ffffffffffffffff82111715611f0a57611f09611eb3565b5b80604052505050565b6000611f1d611ccb565b9050611f298282611ee2565b919050565b600067ffffffffffffffff821115611f4957611f48611eb3565b5b611f5282611ea2565b9050602081019050919050565b82818337600083830152505050565b6000611f81611f7c84611f2e565b611f13565b905082815260208101848484011115611f9d57611f9c611e9d565b5b611fa8848285611f5f565b509392505050565b600082601f830112611fc557611fc4611e98565b5b8135611fd5848260208601611f6e565b91505092915050565b600060208284031215611ff457611ff3611cd5565b5b600082013567ffffffffffffffff81111561201257612011611cda565b5b61201e84828501611fb0565b91505092915050565b60006020828403121561203d5761203c611cd5565b5b600061204b84828501611d5e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561208e578082015181840152602081019050612073565b60008484015250505050565b60006120a582612054565b6120af818561205f565b93506120bf818560208601612070565b6120c881611ea2565b840191505092915050565b600060208201905081810360008301526120ed818461209a565b905092915050565b600067ffffffffffffffff8211156121105761210f611eb3565b5b602082029050602081019050919050565b600080fd5b6000612139612134846120f5565b611f13565b9050808382526020820190506020840283018581111561215c5761215b612121565b5b835b8181101561218557806121718882611d5e565b84526020840193505060208101905061215e565b5050509392505050565b600082601f8301126121a4576121a3611e98565b5b81356121b4848260208601612126565b91505092915050565b600067ffffffffffffffff8211156121d8576121d7611eb3565b5b6121e182611ea2565b9050602081019050919050565b60006122016121fc846121bd565b611f13565b90508281526020810184848401111561221d5761221c611e9d565b5b612228848285611f5f565b509392505050565b600082601f83011261224557612244611e98565b5b81356122558482602086016121ee565b91505092915050565b6000806000806080858703121561227857612277611cd5565b5b600061228687828801611d28565b945050602085013567ffffffffffffffff8111156122a7576122a6611cda565b5b6122b38782880161218f565b935050604085013567ffffffffffffffff8111156122d4576122d3611cda565b5b6122e08782880161218f565b925050606085013567ffffffffffffffff81111561230157612300611cda565b5b61230d87828801612230565b91505092959194509250565b600080600080600060a0868803121561233557612334611cd5565b5b600061234388828901611d28565b955050602061235488828901611d28565b945050604086013567ffffffffffffffff81111561237557612374611cda565b5b6123818882890161218f565b935050606086013567ffffffffffffffff8111156123a2576123a1611cda565b5b6123ae8882890161218f565b925050608086013567ffffffffffffffff8111156123cf576123ce611cda565b5b6123db88828901612230565b9150509295509295909350565b600067ffffffffffffffff82111561240357612402611eb3565b5b602082029050602081019050919050565b6000612427612422846123e8565b611f13565b9050808382526020820190506020840283018581111561244a57612449612121565b5b835b81811015612473578061245f8882611d28565b84526020840193505060208101905061244c565b5050509392505050565b600082601f83011261249257612491611e98565b5b81356124a2848260208601612414565b91505092915050565b600080604083850312156124c2576124c1611cd5565b5b600083013567ffffffffffffffff8111156124e0576124df611cda565b5b6124ec8582860161247d565b925050602083013567ffffffffffffffff81111561250d5761250c611cda565b5b6125198582860161218f565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61255881611d3d565b82525050565b600061256a838361254f565b60208301905092915050565b6000602082019050919050565b600061258e82612523565b612598818561252e565b93506125a38361253f565b8060005b838110156125d45781516125bb888261255e565b97506125c683612576565b9250506001810190506125a7565b5085935050505092915050565b600060208201905081810360008301526125fb8184612583565b905092915050565b6000806000806080858703121561261d5761261c611cd5565b5b600061262b87828801611d28565b945050602061263c87828801611d5e565b935050604061264d87828801611d5e565b925050606085013567ffffffffffffffff81111561266e5761266d611cda565b5b61267a87828801612230565b91505092959194509250565b61268f81611cff565b82525050565b60006020820190506126aa6000830184612686565b92915050565b6126b981611e62565b81146126c457600080fd5b50565b6000813590506126d6816126b0565b92915050565b600080604083850312156126f3576126f2611cd5565b5b600061270185828601611d28565b9250506020612712858286016126c7565b9150509250929050565b6000806040838503121561273357612732611cd5565b5b600061274185828601611d28565b925050602061275285828601611d28565b9150509250929050565b600080600080600060a0868803121561277857612777611cd5565b5b600061278688828901611d28565b955050602061279788828901611d28565b94505060406127a888828901611d5e565b93505060606127b988828901611d5e565b925050608086013567ffffffffffffffff8111156127da576127d9611cda565b5b6127e688828901612230565b9150509295509295909350565b60006020828403121561280957612808611cd5565b5b600061281784828501611d28565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b600061287c602a8361205f565b915061288782612820565b604082019050919050565b600060208201905081810360008301526128ab8161286f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128f957607f821691505b60208210810361290c5761290b6128b2565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b600061296e602e8361205f565b915061297982612912565b604082019050919050565b6000602082019050818103600083015261299d81612961565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000612a0060298361205f565b9150612a0b826129a4565b604082019050919050565b60006020820190508181036000830152612a2f816129f3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a9f82611d3d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ad157612ad0612a65565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b3860268361205f565b9150612b4382612adc565b604082019050919050565b60006020820190508181036000830152612b6781612b2b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ba460208361205f565b9150612baf82612b6e565b602082019050919050565b60006020820190508181036000830152612bd381612b97565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612c3c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612bff565b612c468683612bff565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612c83612c7e612c7984611d3d565b612c5e565b611d3d565b9050919050565b6000819050919050565b612c9d83612c68565b612cb1612ca982612c8a565b848454612c0c565b825550505050565b600090565b612cc6612cb9565b612cd1818484612c94565b505050565b5b81811015612cf557612cea600082612cbe565b600181019050612cd7565b5050565b601f821115612d3a57612d0b81612bda565b612d1484612bef565b81016020851015612d23578190505b612d37612d2f85612bef565b830182612cd6565b50505b505050565b600082821c905092915050565b6000612d5d60001984600802612d3f565b1980831691505092915050565b6000612d768383612d4c565b9150826002028217905092915050565b612d8f82612054565b67ffffffffffffffff811115612da857612da7611eb3565b5b612db282546128e1565b612dbd828285612cf9565b600060209050601f831160018114612df05760008415612dde578287015190505b612de88582612d6a565b865550612e50565b601f198416612dfe86612bda565b60005b82811015612e2657848901518255600182019150602085019450602081019050612e01565b86831015612e435784890151612e3f601f891682612d4c565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eb460218361205f565b9150612ebf82612e58565b604082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000612f4660288361205f565b9150612f5182612eea565b604082019050919050565b60006020820190508181036000830152612f7581612f39565b9050919050565b6000612f8782611d3d565b9150612f9283611d3d565b9250828201905080821115612faa57612fa9612a65565b5b92915050565b60006040820190508181036000830152612fca8185612583565b90508181036020830152612fde8184612583565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061304360258361205f565b915061304e82612fe7565b604082019050919050565b6000602082019050818103600083015261307281613036565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006130d5602a8361205f565b91506130e082613079565b604082019050919050565b60006020820190508181036000830152613104816130c8565b9050919050565b60006040820190506131206000830185611db3565b61312d6020830184611db3565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061319060298361205f565b915061319b82613134565b604082019050919050565b600060208201905081810360008301526131bf81613183565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006131ed826131c6565b6131f781856131d1565b9350613207818560208601612070565b61321081611ea2565b840191505092915050565b600060a0820190506132306000830188612686565b61323d6020830187612686565b818103604083015261324f8186612583565b905081810360608301526132638185612583565b9050818103608083015261327781846131e2565b90509695505050505050565b60008151905061329281611e09565b92915050565b6000602082840312156132ae576132ad611cd5565b5b60006132bc84828501613283565b91505092915050565b60008160e01c9050919050565b600060033d11156132f15760046000803e6132ee6000516132c5565b90505b90565b600060443d1061338157613306611ccb565b60043d036004823e80513d602482011167ffffffffffffffff8211171561332e575050613381565b808201805167ffffffffffffffff81111561334c5750505050613381565b80602083010160043d038501811115613369575050505050613381565b61337882602001850186611ee2565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b60006133e060348361205f565b91506133eb82613384565b604082019050919050565b6000602082019050818103600083015261340f816133d3565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b600061347260288361205f565b915061347d82613416565b604082019050919050565b600060208201905081810360008301526134a181613465565b9050919050565b600060a0820190506134bd6000830188612686565b6134ca6020830187612686565b6134d76040830186611db3565b6134e46060830185611db3565b81810360808301526134f681846131e2565b90509695505050505050565b7f455243313135353a206275726e20616d6f756e74206578636565647320746f7460008201527f616c537570706c79000000000000000000000000000000000000000000000000602082015250565b600061355e60288361205f565b915061356982613502565b604082019050919050565b6000602082019050818103600083015261358d81613551565b905091905056fea2646970667358221220e60993ab120a779431bdf8f46a066f8019666994abec9ce13d493f8b8a22da9764736f6c6343000812003368747470733a2f2f6368696c6c61782e636f6d2e75612f77702d636f6e74656e742f75706c6f6164732f323032322f30382f6f746479682d762d6b617270617461682d706f6c7a612d322e6a7067