0x608060405234801561001057600080fd5b506132e6806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633943380c146100905780634fad6c27146100bb578063586dc88c146100eb578063674242551461011b5780637062c0941461014b578063a01ffdff14610167578063a41698441461017e578063b61d27f6146101a7575b005b34801561009c57600080fd5b506100a56101c3565b6040516100b29190613189565b60405180910390f35b6100d560048036036100d09190810190612f32565b6101c9565b6040516100e29190613189565b60405180910390f35b61010560048036036101009190810190612fd2565b610d0e565b6040516101129190613189565b60405180910390f35b61013560048036036101309190810190612f82565b61140b565b6040516101429190613189565b60405180910390f35b61016560048036036101609190810190612f09565b61240e565b005b34801561017357600080fd5b5061017c6125df565b005b34801561018a57600080fd5b506101a560048036036101a09190810190613039565b61267c565b005b6101c160048036036101bc9190810190612ea2565b612a9b565b005b60005481565b60008041146fffffffffffffffffffffffffffffffff8516431017156101ee57600080f35b734a34d45cc0b9fb94e3957c9fef982c3cd020298132146103015773191e7533e4134cea74c5c615c697a6cfb6b6a10f32146103015773095ed4bd940756aed7246664b50651c4dd0fc95c3214610301577376285eece2c7a5f6f225af6c50fed17b7fde50383214610301577334927d8bebe7e83e479d8999c988b4f5c13bb7a9321461030157736c0439f659abbd2c52a61fbf5be36f5ad43d08a432146103015773f8b567789e0d5896e0a7f53d030720f42aae79f332146103015773991e498d4285ea71641a18ff3f1a417a8964afe032146103015773fe5300b75907072410ab12f4026d10aeaa2a3dee32146103015773601ddd20198bd09aba0a24ff367d2efb739f8f2f321461030157600080f35b6000548060008114610350576001811461038b578185511885528160408501511860408501528160608501511860608501528160c08501511860c08501528160e08501511860e08501526103c2565b3385511885523360408501511860408501523360608501511860608501523360c08501511860c08501523360e08501511860e08501526103c2565b3285511885523260408501511860408501523260608501511860608501523260c08501511860c08501523260e08501511860e08501525b5060a083015160008114610477576040517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815260608501516004820152600080602483600060408a01515af1503d6000823e805160808601511115610471577f6366b93600000000000000000000000000000000000000000000000000000000815260038760881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b50610586565b6040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600080600483600060408a01515af1503d6000823e6060850151865110600181146105235781516080870151111561051e577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b610583565b602082015160808701511115610582577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b50505b506101208301516000811461063d576040517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815260e08501516004820152600080602483600060c08a01515af1503d6000823e80516101008601511115610637577f6366b93600000000000000000000000000000000000000000000000000000000815260038760881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b50610751565b6040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600080600483600060c08a01515af1503d6000823e60e0850151606086015110600181146106ed57815161010087015111156106e8577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b61074e565b6020820151610100870151111561074d577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b50505b50506040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600080602483600088515af1503d6000823e8051602085015160a08501516000811461086e577f095ea7b30000000000000000000000000000000000000000000000000000000084526040860151600485015281602485015260008060448660008b515af1507f8201aa3f000000000000000000000000000000000000000000000000000000008452865160048501526020870151602485015260608601516044850152600060648501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608485015260008060a486600060408b01515af1503d6000853e83519150610a01565b60405193507fa9059cbb0000000000000000000000000000000000000000000000000000000084526040860151600485015281602485015260008060448660008b515af1507f0902f1ac000000000000000000000000000000000000000000000000000000008452600080600486600060408b01515af1503d6000853e6020840151845160608801518951101561090b5785519150602086015190505b7f70a082310000000000000000000000000000000000000000000000000000000086526040880151600487015260008060248860008d515af1503d6000873e6103e58287510302806103e88402018282020494507f022c0d9f00000000000000000000000000000000000000000000000000000000875260608901518a5110600181146109a457856004890152600060248901526109b2565b600060048901528560248901525b50610120890151600081146109cc573060448901526109d7565b60c08a015160448901525b506084606488015260006084880152600060a488015260008060c489600060408e01515af1505050505b5061012085015160008114610adb577f095ea7b300000000000000000000000000000000000000000000000000000000845260c08601516004850152816024850152600080604486600060608b01515af1507f8201aa3f0000000000000000000000000000000000000000000000000000000084526060860151600485015281602485015260e08601516044850152600060648501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608485015260008060a486600060c08b01515af1503d6000853e83519150610c69565b600060a08701511115610b315760405193507fa9059cbb00000000000000000000000000000000000000000000000000000000845260c08601516004850152816024850152600080604486600060608b01515af1505b7f0902f1ac000000000000000000000000000000000000000000000000000000008452600080600486600060c08b01515af1503d6000853e6020840151845160e088015160608901511015610b8c5785519150602086015190505b7f70a0823100000000000000000000000000000000000000000000000000000000865260c08801516004870152600080602488600060608d01515af1503d6000873e6103e58287510302806103e88402018282020494507f022c0d9f00000000000000000000000000000000000000000000000000000000875260e089015160608a01511060018114610c2b5785600489015260006024890152610c39565b600060048901528560248901525b503060448801526084606488015260006084880152600060a488015260008060c489600060c08e01515af1505050505b507f70a0823100000000000000000000000000000000000000000000000000000000835230600484015260008060248560008a515af1503d6000843e825182811015610cb457600080fd5b7f6366b936000000000000000000000000000000000000000000000000000000008452600f8860801c16600485015260008060248660006eb3f879cb30fe243b4dfee438691c045af1508281039450505050509392505050565b60008041146fffffffffffffffffffffffffffffffff851643101715610d3357600080f35b734a34d45cc0b9fb94e3957c9fef982c3cd02029813214610e465773191e7533e4134cea74c5c615c697a6cfb6b6a10f3214610e465773095ed4bd940756aed7246664b50651c4dd0fc95c3214610e46577376285eece2c7a5f6f225af6c50fed17b7fde50383214610e46577334927d8bebe7e83e479d8999c988b4f5c13bb7a93214610e4657736c0439f659abbd2c52a61fbf5be36f5ad43d08a43214610e465773f8b567789e0d5896e0a7f53d030720f42aae79f33214610e465773991e498d4285ea71641a18ff3f1a417a8964afe03214610e465773fe5300b75907072410ab12f4026d10aeaa2a3dee3214610e465773601ddd20198bd09aba0a24ff367d2efb739f8f2f3214610e4657600080f35b6000548060008114610e5f5760018114610e6757610e6b565b339150610e6b565b3291505b50808451188452825160208082020184016080820281015b8082101561107b57838251188252836020830151186020830152606082015160008114610f4e576040517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815260208401516004820152600080602483600088515af1503d6000823e805160408501511115610f48577f6366b93600000000000000000000000000000000000000000000000000000000815260038a60881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b5061106f565b6040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600080600483600088515af1503d6000823e885160808901851115610f9b57606085035190505b602085015181106001811461100b57825160408701511115611006577f6366b93600000000000000000000000000000000000000000000000000000000835260038c60881c16600484015260008060248560006eb3f879cb30fe243b4dfee438691c045af150600080f35b61106b565b60208301516040870151111561106a577f6366b93600000000000000000000000000000000000000000000000000000000835260038c60881c16600484015260008060248560006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b5050505b50608082019150610e83565b505050506040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600080602483600088515af1503d6000823e80518351602080820201850160208701516080830282015b8083101561135e578851608089018411156110f257606084035190505b6060840151600081146111bc577f095ea7b30000000000000000000000000000000000000000000000000000000088528451600489015283602489015260008060448a6000865af1507f8201aa3f00000000000000000000000000000000000000000000000000000000885281600489015283602489015260208501516044890152600060648901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608489015260008060a48a600089515af1503d6000893e87519350611351565b600060208603511160808b01861417156112125760405197507fa9059cbb0000000000000000000000000000000000000000000000000000000088528451600489015283602489015260008060448a6000865af1505b7f0902f1ac00000000000000000000000000000000000000000000000000000000885260008060048a600089515af1503d6000893e602088015188516020870151841015611266578951915060208a015190505b7f70a08231000000000000000000000000000000000000000000000000000000008a52865160048b015260008060248c6000885af1503d60008b3e6103e5828b510302806103e88402018282020496503060e0890151158760808b011016156112d157608089015190505b7f022c0d9f000000000000000000000000000000000000000000000000000000008c526020890151861060018114611315578860048e0152600060248e0152611323565b600060048e01528860248e01525b508060448d0152608460648d0152600060848d0152600060a48d015260008060c48e60008d515af150505050505b50506080830192506110d5565b507f70a0823100000000000000000000000000000000000000000000000000000000855230600486015260008060248760008c515af1503d6000863e8451848110156113a957600080fd5b8486510386527f6366b936000000000000000000000000000000000000000000000000000000008652600f8a60801c16600487015260008060248860006eb3f879cb30fe243b4dfee438691c045af15084810396505050505050509392505050565b60008041146fffffffffffffffffffffffffffffffff85164310171561143057600080f35b734a34d45cc0b9fb94e3957c9fef982c3cd020298132146115435773191e7533e4134cea74c5c615c697a6cfb6b6a10f32146115435773095ed4bd940756aed7246664b50651c4dd0fc95c3214611543577376285eece2c7a5f6f225af6c50fed17b7fde50383214611543577334927d8bebe7e83e479d8999c988b4f5c13bb7a9321461154357736c0439f659abbd2c52a61fbf5be36f5ad43d08a432146115435773f8b567789e0d5896e0a7f53d030720f42aae79f332146115435773991e498d4285ea71641a18ff3f1a417a8964afe032146115435773fe5300b75907072410ab12f4026d10aeaa2a3dee32146115435773601ddd20198bd09aba0a24ff367d2efb739f8f2f321461154357600080f35b60005480600081146115b05760018114611609578185511885528160608501511860608501528160808501511860808501528160e08501511860e085015281610100850151186101008501528161016085015118610160850152816101808501511861018085015261165e565b3385511885523360608501511860608501523360808501511860808501523360e08501511860e085015233610100850151186101008501523361016085015118610160850152336101808501511861018085015261165e565b3285511885523260608501511860608501523260808501511860808501523260e08501511860e08501523261010085015118610100850152326101608501511861016085015232610180850151186101808501525b5060c083015160008114611713576040517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815260808501516004820152600080602483600060608a01515af1503d6000823e805160a0860151111561170d577f6366b93600000000000000000000000000000000000000000000000000000000815260038760881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b50611822565b6040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600080600483600060608a01515af1503d6000823e6080850151865110600181146117bf57815160a087015111156117ba577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b61181f565b602082015160a0870151111561181e577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b50505b50610140830151600081146118da576040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526101008501516004820152600080602483600060e08a01515af1503d6000823e805161012086015111156118d4577f6366b93600000000000000000000000000000000000000000000000000000000815260038760881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b506119ef565b6040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600080600483600060e08a01515af1503d6000823e6101008501516080860151106001811461198b5781516101208701511115611986577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b6119ec565b602082015161012087015111156119eb577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b50505b506101c083015160008114611aa8576040517ff8b2cb4f000000000000000000000000000000000000000000000000000000008152610180850151600482015260008060248360006101608a01515af1503d6000823e80516101a08601511115611aa2577f6366b93600000000000000000000000000000000000000000000000000000000815260038760881c16600482015260008060248360006eb3f879cb30fe243b4dfee438691c045af150600080f35b50611bbf565b6040517f0902f1ac00000000000000000000000000000000000000000000000000000000815260008060048360006101608a01515af1503d6000823e6101808501516101008601511060018114611b5b5781516101a08701511115611b56577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b611bbc565b60208201516101a08701511115611bbb577f6366b93600000000000000000000000000000000000000000000000000000000825260038860881c16600483015260008060248460006eb3f879cb30fe243b4dfee438691c045af150600080f35b5b50505b50506040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600080602483600088515af1503d6000823e8051602085015160c085015160008114611cdc577f095ea7b30000000000000000000000000000000000000000000000000000000084526060860151600485015281602485015260008060448660008b515af1507f8201aa3f000000000000000000000000000000000000000000000000000000008452865160048501526020870151602485015260808601516044850152600060648501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608485015260008060a486600060608b01515af1503d6000853e83519150611e6f565b60405193507fa9059cbb0000000000000000000000000000000000000000000000000000000084526060860151600485015281602485015260008060448660008b515af1507f0902f1ac000000000000000000000000000000000000000000000000000000008452600080600486600060608b01515af1503d6000853e60208401518451608088015189511015611d795785519150602086015190505b7f70a082310000000000000000000000000000000000000000000000000000000086526060880151600487015260008060248860008d515af1503d6000873e6103e58287510302806103e88402018282020494507f022c0d9f00000000000000000000000000000000000000000000000000000000875260808901518a511060018114611e125785600489015260006024890152611e20565b600060048901528560248901525b5061014089015160008114611e3a57306044890152611e45565b60e08a015160448901525b506084606488015260006084880152600060a488015260008060c489600060608e01515af1505050505b5061014085015160008114611f4a577f095ea7b300000000000000000000000000000000000000000000000000000000845260e08601516004850152816024850152600080604486600060808b01515af1507f8201aa3f000000000000000000000000000000000000000000000000000000008452608086015160048501528160248501526101008601516044850152600060648501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608485015260008060a486600060e08b01515af1503d6000853e835191506120fa565b600060c08701511115611fa05760405193507fa9059cbb00000000000000000000000000000000000000000000000000000000845260e08601516004850152816024850152600080604486600060808b01515af1505b7f0902f1ac000000000000000000000000000000000000000000000000000000008452600080600486600060e08b01515af1503d6000853e6020840151845161010088015160808901511015611ffc5785519150602086015190505b7f70a0823100000000000000000000000000000000000000000000000000000000865260e08801516004870152600080602488600060808d01515af1503d6000873e6103e58287510302806103e88402018282020494507f022c0d9f00000000000000000000000000000000000000000000000000000000875261010089015160808a0151106001811461209c57856004890152600060248901526120aa565b600060048901528560248901525b506101c0890151600081146120c4573060448901526120d0565b6101608a015160448901525b506084606488015260006084880152600060a488015260008060c489600060e08e01515af1505050505b506101c0850151600081146121d0577f095ea7b3000000000000000000000000000000000000000000000000000000008452610160860151600485015281602485015260008060448660006101008b01515af1507f8201aa3f00000000000000000000000000000000000000000000000000000000845261010086015160048501528160248501526101808601516044850152600060648501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608485015260008060a48660006101608b01515af150612369565b600061014087015111156122295760405193507fa9059cbb000000000000000000000000000000000000000000000000000000008452610160860151600485015281602485015260008060448660006101008b01515af1505b7f0902f1ac00000000000000000000000000000000000000000000000000000000845260008060048660006101608b01515af1503d6000853e6020840151845161018088015161010089015110156122875785519150602086015190505b7f70a08231000000000000000000000000000000000000000000000000000000008652610160880151600487015260008060248860006101008d01515af1503d6000873e6103e58287510302806103e88402018282020494507f022c0d9f0000000000000000000000000000000000000000000000000000000087526101808901516101008a0151106001811461232a5785600489015260006024890152612338565b600060048901528560248901525b503060448801526084606488015260006084880152600060a488015260008060c48960006101608e01515af1505050505b507f70a0823100000000000000000000000000000000000000000000000000000000835230600484015260008060248560008a515af1503d6000843e8251828110156123b457600080fd5b7f6366b936000000000000000000000000000000000000000000000000000000008452600f8860801c16600485015260008060248660006eb3f879cb30fe243b4dfee438691c045af1508281039450505050509392505050565b7328137761720565c46722592220f60734bc40491f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561245c57600080fd5b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d8260405160240161249d9190613189565b604051602081830303815290604052907c0100000000000000000000000000000000000000000000000000000000026020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b8381101561252757808201518184015260208101905061250c565b50505050905090810190601f1680156125545780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050507328137761720565c46722592220f60734bc40491f73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156125db573d6000803e3d6000fd5b5050565b7328137761720565c46722592220f60734bc40491f73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141515612663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265a90613129565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b734a34d45cc0b9fb94e3957c9fef982c3cd020298173ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415801561270c575073191e7533e4134cea74c5c615c697a6cfb6b6a10f73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015612758575073095ed4bd940756aed7246664b50651c4dd0fc95c73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b80156127a457507376285eece2c7a5f6f225af6c50fed17b7fde503873ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b80156127f057507334927d8bebe7e83e479d8999c988b4f5c13bb7a973ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b801561283c5750736c0439f659abbd2c52a61fbf5be36f5ad43d08a473ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015612888575073f8b567789e0d5896e0a7f53d030720f42aae79f373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b80156128d4575073991e498d4285ea71641a18ff3f1a417a8964afe073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015612920575073fe5300b75907072410ab12f4026d10aeaa2a3dee73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b801561296c575073601ddd20198bd09aba0a24ff367d2efb739f8f2f73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b1561297657612a97565b816000819055506003811690506000811115612a96576eb3f879cb30fe243b4dfee438691c0473ffffffffffffffffffffffffffffffffffffffff16636366b936826040516024016129c89190613189565b604051602081830303815290604052907c0100000000000000000000000000000000000000000000000000000000026020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b83811015612a52578082015181840152602081019050612a37565b50505050905090810190601f168015612a7f5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050505b5b5050565b60007328137761720565c46722592220f60734bc40491f73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141515612b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1890613149565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16838360405180828051906020019080838360005b83811015612b67578082015181840152602081019050612b4c565b50505050905090810190601f168015612b945780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af1925050509050801515612bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be490613169565b60405180910390fd5b50505050565b6000612bff8235613273565b905092915050565b600082601f8301121515612c1a57600080fd5b6002612c2d612c28826131d1565b6131a4565b91508183856080840282011115612c4357600080fd5b60005b83811015612c735781612c598882612e1a565b845260208401935060808301925050600181019050612c46565b5050505092915050565b600082601f8301121515612c9057600080fd5b6003612ca3612c9e826131f3565b6131a4565b91508183856080840282011115612cb957600080fd5b60005b83811015612ce95781612ccf8882612e1a565b845260208401935060808301925050600181019050612cbc565b5050505092915050565b600082601f8301121515612d0657600080fd5b8135612d19612d1482613215565b6131a4565b91508181835260208401935060208101905083856080840282011115612d3e57600080fd5b60005b83811015612d6e5781612d548882612e1a565b845260208401935060808301925050600181019050612d41565b5050505092915050565b600082601f8301121515612d8b57600080fd5b8135612d9e612d998261323d565b6131a4565b91508082526020830160208301858383011115612dba57600080fd5b612dc583828461329d565b50505092915050565b600060408284031215612de057600080fd5b612dea60406131a4565b90506000612dfa84828501612bf3565b6000830152506020612e0e84828501612e8e565b60208301525092915050565b600060808284031215612e2c57600080fd5b612e3660806131a4565b90506000612e4684828501612bf3565b6000830152506020612e5a84828501612bf3565b6020830152506040612e6e84828501612e8e565b6040830152506060612e8284828501612e8e565b60608301525092915050565b6000612e9a8235613293565b905092915050565b600080600060608486031215612eb757600080fd5b6000612ec586828701612bf3565b9350506020612ed686828701612e8e565b925050604084013567ffffffffffffffff811115612ef357600080fd5b612eff86828701612d78565b9150509250925092565b600060208284031215612f1b57600080fd5b6000612f2984828501612e8e565b91505092915050565b60008060006101608486031215612f4857600080fd5b6000612f5686828701612e8e565b9350506020612f6786828701612dce565b9250506060612f7886828701612c07565b9150509250925092565b60008060006101e08486031215612f9857600080fd5b6000612fa686828701612e8e565b9350506020612fb786828701612dce565b9250506060612fc886828701612c7d565b9150509250925092565b600080600060808486031215612fe757600080fd5b6000612ff586828701612e8e565b935050602061300686828701612dce565b925050606084013567ffffffffffffffff81111561302357600080fd5b61302f86828701612cf3565b9150509250925092565b6000806040838503121561304c57600080fd5b600061305a85828601612e8e565b925050602061306b85828601612e8e565b9150509250929050565b6000600382527f34303300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600182527f6e000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600282527f65780000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61312381613269565b82525050565b6000602082019050818103600083015261314281613075565b9050919050565b60006020820190508181036000830152613162816130ac565b9050919050565b60006020820190508181036000830152613182816130e3565b9050919050565b600060208201905061319e600083018461311a565b92915050565b6000604051905081810181811067ffffffffffffffff821117156131c757600080fd5b8060405250919050565b600067ffffffffffffffff8211156131e857600080fd5b602082029050919050565b600067ffffffffffffffff82111561320a57600080fd5b602082029050919050565b600067ffffffffffffffff82111561322c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561325457600080fd5b601f19601f8301169050602081019050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b828183376000838301525050505600a265627a7a72305820444307f06afecbf5b4b792a477aad12252b486ffec3b76453c4c809fb709f4a16c6578706572696d656e74616cf50037