60806040523480156200001157600080fd5b5060405162003cec38038062003cec833981810160405281019062000037919062000761565b620000576200004b6200031860201b60201c565b6200032060201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036200009157600080fd5b8560019081620000a2919062000a86565b508460029081620000b4919062000a86565b5083600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600760006101000a81548161ffff021916908361ffff16021790555081600760026101000a81548161ffff021916908361ffff16021790555080600760046101000a81548161ffff021916908361ffff1602179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26040518363ffffffff1660e01b81526004016200026792919062000b7e565b6020604051808303816000875af115801562000287573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ad919062000bab565b600760066101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200030b336b033b2e3c9fd0803ce8000000620003e460201b60201c565b5050505050505062000cf8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000456576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200044d9062000c3e565b60405180910390fd5b80600660008282546200046a919062000c8f565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200051e919062000cdb565b60405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005938262000548565b810181811067ffffffffffffffff82111715620005b557620005b462000559565b5b80604052505050565b6000620005ca6200052a565b9050620005d8828262000588565b919050565b600067ffffffffffffffff821115620005fb57620005fa62000559565b5b620006068262000548565b9050602081019050919050565b60005b838110156200063357808201518184015260208101905062000616565b60008484015250505050565b6000620006566200065084620005dd565b620005be565b90508281526020810184848401111562000675576200067462000543565b5b6200068284828562000613565b509392505050565b600082601f830112620006a257620006a16200053e565b5b8151620006b48482602086016200063f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006ea82620006bd565b9050919050565b620006fc81620006dd565b81146200070857600080fd5b50565b6000815190506200071c81620006f1565b92915050565b600061ffff82169050919050565b6200073b8162000722565b81146200074757600080fd5b50565b6000815190506200075b8162000730565b92915050565b60008060008060008060c0878903121562000781576200078062000534565b5b600087015167ffffffffffffffff811115620007a257620007a162000539565b5b620007b089828a016200068a565b965050602087015167ffffffffffffffff811115620007d457620007d362000539565b5b620007e289828a016200068a565b9550506040620007f589828a016200070b565b94505060606200080889828a016200074a565b93505060806200081b89828a016200074a565b92505060a06200082e89828a016200074a565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200088e57607f821691505b602082108103620008a457620008a362000846565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200090e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008cf565b6200091a8683620008cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000967620009616200095b8462000932565b6200093c565b62000932565b9050919050565b6000819050919050565b620009838362000946565b6200099b62000992826200096e565b848454620008dc565b825550505050565b600090565b620009b2620009a3565b620009bf81848462000978565b505050565b5b81811015620009e757620009db600082620009a8565b600181019050620009c5565b5050565b601f82111562000a365762000a0081620008aa565b62000a0b84620008bf565b8101602085101562000a1b578190505b62000a3362000a2a85620008bf565b830182620009c4565b50505b505050565b600082821c905092915050565b600062000a5b6000198460080262000a3b565b1980831691505092915050565b600062000a76838362000a48565b9150826002028217905092915050565b62000a91826200083b565b67ffffffffffffffff81111562000aad5762000aac62000559565b5b62000ab9825462000875565b62000ac6828285620009eb565b600060209050601f83116001811462000afe576000841562000ae9578287015190505b62000af5858262000a68565b86555062000b65565b601f19841662000b0e86620008aa565b60005b8281101562000b385784890151825560018201915060208501945060208101905062000b11565b8683101562000b58578489015162000b54601f89168262000a48565b8355505b6001600288020188555050505b505050505050565b62000b7881620006dd565b82525050565b600060408201905062000b95600083018562000b6d565b62000ba4602083018462000b6d565b9392505050565b60006020828403121562000bc45762000bc362000534565b5b600062000bd4848285016200070b565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c26601f8362000bdd565b915062000c338262000bee565b602082019050919050565b6000602082019050818103600083015262000c598162000c17565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c9c8262000932565b915062000ca98362000932565b925082820190508082111562000cc45762000cc362000c60565b5b92915050565b62000cd58162000932565b82525050565b600060208201905062000cf2600083018462000cca565b92915050565b612fe48062000d086000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806394f787671161010f578063d63cad22116100a2578063ee99205c11610071578063ee99205c14610597578063f25f4b56146105b5578063f2fde38b146105d3578063f9866ee3146105ef576101f0565b8063d63cad22146104fd578063dd62ed3e14610519578063e57f14e114610549578063ed99f43d14610579576101f0565b80639ef833d4116100de5780639ef833d414610463578063a457c2d71461047f578063a9059cbb146104af578063c816841b146104df576101f0565b806394f787671461040157806395d89b411461041f5780639dd373b91461043d5780639dfdba4a14610459576101f0565b80633950935111610187578063715018a611610156578063715018a6146103a157806371b01098146103ab5780638da5cb5b146103c757806390d49b9d146103e5576101f0565b8063395093511461030757806340ec4e911461033757806342966c681461035557806370a0823114610371576101f0565b806320a6b450116101c357806320a6b4501461027f57806323b872dd1461029d5780632e92f74e146102cd578063313ce567146102e9576101f0565b8063056764b1146101f557806306fdde0314610213578063095ea7b31461023157806318160ddd14610261575b600080fd5b6101fd61060b565b60405161020a9190611dce565b60405180910390f35b61021b61061f565b6040516102289190611e79565b60405180910390f35b61024b60048036038101906102469190611f39565b6106b1565b6040516102589190611f94565b60405180910390f35b6102696106d4565b6040516102769190611fbe565b60405180910390f35b6102876106de565b6040516102949190611fbe565b60405180910390f35b6102b760048036038101906102b29190611fd9565b6106e4565b6040516102c49190611f94565b60405180910390f35b6102e760048036038101906102e29190612058565b610713565b005b6102f161074e565b6040516102fe91906120a1565b60405180910390f35b610321600480360381019061031c9190611f39565b610757565b60405161032e9190611f94565b60405180910390f35b61033f61078e565b60405161034c9190611dce565b60405180910390f35b61036f600480360381019061036a91906120bc565b6107a2565b005b61038b600480360381019061038691906120e9565b6107b6565b6040516103989190611fbe565b60405180910390f35b6103a96107ff565b005b6103c560048036038101906103c091906120bc565b610813565b005b6103cf61081d565b6040516103dc9190612125565b60405180910390f35b6103ff60048036038101906103fa91906120e9565b610846565b005b610409610923565b6040516104169190611dce565b60405180910390f35b610427610937565b6040516104349190611e79565b60405180910390f35b6104576004803603810190610452919061217e565b6109c9565b005b610461610aa6565b005b61047d600480360381019061047891906121ab565b610aed565b005b61049960048036038101906104949190611f39565b610b5b565b6040516104a69190611f94565b60405180910390f35b6104c960048036038101906104c49190611f39565b610bd2565b6040516104d69190611f94565b60405180910390f35b6104e7610bf5565b6040516104f49190612125565b60405180910390f35b61051760048036038101906105129190612217565b610c1b565b005b610533600480360381019061052e9190612257565b610c7e565b6040516105409190611fbe565b60405180910390f35b610563600480360381019061055e91906120e9565b610d05565b6040516105709190611f94565b60405180910390f35b610581610d25565b60405161058e9190611e79565b60405180910390f35b61059f610db3565b6040516105ac91906122f6565b60405180910390f35b6105bd610dd9565b6040516105ca9190612125565b60405180910390f35b6105ed60048036038101906105e891906120e9565b610dff565b005b61060960048036038101906106049190612376565b610e82565b005b600760049054906101000a900461ffff1681565b60606001805461062e906123f2565b80601f016020809104026020016040519081016040528092919081815260200182805461065a906123f2565b80156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050505050905090565b6000806106bc610e98565b90506106c9818585610ea0565b600191505092915050565b6000600654905090565b600a5481565b6000806106ef610e98565b90506106fc858285611069565b6107078585856110f5565b60019150509392505050565b61071b611ab8565b6127108161ffff16111561072e57600080fd5b80600760046101000a81548161ffff021916908361ffff16021790555050565b60006012905090565b600080610762610e98565b90506107838185856107748589610c7e565b61077e9190612452565b610ea0565b600191505092915050565b600760009054906101000a900461ffff1681565b6107b36107ad610e98565b82611b36565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610807611ab8565b6108116000611ced565b565b80600a8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61084e611ab8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361088757600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760029054906101000a900461ffff1681565b606060028054610946906123f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610972906123f2565b80156109bf5780601f10610994576101008083540402835291602001916109bf565b820191906000526020600020905b8154815290600101906020018083116109a257829003601f168201915b5050505050905090565b6109d1611ab8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0a57600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6001600a54610ab59190612452565b600a81905550600b604051602001610acd919061254f565b604051602081830303815290604052600b9081610aea9190612731565b50565b610af5611ab8565b6127108261ffff161115610b0857600080fd5b8161ffff168161ffff161115610b1d57600080fd5b81600760006101000a81548161ffff021916908361ffff16021790555080600760026101000a81548161ffff021916908361ffff1602179055505050565b600080610b66610e98565b90506000610b748286610c7e565b905083811015610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb090612875565b60405180910390fd5b610bc68286868403610ea0565b60019250505092915050565b600080610bdd610e98565b9050610bea8185856110f5565b600191505092915050565b600760069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c23611ab8565b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b600b8054610d32906123f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5e906123f2565b8015610dab5780601f10610d8057610100808354040283529160200191610dab565b820191906000526020600020905b815481529060010190602001808311610d8e57829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e07611ab8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90612907565b60405180910390fd5b610e7f81611ced565b50565b8181600b9182610e93929190612932565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0690612a74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7590612b06565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161105c9190611fbe565b60405180910390a3505050565b60006110758484610c7e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110ef57818110156110e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d890612b72565b60405180910390fd5b6110ee8484848403610ea0565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90612c04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90612c96565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612d28565b60405180910390fd5b600760069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113035750600760069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156113595750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113af5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119a7576000612710600760009054906101000a900461ffff1661ffff16846113d99190612d48565b6113e39190612db9565b90506000612710600760029054906101000a900461ffff1661ffff168561140a9190612d48565b6114149190612db9565b90508181111561142357600080fd5b600081836114319190612dea565b9050600083866114419190612dea565b9050858561144f9190612dea565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760069054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16148061150257506000600760049054906101000a900461ffff1661ffff16145b806115855750612710600760049054906101000a900461ffff1661ffff1660065461152d9190612d48565b6115379190612db9565b81600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115829190612452565b11155b61158e57600080fd5b80600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115dd9190612452565b925050819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116419190611fbe565b60405180910390a360008211156117ad57600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036116ad57600080fd5b8160036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461171e9190612452565b92505081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117a49190611fbe565b60405180910390a35b600083111561199e57600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361181157600080fd5b8260036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118829190612452565b92505081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da113e47846040518263ffffffff1660e01b81526004016118e49190611fbe565b600060405180830381600087803b1580156118fe57600080fd5b505af1158015611912573d6000803e3d6000fd5b50505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119959190611fbe565b60405180910390a35b50505050611ab2565b81816119b39190612dea565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a459190612452565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611aa99190611fbe565b60405180910390a35b50505050565b611ac0610e98565b73ffffffffffffffffffffffffffffffffffffffff16611ade61081d565b73ffffffffffffffffffffffffffffffffffffffff1614611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b90612e6a565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90612efc565b60405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390612f8e565b60405180910390fd5b818103600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ce09190611fbe565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061ffff82169050919050565b611dc881611db1565b82525050565b6000602082019050611de36000830184611dbf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e23578082015181840152602081019050611e08565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e4b82611de9565b611e558185611df4565b9350611e65818560208601611e05565b611e6e81611e2f565b840191505092915050565b60006020820190508181036000830152611e938184611e40565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ed082611ea5565b9050919050565b611ee081611ec5565b8114611eeb57600080fd5b50565b600081359050611efd81611ed7565b92915050565b6000819050919050565b611f1681611f03565b8114611f2157600080fd5b50565b600081359050611f3381611f0d565b92915050565b60008060408385031215611f5057611f4f611e9b565b5b6000611f5e85828601611eee565b9250506020611f6f85828601611f24565b9150509250929050565b60008115159050919050565b611f8e81611f79565b82525050565b6000602082019050611fa96000830184611f85565b92915050565b611fb881611f03565b82525050565b6000602082019050611fd36000830184611faf565b92915050565b600080600060608486031215611ff257611ff1611e9b565b5b600061200086828701611eee565b935050602061201186828701611eee565b925050604061202286828701611f24565b9150509250925092565b61203581611db1565b811461204057600080fd5b50565b6000813590506120528161202c565b92915050565b60006020828403121561206e5761206d611e9b565b5b600061207c84828501612043565b91505092915050565b600060ff82169050919050565b61209b81612085565b82525050565b60006020820190506120b66000830184612092565b92915050565b6000602082840312156120d2576120d1611e9b565b5b60006120e084828501611f24565b91505092915050565b6000602082840312156120ff576120fe611e9b565b5b600061210d84828501611eee565b91505092915050565b61211f81611ec5565b82525050565b600060208201905061213a6000830184612116565b92915050565b600061214b82611ec5565b9050919050565b61215b81612140565b811461216657600080fd5b50565b60008135905061217881612152565b92915050565b60006020828403121561219457612193611e9b565b5b60006121a284828501612169565b91505092915050565b600080604083850312156121c2576121c1611e9b565b5b60006121d085828601612043565b92505060206121e185828601612043565b9150509250929050565b6121f481611f79565b81146121ff57600080fd5b50565b600081359050612211816121eb565b92915050565b6000806040838503121561222e5761222d611e9b565b5b600061223c85828601611eee565b925050602061224d85828601612202565b9150509250929050565b6000806040838503121561226e5761226d611e9b565b5b600061227c85828601611eee565b925050602061228d85828601611eee565b9150509250929050565b6000819050919050565b60006122bc6122b76122b284611ea5565b612297565b611ea5565b9050919050565b60006122ce826122a1565b9050919050565b60006122e0826122c3565b9050919050565b6122f0816122d5565b82525050565b600060208201905061230b60008301846122e7565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261233657612335612311565b5b8235905067ffffffffffffffff81111561235357612352612316565b5b60208301915083600182028301111561236f5761236e61231b565b5b9250929050565b6000806020838503121561238d5761238c611e9b565b5b600083013567ffffffffffffffff8111156123ab576123aa611ea0565b5b6123b785828601612320565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061240a57607f821691505b60208210810361241d5761241c6123c3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061245d82611f03565b915061246883611f03565b92508282019050808211156124805761247f612423565b5b92915050565b600081905092915050565b60008190508160005260206000209050919050565b600081546124b3816123f2565b6124bd8186612486565b945060018216600081146124d857600181146124ed57612520565b60ff1983168652811515820286019350612520565b6124f685612491565b60005b83811015612518578154818901526001820191506020810190506124f9565b838801955050505b50505092915050565b7f2d30303100000000000000000000000000000000000000000000000000000000815250565b600061255b82846124a6565b915061256682612529565b60048201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020601f8301049050919050565b600082821b905092915050565b6000600883026125f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826125b4565b6125fb86836125b4565b95508019841693508086168417925050509392505050565b600061262e61262961262484611f03565b612297565b611f03565b9050919050565b6000819050919050565b61264883612613565b61265c61265482612635565b8484546125c1565b825550505050565b600090565b612671612664565b61267c81848461263f565b505050565b5b818110156126a057612695600082612669565b600181019050612682565b5050565b601f8211156126e5576126b681612491565b6126bf846125a4565b810160208510156126ce578190505b6126e26126da856125a4565b830182612681565b50505b505050565b600082821c905092915050565b6000612708600019846008026126ea565b1980831691505092915050565b600061272183836126f7565b9150826002028217905092915050565b61273a82611de9565b67ffffffffffffffff81111561275357612752612575565b5b61275d82546123f2565b6127688282856126a4565b600060209050601f83116001811461279b5760008415612789578287015190505b6127938582612715565b8655506127fb565b601f1984166127a986612491565b60005b828110156127d1578489015182556001820191506020850194506020810190506127ac565b868310156127ee57848901516127ea601f8916826126f7565b8355505b6001600288020188555050505b505050505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061285f602583611df4565b915061286a82612803565b604082019050919050565b6000602082019050818103600083015261288e81612852565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128f1602683611df4565b91506128fc82612895565b604082019050919050565b60006020820190508181036000830152612920816128e4565b9050919050565b600082905092915050565b61293c8383612927565b67ffffffffffffffff81111561295557612954612575565b5b61295f82546123f2565b61296a8282856126a4565b6000601f8311600181146129995760008415612987578287013590505b6129918582612715565b8655506129f9565b601f1984166129a786612491565b60005b828110156129cf578489013582556001820191506020850194506020810190506129aa565b868310156129ec57848901356129e8601f8916826126f7565b8355505b6001600288020188555050505b50505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a5e602483611df4565b9150612a6982612a02565b604082019050919050565b60006020820190508181036000830152612a8d81612a51565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af0602283611df4565b9150612afb82612a94565b604082019050919050565b60006020820190508181036000830152612b1f81612ae3565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612b5c601d83611df4565b9150612b6782612b26565b602082019050919050565b60006020820190508181036000830152612b8b81612b4f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bee602583611df4565b9150612bf982612b92565b604082019050919050565b60006020820190508181036000830152612c1d81612be1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c80602383611df4565b9150612c8b82612c24565b604082019050919050565b60006020820190508181036000830152612caf81612c73565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d12602683611df4565b9150612d1d82612cb6565b604082019050919050565b60006020820190508181036000830152612d4181612d05565b9050919050565b6000612d5382611f03565b9150612d5e83611f03565b9250828202612d6c81611f03565b91508282048414831517612d8357612d82612423565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612dc482611f03565b9150612dcf83611f03565b925082612ddf57612dde612d8a565b5b828204905092915050565b6000612df582611f03565b9150612e0083611f03565b9250828203905081811115612e1857612e17612423565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e54602083611df4565b9150612e5f82612e1e565b602082019050919050565b60006020820190508181036000830152612e8381612e47565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee6602183611df4565b9150612ef182612e8a565b604082019050919050565b60006020820190508181036000830152612f1581612ed9565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f78602283611df4565b9150612f8382612f1c565b604082019050919050565b60006020820190508181036000830152612fa781612f6b565b905091905056fea2646970667358221220d30ad55a3b5d0a89401176dca2043fd811f0eae0c743b78b680a5a465ab0ea1c64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000072e1f406e77840af555685276657cc7ba9e6b92c0000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000d496465612050726f746f636f6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044944454100000000000000000000000000000000000000000000000000000000