6080604052604051806107e0016040528073ba764fc3aa1d03967edf9e6414b1796fdc089d5d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733b17fdd632ec7e099805b7cf049614bf9213504a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733296e4d79da09d1c6d5ab6920696ff6c3973124973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173148e2ed011a9eaaa200795f62889d68153eeacde73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001727880443b595eb375ab6b6566ad9a52630659ff73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a1a7d8140ff73875f6fe7417751a714d47d23d9873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ce6d4818913e01d58f331f265b9f2b6a9dbd4f1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001738c3e3ed2da1ffb6bd6fefcbc938fe22a390ea57973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739f5cf0b16d38f1aba27e68d3c0ce34c65c2e366373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ed7e2e0350bc29ce0d76d094db66c45951ae7f0673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017365b27ba7362ce3f241dafdfc03ef24d080e4141373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173b8b8ce5e3d0ad5c0169e130c64048b6d3cfcd34373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370f89d42849c47acb090366f8bd943c9471b338073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370f89d42849c47acb090366f8bd943c9471b338073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370f89d42849c47acb090366f8bd943c9471b338073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370f89d42849c47acb090366f8bd943c9471b338073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173bdc2c4e94666f65b08b7064bea09369ef68ec56073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a1a7d8140ff73875f6fe7417751a714d47d23d9873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a1a7d8140ff73875f6fe7417751a714d47d23d9873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173983299ccd28a9820c59568b5b4b95c46db99df9173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ce6d4818913e01d58f331f265b9f2b6a9dbd4f1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ce6d4818913e01d58f331f265b9f2b6a9dbd4f1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732d4eb91cddea03a2a55ccca343147eca764076e273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739f5544badf41b6f9aeb9b8aea60a4ef0735d9f6e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017357ca2feabc7ac8096065e7244fc74e4abd08900373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017335be279b2ef0004afcf4ce83c0b5beb605be72f173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017326ec99704a2c8617c28a9ece2081d6124f0fd8f573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017363ce8ff799248f03a51f032b6e79ea529a438bd673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001730c2269109573faee2f1f0bad05aae00d027d292f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173de5c0e4c290e444fcc507d621658a21e720ff0a073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ae8945f496fac93fafedee95fd9352af03a375fb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739f5544badf41b6f9aeb9b8aea60a4ef0735d9f6e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017357ca2feabc7ac8096065e7244fc74e4abd08900373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173f582ee696fa3a4bd164691b15fa233a41df2425d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017387c195822278053414f049103e8b21eb990c08d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001738c3e3ed2da1ffb6bd6fefcbc938fe22a390ea57973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732503342fa117e884e474880d29dfb312040d3bfe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017320ce5b0004ad1ef20ff40925a908ff7dc134531373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370a90c5a1d5fffbd6380fa546ec91368bf90d91273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017345090c26639a6c2e127a378eef4465f56e5249d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732d4eb91cddea03a2a55ccca343147eca764076e273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732f1ffbd30ea039165aea10a909742dd78fafa30573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017357ca2feabc7ac8096065e7244fc74e4abd08900373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001738c3e3ed2da1ffb6bd6fefcbc938fe22a390ea57973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017345090c26639a6c2e127a378eef4465f56e5249d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017326ec99704a2c8617c28a9ece2081d6124f0fd8f573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173da2ad46be426c0a73eae88200940c7b0b5bb517873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ad76080f5eb6c661e53d46acf12e448c72f207a873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739f5544badf41b6f9aeb9b8aea60a4ef0735d9f6e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370a90c5a1d5fffbd6380fa546ec91368bf90d91273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733a3dfcbee87330f52bd03c3a6d35cff94996778773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ae3ae678b601cac3e0d71bc4615743300a0da20073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017326ec99704a2c8617c28a9ece2081d6124f0fd8f573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017357ca2feabc7ac8096065e7244fc74e4abd08900373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739f5544badf41b6f9aeb9b8aea60a4ef0735d9f6e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017358e956d5c69e286d4f162919a7817b8e0126023873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017370a90c5a1d5fffbd6380fa546ec91368bf90d91273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001737b8691a5add303acf49e9ff51134d501c7d012f273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017345090c26639a6c2e127a378eef4465f56e5249d073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017345e677682ed3f199983f6a36ed0eeb88346920ae73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ce6d4818913e01d58f331f265b9f2b6a9dbd4f1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739d80eccf791f447c174abe4f32f28ea66947a4b773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173692997405c1cebbc56ff3416fa0b59ab97fac69673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600790603f6200115992919062001c48565b50604051806103e0016040528073b0c8785afb3ec0d859977bbfd23f1d7838e42a0c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173edae2bc62212bacff88903a5f1bd6928a1f8ccea73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017373f4a3246ecdf8ad730c0b2aa1edfc487ec655a673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173055580e7b88225dae30dc1305ad03aba4368644973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001736490cf86e43b1d855fbd7f397e9c63f43db40ea273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001738908e0318fa424370ac9511e0ac04a846b484d6773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200172ec42ea56025852554a47e6fb668c21e05a0ba373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173db0df63435a64132ddf7c626011cb3bb370150cb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017397527b1e9e410aa8cef7e226052cb0e8f8f495df73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173c714906d1c65975d312e07389c397ebe42fc16cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173f273658ee07a596db1ede0a32cb845fca773200f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017304416134d4b76ada7ea499939864ea8229364a1473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173fba4f418956c83e27b1b09be2a773ff37d14551073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173b97abede81dde687a46d5049173630654463cc2d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017341e67c2fdc99f81cca7ab20676a711179b9a85cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739b7ae2deff1d8c1d823b7386104129fdf11fd51a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173df85b9146d73a852d7b900d1abd974f2a8119f5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733dea289c890584e0d4abac2a82aa3d19537c250473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173575b3cc11aeb579fd3b01c1c497cda5c9c41fd3c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001734efb7d069fecef643f8bdcf643af9c378902141573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739bfa3b1f43f31772f9aee7d87c4eaf2fd35a92a173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ca3712e3f4afc2bcdf13cda7a79067381007032373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017319989297b5641de9ceac8a0ca63ac384cf3a633d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173cf09d750d1ee4b9e7b124258e39d3ab08d24747573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731b49e64a15583657b783ac20cc49d532bebf37e273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173f191539a2c4ba0af951438bb6abfa0625c7df2ef73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173c4e6201c9b7105719bb110ab39984f5ad95d84f973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173e9bfd280b873fc8c9551b8315abe61134c891f3973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173330bce303d27df0eb1b856da3464278db1db1ac573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173bb5d3fc1e82dcad48d07adac292a08d765fd1eff73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173b2091987317a8a1f014aad19bb23726ee9c21c4373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600890601f620019ef92919062001cd7565b507364d91f12ece7362f91a6f8e7940cd55f05060b92600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b3edaf731bc99e5eb9e4cf5e268b85c1cbf9b769600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067d02ab486cedc0000600c5534801562001ab357600080fd5b506040518060400160405280600981526020017f477561726469616e7300000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f47444e0000000000000000000000000000000000000000000000000000000000815250816000908051906020019062001b3892919062001d66565b50806001908051906020019062001b5192919062001d66565b50505062001b7462001b6862001b7a60201b60201c565b62001b8260201b60201c565b62001e7b565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b82805482825590600052602060002090810192821562001cc4579160200282015b8281111562001cc35782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062001c69565b5b50905062001cd3919062001df7565b5090565b82805482825590600052602060002090810192821562001d53579160200282015b8281111562001d525782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062001cf8565b5b50905062001d62919062001df7565b5090565b82805462001d749062001e16565b90600052602060002090601f01602090048101928262001d98576000855562001de4565b82601f1062001db357805160ff191683800117855562001de4565b8280016001018555821562001de4579182015b8281111562001de357825182559160200191906001019062001dc6565b5b50905062001df3919062001df7565b5090565b5b8082111562001e1257600081600090555060010162001df8565b5090565b6000600282049050600182168062001e2f57607f821691505b6020821081141562001e465762001e4562001e4c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6144568062001e8b6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063dfbd0ae011610097578063e985e9c511610071578063e985e9c5146103fe578063e9f6ac371461042e578063ec0dd8b71461045e578063f2fde38b1461048e57610173565b8063dfbd0ae0146103ce578063e39c2092146103ea578063e88d3b3e146103f457610173565b80638da5cb5b146102fa57806395d89b4114610318578063a22cb46514610336578063b88d4fde14610352578063c87b56dd1461036e578063d732dd201461039e57610173565b80632493809611610130578063249380961461024c57806342842e0e146102565780636352211e1461027257806368d99f7c146102a257806370a08231146102c0578063715018a6146102f057610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f65780631e84c4131461021257806323b872dd14610230575b600080fd5b610192600480360381019061018d91906128b1565b6104aa565b60405161019f91906131ae565b60405180910390f35b6101b061058c565b6040516101bd91906131c9565b60405180910390f35b6101e060048036038101906101db919061290b565b61061e565b6040516101ed9190613110565b60405180910390f35b610210600480360381019061020b9190612844565b6106a3565b005b61021a6107bb565b60405161022791906131ae565b60405180910390f35b61024a6004803603810190610245919061272e565b6107f2565b005b610254610852565b005b610270600480360381019061026b919061272e565b6108b5565b005b61028c6004803603810190610287919061290b565b6108d5565b6040516102999190613110565b60405180910390f35b6102aa610987565b6040516102b791906131ae565b60405180910390f35b6102da60048036038101906102d591906126c1565b6109ab565b6040516102e791906134eb565b60405180910390f35b6102f8610a63565b005b610302610aeb565b60405161030f9190613110565b60405180910390f35b610320610b15565b60405161032d91906131c9565b60405180910390f35b610350600480360381019061034b9190612804565b610ba7565b005b61036c60048036038101906103679190612781565b610bbd565b005b6103886004803603810190610383919061290b565b610c1f565b60405161039591906131c9565b60405180910390f35b6103b860048036038101906103b391906126c1565b610e29565b6040516103c591906134eb565b60405180910390f35b6103e860048036038101906103e3919061290b565b610eda565b005b6103f26111c0565b005b6103fc61144f565b005b610418600480360381019061041391906126ee565b61160b565b60405161042591906131ae565b60405180910390f35b610448600480360381019061044391906126c1565b61169f565b60405161045591906134eb565b60405180910390f35b610478600480360381019061047391906126c1565b611750565b60405161048591906134eb565b60405180910390f35b6104a860048036038101906104a391906126c1565b611799565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610585575061058482611891565b5b9050919050565b60606000805461059b9061376a565b80601f01602080910402602001604051908101604052809291908181526020018280546105c79061376a565b80156106145780601f106105e957610100808354040283529160200191610614565b820191906000526020600020905b8154815290600101906020018083116105f757829003601f168201915b5050505050905090565b6000610629826118fb565b610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065f9061340b565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106ae826108d5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107169061344b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661073e611967565b73ffffffffffffffffffffffffffffffffffffffff16148061076d575061076c81610767611967565b61160b565b5b6107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a39061334b565b60405180910390fd5b6107b6838361196f565b505050565b600080600d5414806107dc575062015180600d546107d9919061359f565b42105b156107ea57600090506107ef565b600190505b90565b6108036107fd611967565b82611a28565b610842576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108399061348b565b60405180910390fd5b61084d838383611b06565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108ac57600080fd5b42600d81905550565b6108d083838360405180602001604052806000815250610bbd565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561097e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109759061338b565b60405180910390fd5b80915050919050565b600060646109956009611d6d565b106109a357600190506109a8565b600090505b90565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139061336b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a6b611967565b73ffffffffffffffffffffffffffffffffffffffff16610a89610aeb565b73ffffffffffffffffffffffffffffffffffffffff1614610adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad69061342b565b60405180910390fd5b610ae96000611d7b565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610b249061376a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b509061376a565b8015610b9d5780601f10610b7257610100808354040283529160200191610b9d565b820191906000526020600020905b815481529060010190602001808311610b8057829003601f168201915b5050505050905090565b610bb9610bb2611967565b8383611e41565b5050565b610bce610bc8611967565b83611a28565b610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c049061348b565b60405180910390fd5b610c1984848484611fae565b50505050565b60606000670de0b6b3a7640000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231610c73866108d5565b6040518263ffffffff1660e01b8152600401610c8f9190613110565b60206040518083038186803b158015610ca757600080fd5b505afa158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdf9190612938565b610ce991906135f5565b9050600060648211610cfe5760019050610d71565b606482118015610d0f575060c88211155b15610d1d5760029050610d70565b60c882118015610d2f575061012c8211155b15610d3d5760039050610d6f565b61012c82118015610d5057506101908211155b15610d5e5760049050610d6e565b610190821115610d6d57600590505b5b5b5b5b6000610d7c8261200a565b604051602001610d8c9190612ffe565b60405160208183030381529060405290506000610da88361200a565b604051602001610db89190612fd1565b6040516020818303038152906040529050600082838384610dd88861200a565b604051602001610dec95949392919061302b565b604051602081830303815290604052905080604051602001610e0e9190612faf565b60405160208183030381529060405295505050505050919050565b60008060005b600880549050811015610ed0578373ffffffffffffffffffffffffffffffffffffffff1660088281548110610e6757610e666138d4565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ebd578180610eb9906137cd565b9250505b8080610ec8906137cd565b915050610e2f565b5080915050919050565b6000600d5414158015610efd575062015180600d54610ef9919061359f565b4211155b610f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f33906131eb565b60405180910390fd5b6000610f4733610e29565b11610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e906133eb565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c5485610ff79190613626565b6040518463ffffffff1660e01b81526004016110159392919061312b565b602060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190612884565b6110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d906134cb565b60405180910390fd5b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110ef33610e29565b6110f99190613680565b81116111825780600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461114e919061359f565b9250508190555060005b8181101561117c576111693361216b565b8080611174906137cd565b915050611158565b506111bd565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b4906133ab565b60405180910390fd5b50565b60646111cc6009611d6d565b1061120c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112039061328b565b60405180910390fd5b6112146107bb565b611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906131eb565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c546040518463ffffffff1660e01b81526004016112d69392919061312b565b602060405180830381600087803b1580156112f057600080fd5b505af1158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190612884565b611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135e906134cb565b60405180910390fd5b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561141257600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906113ff906137cd565b919050555061140d3361216b565b61144d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611444906132cb565b60405180910390fd5b565b6000600d5414158015611472575062015180600d5461146e919061359f565b4211155b6114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a89061322b565b60405180910390fd5b60006114bc3361169f565b116114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f3906134ab565b60405180910390fd5b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156115ce57600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611594906137cd565b919050555060005b6115a53361169f565b8110156115c8576115b53361216b565b80806115c0906137cd565b91505061159c565b50611609565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116009061346b565b60405180910390fd5b565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008060005b600780549050811015611746578373ffffffffffffffffffffffffffffffffffffffff16600782815481106116dd576116dc6138d4565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561173357818061172f906137cd565b9250505b808061173e906137cd565b9150506116a5565b5080915050919050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117a1611967565b73ffffffffffffffffffffffffffffffffffffffff166117bf610aeb565b73ffffffffffffffffffffffffffffffffffffffff1614611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c9061342b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187c9061324b565b60405180910390fd5b61188e81611d7b565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166119e2836108d5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611a33826118fb565b611a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a699061332b565b60405180910390fd5b6000611a7d836108d5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611aec57508373ffffffffffffffffffffffffffffffffffffffff16611ad48461061e565b73ffffffffffffffffffffffffffffffffffffffff16145b80611afd5750611afc818561160b565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b26826108d5565b73ffffffffffffffffffffffffffffffffffffffff1614611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b739061326b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be3906132eb565b60405180910390fd5b611bf7838383612191565b611c0260008261196f565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c529190613680565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ca9919061359f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d68838383612196565b505050565b600081600001549050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea79061330b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611fa191906131ae565b60405180910390a3505050565b611fb9848484611b06565b611fc58484848461219b565b612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb9061320b565b60405180910390fd5b50505050565b60606000821415612052576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612166565b600082905060005b6000821461208457808061206d906137cd565b915050600a8261207d91906135f5565b915061205a565b60008167ffffffffffffffff8111156120a05761209f613903565b5b6040519080825280601f01601f1916602001820160405280156120d25781602001600182028036833780820191505090505b5090505b6000851461215f576001826120eb9190613680565b9150600a856120fa9190613816565b6030612106919061359f565b60f81b81838151811061211c5761211b6138d4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561215891906135f5565b94506120d6565b8093505050505b919050565b60006121776009611d6d565b90506121836009612332565b61218d8282612348565b5050565b505050565b505050565b60006121bc8473ffffffffffffffffffffffffffffffffffffffff16612366565b15612325578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026121e5611967565b8786866040518563ffffffff1660e01b81526004016122079493929190613162565b602060405180830381600087803b15801561222157600080fd5b505af192505050801561225257506040513d601f19601f8201168201806040525081019061224f91906128de565b60015b6122d5573d8060008114612282576040519150601f19603f3d011682016040523d82523d6000602084013e612287565b606091505b506000815114156122cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c49061320b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061232a565b600190505b949350505050565b6001816000016000828254019250508190555050565b612362828260405180602001604052806000815250612389565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b61239383836123e4565b6123a0600084848461219b565b6123df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d69061320b565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244b906133cb565b60405180910390fd5b61245d816118fb565b1561249d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612494906132ab565b60405180910390fd5b6124a960008383612191565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124f9919061359f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46125ba60008383612196565b5050565b60006125d16125cc8461352b565b613506565b9050828152602081018484840111156125ed576125ec613937565b5b6125f8848285613728565b509392505050565b60008135905061260f816143c4565b92915050565b600081359050612624816143db565b92915050565b600081519050612639816143db565b92915050565b60008135905061264e816143f2565b92915050565b600081519050612663816143f2565b92915050565b600082601f83011261267e5761267d613932565b5b813561268e8482602086016125be565b91505092915050565b6000813590506126a681614409565b92915050565b6000815190506126bb81614409565b92915050565b6000602082840312156126d7576126d6613941565b5b60006126e584828501612600565b91505092915050565b6000806040838503121561270557612704613941565b5b600061271385828601612600565b925050602061272485828601612600565b9150509250929050565b60008060006060848603121561274757612746613941565b5b600061275586828701612600565b935050602061276686828701612600565b925050604061277786828701612697565b9150509250925092565b6000806000806080858703121561279b5761279a613941565b5b60006127a987828801612600565b94505060206127ba87828801612600565b93505060406127cb87828801612697565b925050606085013567ffffffffffffffff8111156127ec576127eb61393c565b5b6127f887828801612669565b91505092959194509250565b6000806040838503121561281b5761281a613941565b5b600061282985828601612600565b925050602061283a85828601612615565b9150509250929050565b6000806040838503121561285b5761285a613941565b5b600061286985828601612600565b925050602061287a85828601612697565b9150509250929050565b60006020828403121561289a57612899613941565b5b60006128a88482850161262a565b91505092915050565b6000602082840312156128c7576128c6613941565b5b60006128d58482850161263f565b91505092915050565b6000602082840312156128f4576128f3613941565b5b600061290284828501612654565b91505092915050565b60006020828403121561292157612920613941565b5b600061292f84828501612697565b91505092915050565b60006020828403121561294e5761294d613941565b5b600061295c848285016126ac565b91505092915050565b61296e816136b4565b82525050565b61297d816136c6565b82525050565b600061298e8261355c565b6129988185613572565b93506129a8818560208601613737565b6129b181613946565b840191505092915050565b60006129c782613567565b6129d18185613583565b93506129e1818560208601613737565b6129ea81613946565b840191505092915050565b6000612a0082613567565b612a0a8185613594565b9350612a1a818560208601613737565b80840191505092915050565b6000612a33600e83613594565b9150612a3e82613957565b600e82019050919050565b6000612a56601983613583565b9150612a6182613980565b602082019050919050565b6000612a79600483613594565b9150612a84826139a9565b600482019050919050565b6000612a9c603283613583565b9150612aa7826139d2565b604082019050919050565b6000612abf601f83613583565b9150612aca82613a21565b602082019050919050565b6000612ae2602683613583565b9150612aed82613a4a565b604082019050919050565b6000612b05600283613594565b9150612b1082613a99565b600282019050919050565b6000612b28602583613583565b9150612b3382613ac2565b604082019050919050565b6000612b4b601183613583565b9150612b5682613b11565b602082019050919050565b6000612b6e601c83613583565b9150612b7982613b3a565b602082019050919050565b6000612b91602383613583565b9150612b9c82613b63565b604082019050919050565b6000612bb4602483613583565b9150612bbf82613bb2565b604082019050919050565b6000612bd7601983613583565b9150612be282613c01565b602082019050919050565b6000612bfb61015283613594565b9150612c0682613c2a565b61015282019050919050565b6000612c1f602383613594565b9150612c2a82613dd2565b602382019050919050565b6000612c42602c83613583565b9150612c4d82613e21565b604082019050919050565b6000612c65603883613583565b9150612c7082613e70565b604082019050919050565b6000612c88602a83613583565b9150612c9382613ebf565b604082019050919050565b6000612cab602983613583565b9150612cb682613f0e565b604082019050919050565b6000612cce601e83613583565b9150612cd982613f5d565b602082019050919050565b6000612cf1600283613594565b9150612cfc82613f86565b600282019050919050565b6000612d14602083613583565b9150612d1f82613faf565b602082019050919050565b6000612d37601783613583565b9150612d4282613fd8565b602082019050919050565b6000612d5a602c83613583565b9150612d6582614001565b604082019050919050565b6000612d7d601b83613594565b9150612d8882614050565b601b82019050919050565b6000612da0601983613594565b9150612dab82614079565b601982019050919050565b6000612dc3602083613583565b9150612dce826140a2565b602082019050919050565b6000612de6605183613594565b9150612df1826140cb565b605182019050919050565b6000612e09600283613594565b9150612e1482614140565b600282019050919050565b6000612e2c602183613583565b9150612e3782614169565b604082019050919050565b6000612e4f602483613583565b9150612e5a826141b8565b604082019050919050565b6000612e72601283613594565b9150612e7d82614207565b601282019050919050565b6000612e95601083613594565b9150612ea082614230565b601082019050919050565b6000612eb8603183613583565b9150612ec382614259565b604082019050919050565b6000612edb602383613583565b9150612ee6826142a8565b604082019050919050565b6000612efe600a83613594565b9150612f09826142f7565b600a82019050919050565b6000612f21600483613594565b9150612f2c82614320565b600482019050919050565b6000612f44601583613594565b9150612f4f82614349565b601582019050919050565b6000612f67601483613583565b9150612f7282614372565b602082019050919050565b6000612f8a600e83613594565b9150612f958261439b565b600e82019050919050565b612fa98161371e565b82525050565b6000612fba82612d70565b9150612fc682846129f5565b915081905092915050565b6000612fdc82612dd9565b9150612fe882846129f5565b9150612ff382612a6c565b915081905092915050565b600061300982612dd9565b915061301582846129f5565b915061302082612f14565b915081905092915050565b600061303682612f37565b915061304182612bed565b915061304c82612d93565b915061305782612ef1565b915061306382886129f5565b915061306e82612e88565b915061307a82876129f5565b915061308582612af8565b915061309082612a26565b915061309c82866129f5565b91506130a782612af8565b91506130b282612e65565b91506130be82856129f5565b91506130c982612af8565b91506130d482612f7d565b91506130df82612c12565b91506130eb82846129f5565b91506130f682612ce4565b915061310182612dfc565b91508190509695505050505050565b60006020820190506131256000830184612965565b92915050565b60006060820190506131406000830186612965565b61314d6020830185612965565b61315a6040830184612fa0565b949350505050565b60006080820190506131776000830187612965565b6131846020830186612965565b6131916040830185612fa0565b81810360608301526131a38184612983565b905095945050505050565b60006020820190506131c36000830184612974565b92915050565b600060208201905081810360008301526131e381846129bc565b905092915050565b6000602082019050818103600083015261320481612a49565b9050919050565b6000602082019050818103600083015261322481612a8f565b9050919050565b6000602082019050818103600083015261324481612ab2565b9050919050565b6000602082019050818103600083015261326481612ad5565b9050919050565b6000602082019050818103600083015261328481612b1b565b9050919050565b600060208201905081810360008301526132a481612b3e565b9050919050565b600060208201905081810360008301526132c481612b61565b9050919050565b600060208201905081810360008301526132e481612b84565b9050919050565b6000602082019050818103600083015261330481612ba7565b9050919050565b6000602082019050818103600083015261332481612bca565b9050919050565b6000602082019050818103600083015261334481612c35565b9050919050565b6000602082019050818103600083015261336481612c58565b9050919050565b6000602082019050818103600083015261338481612c7b565b9050919050565b600060208201905081810360008301526133a481612c9e565b9050919050565b600060208201905081810360008301526133c481612cc1565b9050919050565b600060208201905081810360008301526133e481612d07565b9050919050565b6000602082019050818103600083015261340481612d2a565b9050919050565b6000602082019050818103600083015261342481612d4d565b9050919050565b6000602082019050818103600083015261344481612db6565b9050919050565b6000602082019050818103600083015261346481612e1f565b9050919050565b6000602082019050818103600083015261348481612e42565b9050919050565b600060208201905081810360008301526134a481612eab565b9050919050565b600060208201905081810360008301526134c481612ece565b9050919050565b600060208201905081810360008301526134e481612f5a565b9050919050565b60006020820190506135006000830184612fa0565b92915050565b6000613510613521565b905061351c828261379c565b919050565b6000604051905090565b600067ffffffffffffffff82111561354657613545613903565b5b61354f82613946565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006135aa8261371e565b91506135b58361371e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135ea576135e9613847565b5b828201905092915050565b60006136008261371e565b915061360b8361371e565b92508261361b5761361a613876565b5b828204905092915050565b60006136318261371e565b915061363c8361371e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561367557613674613847565b5b828202905092915050565b600061368b8261371e565b91506136968361371e565b9250828210156136a9576136a8613847565b5b828203905092915050565b60006136bf826136fe565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561375557808201518184015260208101905061373a565b83811115613764576000848401525b50505050565b6000600282049050600182168061378257607f821691505b60208210811415613796576137956138a5565b5b50919050565b6137a582613946565b810181811067ffffffffffffffff821117156137c4576137c3613903565b5b80604052505050565b60006137d88261371e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561380b5761380a613847565b5b600182019050919050565b60006138218261371e565b915061382c8361371e565b92508261383c5761383b613876565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f22616e696d6174696f6e223a2022000000000000000000000000000000000000600082015250565b7f53616c65206973206e6f7420617661696c61626c65206e6f7700000000000000600082015250565b7f2e6d703400000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4672656520636c61696d206973206e6f7420617661696c61626c65206e6f7700600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f416c6c20746f6b656e73206d696e746564000000000000000000000000000000600082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4d6178696d756d206f66203120746f6b656e2063616e2062652070757263686160008201527f7365640000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f226465736372697074696f6e223a202241207472696275746520746f2074686560008201527f2041534820636f6d6d756e6974792c202074686520477561726469616e73206160208201527f72652073756d6d6f6e65642062792074686520466c6f776572206f66204c696660408201527f6520746f2070726f7465637420796f7572207472656173757265732e2020446960608201527f73636f7665722074686520646966666572656e74207374616765732c206c657460808201527f2074686520736f6c66656767696f206672657175656e6379206865616c20796f60a08201527f752c20616e642077617463682074686520477561726469616e7320646566656e60c08201527f6420796f757220636f6c6c656374696f6e2e5c6e5c6e2a417320796f7572207760e08201527f616c6c6574206368616e676573204153482076616c75652c20726566726573686101008201527f696e6720746865206d657461646174612077696c6c20657870726573732074686101208201527f652063757272656e742073746167652e222c000000000000000000000000000061014082015250565b7f7b2274726169745f74797065223a22477561726469616e73222c2276616c756560008201527f223a220000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f547279696e6720746f206d696e7420746f6f206d616e7920746f6b656e730000600082015250565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f596f7520617265206e6f742077686974656c6973746564000000000000000000600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c0000000000600082015250565b7f22637265617465645f6279223a20224368696e666f6e67222c00000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f68747470733a2f2f676174657761792e70696e6174612e636c6f75642f69706660008201527f732f516d576e7436394a35447a456d717535684556726379436d373370336a6560208201527f366939555a45625942444745466b68772f000000000000000000000000000000604082015250565b7f5d7d000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75206861766520616c726561647920636c61696d656420796f757220746f60008201527f6b656e7300000000000000000000000000000000000000000000000000000000602082015250565b7f22616e696d6174696f6e5f75726c223a20220000000000000000000000000000600082015250565b7f222c22696d6167655f75726c223a202200000000000000000000000000000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f596f7520617265206e6f7420656c696769626c6520666f72206672656520636c60008201527f61696d0000000000000000000000000000000000000000000000000000000000602082015250565b7f22696d616765223a202200000000000000000000000000000000000000000000600082015250565b7f2e6a706700000000000000000000000000000000000000000000000000000000600082015250565b7f7b226e616d65223a2022477561726469616e73222c0000000000000000000000600082015250565b7f24415348207472616e73666572206661696c6564000000000000000000000000600082015250565b7f2261747472696275746573223a5b000000000000000000000000000000000000600082015250565b6143cd816136b4565b81146143d857600080fd5b50565b6143e4816136c6565b81146143ef57600080fd5b50565b6143fb816136d2565b811461440657600080fd5b50565b6144128161371e565b811461441d57600080fd5b5056fea2646970667358221220298fa3300a85cdb044006f62a965642aed61b5983de73f745771a3733656534a64736f6c63430008070033