60806040526040518060400160405280600d81526020017f465249454e445f46414d494c5900000000000000000000000000000000000000815250600690816200004a9190620011e3565b506000600760006101000a81548160ff021916908360ff1602179055503480156200007457600080fd5b50604051620037043803806200370483398181016040528101906200009a91906200142e565b3382828160039081620000ae9190620011e3565b508060049081620000c09190620011e3565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001385760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200012f9190620014f8565b60405180910390fd5b62000149816200017760201b60201c565b506200016f737f969024c77f8b997ad5fcf09d2d7ad6adfa06e26200023d60201b60201c565b5050620017c1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002a660016040518060400160405280600d81526020017f465249454e445f46414d494c59000000000000000000000000000000000000008152507340f073d687d1f767a2d01cafa2d2bdff22fdd3bd6a09ed194db19b238c000000620006d360201b60201c565b6200030f60026040518060400160405280600c81526020017f505249564154455f53414c45000000000000000000000000000000000000000081525073ca26fc94876777c578d08a1f39de6774b91c67e46a13da329b63364718000000620006d360201b60201c565b6200037860036040518060400160405280600b81526020017f5055424c49435f53414c45000000000000000000000000000000000000000000815250735c8bd761c4926327cf65b1027fd4cae4d1ffdd666a13da329b63364718000000620006d360201b60201c565b620003e160046040518060400160405280600481526020017f5445414d0000000000000000000000000000000000000000000000000000000081525073c9e61e82ecd2b84c29409cb7e5e6255ebaf211516a2116545850052128000000620006d360201b60201c565b6200044a60056040518060400160405280600881526020017f5245534552564553000000000000000000000000000000000000000000000000815250735ca3dc4a9d00d96f2cfe1c61eddbe532498dfa4a6a52b7d2dcc80cd2e4000000620006d360201b60201c565b620004b360066040518060400160405280601a81526020017f53544f524147455f4d494e54494e475f414c4c4f434154494f4e00000000000081525073d88a39948b3a62a302c9c6bb7932ca01c7bd3e056a2116545850052128000000620006d360201b60201c565b6200051c60076040518060400160405280600d81526020017f4752414e54535f5245574152440000000000000000000000000000000000000081525073f59583ae201583311b288dfe5dc60158fb1084d46a422ca8b0a00a4250000000620006d360201b60201c565b6200058560086040518060400160405280600a81526020017f4d41524b455454494e4700000000000000000000000000000000000000000000815250733f65c00252f5af049eccfcedfd024e5f8eee670f6a2116545850052128000000620006d360201b60201c565b620005ee60096040518060400160405280600881526020017f41445649534f5253000000000000000000000000000000000000000000000000815250731e7bcd3c058ad518ed38cda9eef149dd310a564a6a09ed194db19b238c000000620006d360201b60201c565b62000657600a6040518060400160405280601a81526020017f4c49515549444954595f45584348414e47455f4c495354494e4700000000000081525073c8fc19c358045717eaa5d6e13824f3969e9498266a108b2a2c28029094000000620006d360201b60201c565b620006c0600b6040518060400160405280600781526020017f5354414b494e470000000000000000000000000000000000000000000000000081525073975a33a6c0bf5c242d5148d19e7a5e6dc28a1bb06a069e10de76676d08000000620006d360201b60201c565b620006d0620007b260201b60201c565b50565b82600a60008660ff1681526020019081526020016000206000019081620006fb9190620011e3565b5080600a60008660ff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60008660ff16815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b620007c262000aa460201b60201c565b60006007600081819054906101000a900460ff16620007e19062001551565b91906101000a81548160ff021916908360ff160217905590506000600a60008360ff1681526020019081526020016000206040518060600160405290816000820180546200082f9062000fd2565b80601f01602080910402602001604051908101604052809291908181526020018280546200085d9062000fd2565b8015620008ae5780601f106200088257610100808354040283529160200191620008ae565b820191906000526020600020905b8154815290600101906020018083116200089057829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506000816020015173ffffffffffffffffffffffffffffffffffffffff1611620009c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009bc9062001606565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff160362000a3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a32906200169e565b60405180910390fd5b62000a6b8160400151826020015173ffffffffffffffffffffffffffffffffffffffff1662000b4660201b60201c565b62000aa081600001518260400151836020015173ffffffffffffffffffffffffffffffffffffffff1662000bd360201b60201c565b5050565b62000ab462000d0760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000ada62000d0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000b445762000b0662000d0760201b60201c565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040162000b3b9190620014f8565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000bbb5760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000bb29190620014f8565b60405180910390fd5b62000bcf6000838362000d3960201b60201c565b5050565b826006908162000be49190620011e3565b508160088460405162000bf8919062001702565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060098460405162000c57919062001702565b908152602001604051809103902060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16818460405162000cce919062001702565b60405180910390207f42e47c5f4ef490fa970d56126f2584efc00f3485d64635df2e3d0f587d4211b760405160405180910390a4505050565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000d8f57806002600082825462000d8291906200171b565b9250508190555062000e65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000e1e578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000e159392919062001767565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000eb0578060026000828254039250508190555062000efd565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000f5c9190620017a4565b60405180910390a3505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000feb57607f821691505b60208210810362001001576200100062000fa3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200106b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200102c565b6200107786836200102c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010c4620010be620010b8846200108f565b62001099565b6200108f565b9050919050565b6000819050919050565b620010e083620010a3565b620010f8620010ef82620010cb565b84845462001039565b825550505050565b600090565b6200110f62001100565b6200111c818484620010d5565b505050565b5b8181101562001144576200113860008262001105565b60018101905062001122565b5050565b601f82111562001193576200115d8162001007565b62001168846200101c565b8101602085101562001178578190505b6200119062001187856200101c565b83018262001121565b50505b505050565b600082821c905092915050565b6000620011b86000198460080262001198565b1980831691505092915050565b6000620011d38383620011a5565b9150826002028217905092915050565b620011ee8262000f69565b67ffffffffffffffff8111156200120a576200120962000f74565b5b62001216825462000fd2565b6200122382828562001148565b600060209050601f8311600181146200125b576000841562001246578287015190505b620012528582620011c5565b865550620012c2565b601f1984166200126b8662001007565b60005b8281101562001295578489015182556001820191506020850194506020810190506200126e565b86831015620012b55784890151620012b1601f891682620011a5565b8355505b6001600288020188555050505b505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200130482620012e8565b810181811067ffffffffffffffff8211171562001326576200132562000f74565b5b80604052505050565b60006200133b620012ca565b9050620013498282620012f9565b919050565b600067ffffffffffffffff8211156200136c576200136b62000f74565b5b6200137782620012e8565b9050602081019050919050565b60005b83811015620013a457808201518184015260208101905062001387565b60008484015250505050565b6000620013c7620013c1846200134e565b6200132f565b905082815260208101848484011115620013e657620013e5620012e3565b5b620013f384828562001384565b509392505050565b600082601f830112620014135762001412620012de565b5b815162001425848260208601620013b0565b91505092915050565b60008060408385031215620014485762001447620012d4565b5b600083015167ffffffffffffffff811115620014695762001468620012d9565b5b6200147785828601620013fb565b925050602083015167ffffffffffffffff8111156200149b576200149a620012d9565b5b620014a985828601620013fb565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620014e082620014b3565b9050919050565b620014f281620014d3565b82525050565b60006020820190506200150f6000830184620014e7565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff82169050919050565b60006200155e8262001544565b915060ff820362001574576200157362001515565b5b600182019050919050565b600082825260208201905092915050565b7f45524332303a3a204d696e7420616d6f756e742073686f756c6420626520677260008201527f6561746572207468616e207a65726f0000000000000000000000000000000000602082015250565b6000620015ee602f836200157f565b9150620015fb8262001590565b604082019050919050565b600060208201905081810360008301526200162181620015df565b9050919050565b7f45524332303a3a20757365722073686f756c64206e6f7420626520657175616c60008201527f20746f2061646472657373207a65726f00000000000000000000000000000000602082015250565b6000620016866030836200157f565b9150620016938262001628565b604082019050919050565b60006020820190508181036000830152620016b98162001677565b9050919050565b600081905092915050565b6000620016d88262000f69565b620016e48185620016c0565b9350620016f681856020860162001384565b80840191505092915050565b6000620017108284620016cb565b915081905092915050565b600062001728826200108f565b915062001735836200108f565b925082820190508082111562001750576200174f62001515565b5b92915050565b62001761816200108f565b82525050565b60006060820190506200177e6000830186620014e7565b6200178d602083018562001756565b6200179c604083018462001756565b949350505050565b6000602082019050620017bb600083018462001756565b92915050565b611f3380620017d16000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146102d6578063a9059cbb146102f4578063dd62ed3e14610324578063f2fde38b14610354578063f3d22d381461037057610116565b806370a0823114610260578063715018a6146102905780638da5cb5b1461029a578063944df045146102b857610116565b806318160ddd116100e957806318160ddd146101a45780632240166d146101c257806323b872dd146101f4578063313ce567146102245780634c0f38c21461024257610116565b8063060a9aeb1461011b57806306fdde031461014c578063095ea7b31461016a5780631249c58b1461019a575b600080fd5b610135600480360381019061013091906115e8565b61038e565b60405161014392919061168b565b60405180910390f35b610154610441565b6040516101619190611733565b60405180910390f35b610184600480360381019061017f91906117ad565b6104d3565b6040516101919190611808565b60405180910390f35b6101a26104f6565b005b6101ac6107c0565b6040516101b99190611823565b60405180910390f35b6101dc60048036038101906101d7919061183e565b6107ca565b6040516101eb9392919061187a565b60405180910390f35b61020e600480360381019061020991906118b8565b6108bc565b60405161021b9190611808565b60405180910390f35b61022c6108eb565b6040516102399190611927565b60405180910390f35b61024a6108f4565b6040516102579190611942565b60405180910390f35b61027a6004803603810190610275919061195d565b610908565b6040516102879190611823565b60405180910390f35b610298610950565b005b6102a2610964565b6040516102af919061198a565b60405180910390f35b6102c061098e565b6040516102cd9190611733565b60405180910390f35b6102de610a20565b6040516102eb9190611733565b60405180910390f35b61030e600480360381019061030991906117ad565b610ab2565b60405161031b9190611808565b60405180910390f35b61033e600480360381019061033991906119a5565b610ad5565b60405161034b9190611823565b60405180910390f35b61036e6004803603810190610369919061195d565b610b5c565b005b610378610be2565b6040516103859190611927565b60405180910390f35b60008060006008846040516103a39190611a21565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006009856040516103e69190611a21565b908152602001604051809103902060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508082935093505050915091565b60606003805461045090611a67565b80601f016020809104026020016040519081016040528092919081815260200182805461047c90611a67565b80156104c95780601f1061049e576101008083540402835291602001916104c9565b820191906000526020600020905b8154815290600101906020018083116104ac57829003601f168201915b5050505050905090565b6000806104de610bf5565b90506104eb818585610bfd565b600191505092915050565b6104fe610c0f565b60006007600081819054906101000a900460ff1661051b90611ac7565b91906101000a81548160ff021916908360ff160217905590506000600a60008360ff16815260200190815260200160002060405180606001604052908160008201805461056790611a67565b80601f016020809104026020016040519081016040528092919081815260200182805461059390611a67565b80156105e05780601f106105b5576101008083540402835291602001916105e0565b820191906000526020600020905b8154815290600101906020018083116105c357829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506000816020015173ffffffffffffffffffffffffffffffffffffffff16116106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90611b62565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff1603610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e90611bf4565b60405180910390fd5b61078f8160400151826020015173ffffffffffffffffffffffffffffffffffffffff16610c96565b6107bc81600001518260400151836020015173ffffffffffffffffffffffffffffffffffffffff16610d18565b5050565b6000600254905090565b600a6020528060005260406000206000915090508060000180546107ed90611a67565b80601f016020809104026020016040519081016040528092919081815260200182805461081990611a67565b80156108665780601f1061083b57610100808354040283529160200191610866565b820191906000526020600020905b81548152906001019060200180831161084957829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b6000806108c7610bf5565b90506108d4858285610e44565b6108df858585610ed8565b60019150509392505050565b60006012905090565b60006b014adf4b7320334b90000000905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610958610c0f565b6109626000610fcc565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606006805461099d90611a67565b80601f01602080910402602001604051908101604052809291908181526020018280546109c990611a67565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b606060048054610a2f90611a67565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5b90611a67565b8015610aa85780601f10610a7d57610100808354040283529160200191610aa8565b820191906000526020600020905b815481529060010190602001808311610a8b57829003601f168201915b5050505050905090565b600080610abd610bf5565b9050610aca818585610ed8565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b64610c0f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bd65760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610bcd919061198a565b60405180910390fd5b610bdf81610fcc565b50565b600760009054906101000a900460ff1681565b600033905090565b610c0a8383836001611092565b505050565b610c17610bf5565b73ffffffffffffffffffffffffffffffffffffffff16610c35610964565b73ffffffffffffffffffffffffffffffffffffffff1614610c9457610c58610bf5565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c8b919061198a565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d085760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610cff919061198a565b60405180910390fd5b610d1460008383611269565b5050565b8260069081610d279190611dc0565b5081600884604051610d399190611a21565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600984604051610d969190611a21565b908152602001604051809103902060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168184604051610e0b9190611a21565b60405180910390207f42e47c5f4ef490fa970d56126f2584efc00f3485d64635df2e3d0f587d4211b760405160405180910390a4505050565b6000610e508484610ad5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ed25781811015610ec2578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610eb993929190611e92565b60405180910390fd5b610ed184848484036000611092565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f4a5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f41919061198a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fbc5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610fb3919061198a565b60405180910390fd5b610fc7838383611269565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111045760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016110fb919061198a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111765760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161116d919061198a565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611263578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161125a9190611823565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112bb5780600260008282546112af9190611ec9565b9250508190555061138e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611347578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161133e93929190611e92565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d75780600260008282540392505081905550611424565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114819190611823565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114f5826114ac565b810181811067ffffffffffffffff82111715611514576115136114bd565b5b80604052505050565b600061152761148e565b905061153382826114ec565b919050565b600067ffffffffffffffff821115611553576115526114bd565b5b61155c826114ac565b9050602081019050919050565b82818337600083830152505050565b600061158b61158684611538565b61151d565b9050828152602081018484840111156115a7576115a66114a7565b5b6115b2848285611569565b509392505050565b600082601f8301126115cf576115ce6114a2565b5b81356115df848260208601611578565b91505092915050565b6000602082840312156115fe576115fd611498565b5b600082013567ffffffffffffffff81111561161c5761161b61149d565b5b611628848285016115ba565b91505092915050565b6000819050919050565b61164481611631565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116758261164a565b9050919050565b6116858161166a565b82525050565b60006040820190506116a0600083018561163b565b6116ad602083018461167c565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116ee5780820151818401526020810190506116d3565b60008484015250505050565b6000611705826116b4565b61170f81856116bf565b935061171f8185602086016116d0565b611728816114ac565b840191505092915050565b6000602082019050818103600083015261174d81846116fa565b905092915050565b61175e8161166a565b811461176957600080fd5b50565b60008135905061177b81611755565b92915050565b61178a81611631565b811461179557600080fd5b50565b6000813590506117a781611781565b92915050565b600080604083850312156117c4576117c3611498565b5b60006117d28582860161176c565b92505060206117e385828601611798565b9150509250929050565b60008115159050919050565b611802816117ed565b82525050565b600060208201905061181d60008301846117f9565b92915050565b6000602082019050611838600083018461163b565b92915050565b60006020828403121561185457611853611498565b5b600061186284828501611798565b91505092915050565b6118748161164a565b82525050565b6000606082019050818103600083015261189481866116fa565b90506118a3602083018561186b565b6118b0604083018461167c565b949350505050565b6000806000606084860312156118d1576118d0611498565b5b60006118df8682870161176c565b93505060206118f08682870161176c565b925050604061190186828701611798565b9150509250925092565b600060ff82169050919050565b6119218161190b565b82525050565b600060208201905061193c6000830184611918565b92915050565b6000602082019050611957600083018461186b565b92915050565b60006020828403121561197357611972611498565b5b60006119818482850161176c565b91505092915050565b600060208201905061199f600083018461167c565b92915050565b600080604083850312156119bc576119bb611498565b5b60006119ca8582860161176c565b92505060206119db8582860161176c565b9150509250929050565b600081905092915050565b60006119fb826116b4565b611a0581856119e5565b9350611a158185602086016116d0565b80840191505092915050565b6000611a2d82846119f0565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a7f57607f821691505b602082108103611a9257611a91611a38565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ad28261190b565b915060ff8203611ae557611ae4611a98565b5b600182019050919050565b7f45524332303a3a204d696e7420616d6f756e742073686f756c6420626520677260008201527f6561746572207468616e207a65726f0000000000000000000000000000000000602082015250565b6000611b4c602f836116bf565b9150611b5782611af0565b604082019050919050565b60006020820190508181036000830152611b7b81611b3f565b9050919050565b7f45524332303a3a20757365722073686f756c64206e6f7420626520657175616c60008201527f20746f2061646472657373207a65726f00000000000000000000000000000000602082015250565b6000611bde6030836116bf565b9150611be982611b82565b604082019050919050565b60006020820190508181036000830152611c0d81611bd1565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611c767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611c39565b611c808683611c39565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611cbd611cb8611cb384611631565b611c98565b611631565b9050919050565b6000819050919050565b611cd783611ca2565b611ceb611ce382611cc4565b848454611c46565b825550505050565b600090565b611d00611cf3565b611d0b818484611cce565b505050565b5b81811015611d2f57611d24600082611cf8565b600181019050611d11565b5050565b601f821115611d7457611d4581611c14565b611d4e84611c29565b81016020851015611d5d578190505b611d71611d6985611c29565b830182611d10565b50505b505050565b600082821c905092915050565b6000611d9760001984600802611d79565b1980831691505092915050565b6000611db08383611d86565b9150826002028217905092915050565b611dc9826116b4565b67ffffffffffffffff811115611de257611de16114bd565b5b611dec8254611a67565b611df7828285611d33565b600060209050601f831160018114611e2a5760008415611e18578287015190505b611e228582611da4565b865550611e8a565b601f198416611e3886611c14565b60005b82811015611e6057848901518255600182019150602085019450602081019050611e3b565b86831015611e7d5784890151611e79601f891682611d86565b8355505b6001600288020188555050505b505050505050565b6000606082019050611ea7600083018661167c565b611eb4602083018561163b565b611ec1604083018461163b565b949350505050565b6000611ed482611631565b9150611edf83611631565b9250828201905080821115611ef757611ef6611a98565b5b9291505056fea2646970667358221220ce5f6686002c7d8293f851ce693fdf278d06f97d7a4815e55759ec322530553564736f6c63430008130033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000007414e5259544f4e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004414e525900000000000000000000000000000000000000000000000000000000