0x608060405234801561001057600080fd5b506040516135593803806135598339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a342811015610142576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806135256034913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281905550505061338a8061019b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b1461020c578063a0928c1114610240578063ae741d8d1461025e578063d1af0c7d14610268578063f2fde38b1461029c5761009e565b8063344e5e34146100a35780634956eaf0146100fb5780636cf8caf814610149578063715018a6146101be57806381e16298146101c8575b600080fd5b6100cf600480360360208110156100b957600080fd5b81019080803590602001909291905050506102e0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101476004803603604081101561011157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061031c565b005b61018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610624565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b6101c6610668565b005b61020a600480360360208110156101de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107e7565b005b610214610b2b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610248610b54565b6040518082815260200191505060405180910390f35b610266610b5a565b005b610270610c18565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102de600480360360208110156102b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c3e565b005b600381815481106102ed57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061323c602f913960400191505060405180910390fd5b30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040516104fa90610e4e565b808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050604051809103906000f080158015610570573d6000803e3d6000fd5b508160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508181600101819055506003839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610729576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600254421015610842576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806132ea6034913960400191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603781526020018061331e6037913960400191505060405180910390fd5b600081600101541115610b275760008160010154905060008260010181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b8101908080519060200190929190505050610a96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806132b0603a913960400191505060405180910390fd5b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c6b16ab826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610b0d57600080fd5b505af1158015610b21573d6000803e3d6000fd5b50505050505b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025481565b600060038054905011610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604581526020018061326b6045913960600191505060405180910390fd5b60005b600380549050811015610c1557610c0860038281548110610bd857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107e7565b8080600101915050610bbb565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610d0881610d0b565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806132166026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6123ba80610e5c8339019056fe608060405260006004556000600555624f1a0060065534801561002157600080fd5b506040516123ba3803806123ba8339818101604052606081101561004457600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050506001808190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050612276806101446000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c80637b0a47ee116100b8578063cd3daf9d1161007c578063cd3daf9d14610456578063d1af0c7d14610474578063df136d65146104a8578063e9fad8ee146104c6578063ebe2b12b146104d0578063ecd9ba82146104ee57610141565b80637b0a47ee1461037657806380faa57d146103945780638b876347146103b2578063a694fc3a1461040a578063c8f33c911461043857610141565b8063386a95251161010a578063386a9525146102605780633c6b16ab1461027e5780633d18b912146102ac5780633fc6df6e146102b657806370a08231146102ea57806372f702f31461034257610141565b80628cc262146101465780630700037d1461019e57806318160ddd146101f65780631c1f78eb146102145780632e1a7d4d14610232575b600080fd5b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610547565b6040518082815260200191505060405180910390f35b6101e0600480360360208110156101b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610665565b6040518082815260200191505060405180910390f35b6101fe61067d565b6040518082815260200191505060405180910390f35b61021c610687565b6040518082815260200191505060405180910390f35b61025e6004803603602081101561024857600080fd5b81019080803590602001909291905050506106a5565b005b6102686109d6565b6040518082815260200191505060405180910390f35b6102aa6004803603602081101561029457600080fd5b81019080803590602001909291905050506109dc565b005b6102b4610da2565b005b6102be611040565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611064565b6040518082815260200191505060405180910390f35b61034a6110ad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61037e6110d3565b6040518082815260200191505060405180910390f35b61039c6110d9565b6040518082815260200191505060405180910390f35b6103f4600480360360208110156103c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ec565b6040518082815260200191505060405180910390f35b6104366004803603602081101561042057600080fd5b8101908080359060200190929190505050611104565b005b610440611437565b6040518082815260200191505060405180910390f35b61045e61143d565b6040518082815260200191505060405180910390f35b61047c6114cb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b06114f1565b6040518082815260200191505060405180910390f35b6104ce6114f7565b005b6104d8611549565b6040518082815260200191505060405180910390f35b610545600480360360a081101561050457600080fd5b810190808035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061154f565b005b600061065e600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610650670de0b6b3a76400006106426105f4600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105e661143d565b61197290919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119bc90919063ffffffff16565b611a4290919063ffffffff16565b611a8c90919063ffffffff16565b9050919050565b600a6020528060005260406000206000915090505481565b6000600b54905090565b60006106a06006546005546119bc90919063ffffffff16565b905090565b6002600154141561071e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60026001819055503361072f61143d565b60088190555061073d6110d9565b600781905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461080a5761078081610547565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008211610880576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b61089582600b5461197290919063ffffffff16565b600b819055506108ed82600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197290919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061097d3383600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b149092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a2506001808190555050565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806121ed602a913960400191505060405180910390fd5b6000610a8a61143d565b600881905550610a986110d9565b600781905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b6557610adb81610547565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6004544210610b8e57610b8360065483611a4290919063ffffffff16565b600581905550610bf0565b6000610ba54260045461197290919063ffffffff16565b90506000610bbe600554836119bc90919063ffffffff16565b9050610be7600654610bd98387611a8c90919063ffffffff16565b611a4290919063ffffffff16565b60058190555050505b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d6020811015610ca557600080fd5b81019080805190602001909291905050509050610ccd60065482611a4290919063ffffffff16565b6005541115610d44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f50726f76696465642072657761726420746f6f2068696768000000000000000081525060200191505060405180910390fd5b42600781905550610d6060065442611a8c90919063ffffffff16565b6004819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d836040518082815260200191505060405180910390a1505050565b60026001541415610e1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260018190555033610e2c61143d565b600881905550610e3a6110d9565b600781905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f0757610e7d81610547565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611035576000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe63382600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b149092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b505060018081905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60006110e742600454611bb6565b905090565b60096020528060005260406000206000915090505481565b6002600154141561117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60026001819055503361118e61143d565b60088190555061119c6110d9565b600781905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611269576111df81610547565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600082116112df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b6112f482600b54611a8c90919063ffffffff16565b600b8190555061134c82600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8c90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113de333084600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611bcf909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040518082815260200191505060405180910390a2506001808190555050565b60075481565b600080600b5414156114535760085490506114c8565b6114c56114b4600b546114a6670de0b6b3a764000061149860055461148a60075461147c6110d9565b61197290919063ffffffff16565b6119bc90919063ffffffff16565b6119bc90919063ffffffff16565b611a4290919063ffffffff16565b600854611a8c90919063ffffffff16565b90505b90565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b61153f600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106a5565b611547610da2565b565b60045481565b600260015414156115c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600181905550336115d961143d565b6008819055506115e76110d9565b600781905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116b45761162a81610547565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600854600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000861161172a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b61173f86600b54611a8c90919063ffffffff16565b600b8190555061179786600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8c90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d505accf333089898989896040518863ffffffff1660e01b8152600401808873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018460ff168152602001838152602001828152602001975050505050505050600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b50505050611915333088600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611bcf909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d876040518082815260200191505060405180910390a250600180819055505050505050565b60006119b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c90565b905092915050565b6000808314156119cf5760009050611a3c565b60008284029050828482816119e057fe5b0414611a37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806121cc6021913960400191505060405180910390fd5b809150505b92915050565b6000611a8483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d50565b905092915050565b600080828401905083811015611b0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b611bb18363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611e16565b505050565b6000818310611bc55781611bc7565b825b905092915050565b611c8a846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611e16565b50505050565b6000838311158290611d3d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d02578082015181840152602081019050611ce7565b50505050905090810190601f168015611d2f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611dfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dc1578082015181840152602081019050611da6565b50505050905090810190601f168015611dee5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e0857fe5b049050809150509392505050565b6060611e78826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611f059092919063ffffffff16565b9050600081511115611f0057808060200190516020811015611e9957600080fd5b8101908080519060200190929190505050611eff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612217602a913960400191505060405180910390fd5b5b505050565b6060611f148484600085611f1d565b90509392505050565b606082471015611f78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806121a66026913960400191505060405180910390fd5b611f81856120c6565b611ff3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106120435780518252602082019150602081019050602083039250612020565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146120a5576040519150601f19603f3d011682016040523d82523d6000602084013e6120aa565b606091505b50915091506120ba8282866120d9565b92505050949350505050565b600080823b905060008111915050919050565b606083156120e95782905061219e565b6000835111156120fc5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612163578082015181840152602081019050612148565b50505050905090810190601f1680156121905780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220723af62d80cd6d7ba0450e772ce6f20a235b25bf74d6ce45c0389a664b76829864736f6c634300060c00334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735374616b696e6752657761726473466163746f72793a3a6465706c6f793a20616c7265616479206465706c6f7965645374616b696e6752657761726473466163746f72793a3a6e6f74696679526577617264416d6f756e74733a2063616c6c6564206265666f726520616e79206465706c6f79735374616b696e6752657761726473466163746f72793a3a6e6f74696679526577617264416d6f756e743a207472616e73666572206661696c65645374616b696e6752657761726473466163746f72793a3a6e6f74696679526577617264416d6f756e743a206e6f742072656164795374616b696e6752657761726473466163746f72793a3a6e6f74696679526577617264416d6f756e743a206e6f74206465706c6f796564a264697066735822122037da5b86631b719eaf09a738fc03afd6f3cae8efb8d6cc7d8ca2c9801c99ae8364736f6c634300060c00335374616b696e6752657761726473466163746f72793a3a636f6e7374727563746f723a2067656e6573697320746f6f20736f6f6e00000000000000000000000096c44b99289d2761b4e04dd358c5bda8c6d406e00000000000000000000000000000000000000000000000000000000000002710