6080604052601260065560006007906000191690556aa56fa5b99019a5c80000006009553480156200003057600080fd5b507f414b430000000000000000000000000000000000000000000000000000000000600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000819055505033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a280600581600019169055505033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001ab7f415254574f4f4b20436f696e0000000000000000000000000000000000000000620001b1640100000000026401000000009004565b6200048c565b620001f0336000357fffffffff00000000000000000000000000000000000000000000000000000000166200020a640100000000026401000000009004565b1515620001fc57600080fd5b806007816000191690555050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200024b576001905062000486565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620002ac576001905062000486565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200030e576000905062000486565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019350505050602060405180830381600087803b1580156200044657600080fd5b505af11580156200045b573d6000803e3d6000fd5b505050506040513d60208110156200047257600080fd5b810190808051906020019092919050505090505b92915050565b613448806200049c6000396000f3006080604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146102e157806307da68f514610314578063095ea7b31461032b57806313af40351461039057806318160ddd146103d357806323b872dd146103fe578063313ce56714610483578063355274ea146104ae5780633cebb823146104d957806340c10f191461051c57806342966c68146105695780634e2ab933146105965780635ac801fe146106a757806370a08231146106d857806375f12b211461072f5780637a9e5e4b1461075e5780638da5cb5b146107a157806395d89b41146107f85780639dc29fac1461082b578063a0712d6814610878578063a9059cbb146108a5578063ab67aa581461090a578063b753a98c146109d5578063bb35783b14610a22578063be45fd6214610a8f578063be9a655514610b3a578063bf7e214f14610b51578063cae9ca5114610ba8578063dd62ed3e14610c53578063df8de3e714610cca578063f2d5d56b14610d0d578063f6368f8a14610d5a578063f77c479114610e4b575b6101cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ea2565b156102da57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f48c305434336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303818588803b15801561028e57600080fd5b505af11580156102a2573d6000803e3d6000fd5b50505050506040513d60208110156102b957600080fd5b810190808051906020019092919050505015156102d557600080fd5b6102df565b600080fd5b005b3480156102ed57600080fd5b506102f6610ede565b60405180826000191660001916815260200191505060405180910390f35b34801561032057600080fd5b50610329610ee4565b005b34801561033757600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe7565b604051808215151515815260200191505060405180910390f35b34801561039c57600080fd5b506103d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116b565b005b3480156103df57600080fd5b506103e861124d565b6040518082815260200191505060405180910390f35b34801561040a57600080fd5b50610469600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611256565b604051808215151515815260200191505060405180910390f35b34801561048f57600080fd5b5061049861154c565b6040518082815260200191505060405180910390f35b3480156104ba57600080fd5b506104c3611552565b6040518082815260200191505060405180910390f35b3480156104e557600080fd5b5061051a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611558565b005b34801561052857600080fd5b50610567600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f8565b005b34801561057557600080fd5b50610594600480360381019080803590602001909291905050506116c7565b005b3480156105a257600080fd5b5061068d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506116d4565b604051808215151515815260200191505060405180910390f35b3480156106b357600080fd5b506106d66004803603810190808035600019169060200190929190505050611afe565b005b3480156106e457600080fd5b50610719600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b45565b6040518082815260200191505060405180910390f35b34801561073b57600080fd5b50610744611b8e565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba1565b005b3480156107ad57600080fd5b506107b6611c83565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080457600080fd5b5061080d611ca9565b60405180826000191660001916815260200191505060405180910390f35b34801561083757600080fd5b50610876600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611caf565b005b34801561088457600080fd5b506108a360048036038101908080359060200190929190505050611d62565b005b3480156108b157600080fd5b506108f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d6f565b604051808215151515815260200191505060405180910390f35b34801561091657600080fd5b506109bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611d84565b604051808215151515815260200191505060405180910390f35b3480156109e157600080fd5b50610a20600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612126565b005b348015610a2e57600080fd5b50610a8d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612136565b005b348015610a9b57600080fd5b50610b20600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612147565b604051808215151515815260200191505060405180910390f35b348015610b4657600080fd5b50610b4f61215e565b005b348015610b5d57600080fd5b50610b66612261565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bb457600080fd5b50610c39600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612287565b604051808215151515815260200191505060405180910390f35b348015610c5f57600080fd5b50610cb4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612405565b6040518082815260200191505060405180910390f35b348015610cd657600080fd5b50610d0b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061248c565b005b348015610d1957600080fd5b50610d58600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612802565b005b348015610d6657600080fd5b50610e31600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612812565b604051808215151515815260200191505060405180910390f35b348015610e5757600080fd5b50610e6061282b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060008373ffffffffffffffffffffffffffffffffffffffff161415610ecd5760009150610ed8565b823b90506000811191505b50919050565b60075481565b610f12336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b1515610f1d57600080fd5b60008060043591506024359050806000191682600019163373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19163460003660405180848152602001806020018281038252848482818152602001925080828437820191505094505050505060405180910390a46001600460146101000a81548160ff0219169083151502179055505050565b6000611014600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ea2565b1561115957600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da682aeb3385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561111257600080fd5b505af1158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b8101908080519060200190929190505050151561115857600080fd5b5b6111638383612aca565b905092915050565b611199336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b15156111a457600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008054905090565b6000611283600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ea2565b156113c857600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a3931498585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561138157600080fd5b505af1158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b810190808051906020019092919050505015156113c757600080fd5b5b6113d3848484612afa565b90508080156113e757506113e683610ea2565b5b15611545578273ffffffffffffffffffffffffffffffffffffffff1660405180807f746f6b656e46616c6c6261636b28616464726573732c75696e74323536290000815250601e01905060405180910390207c0100000000000000000000000000000000000000000000000000000000900485846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000875af1925050501515611544578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167ff36a4bd3b5c7bc32d5dd2cd0cb131eebef8437ad12227c07c4018a130f6ca2fb846040518082815260200191505060405180910390a35b5b9392505050565b60065481565b60095481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115b457600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611626336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b151561163157600080fd5b600460149054906101000a900460ff1615151561164d57600080fd5b60095461165c60005483612e84565b1115151561166957600080fd5b6116738282612ea0565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6116d13382611caf565b50565b600080611702600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ea2565b1561184757600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a3931498888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561180057600080fd5b505af1158015611814573d6000803e3d6000fd5b505050506040513d602081101561182a57600080fd5b8101908080519060200190929190505050151561184657600080fd5b5b611852878787612afa565b151561185d57600080fd5b61186686610ea2565b15611a1e573073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156118a457600080fd5b8590508073ffffffffffffffffffffffffffffffffffffffff166000846040518082805190602001908083835b6020831015156118f657805182526020820191506020810190506020830392506118d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207c01000000000000000000000000000000000000000000000000000000009004908988886040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828051906020019080838360005b838110156119d75780820151818401526020810190506119bc565b50505050905090810190601f168015611a045780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f9bfafdc2ae8835972d7b64ef3f8f307165ac22ceffde4a742c52da5487f45fd187876040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ab5578082015181840152602081019050611a9a565b50505050905090810190601f168015611ae25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3600191505095945050505050565b611b2c336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b1515611b3757600080fd5b806007816000191690555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460149054906101000a900460ff1681565b611bcf336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b1515611bda57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b611cdd336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b1515611ce857600080fd5b600460149054906101000a900460ff16151515611d0457600080fd5b611d0e8282612fe5565b60008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b611d6c33826115f8565b50565b6000611d7c338484611256565b905092915050565b600080611db2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ea2565b15611ef757600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a3931498787876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b505050506040513d6020811015611eda57600080fd5b81019080805190602001909291905050501515611ef657600080fd5b5b611f02868686612afa565b1515611f0d57600080fd5b611f1685610ea2565b15612047578490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a8786866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fe0578082015181840152602081019050611fc5565b50505050905090810190601f16801561200d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561202e57600080fd5b505af1158015612042573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f9bfafdc2ae8835972d7b64ef3f8f307165ac22ceffde4a742c52da5487f45fd186866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156120de5780820151818401526020810190506120c3565b50505050905090810190601f16801561210b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a36001915050949350505050565b612131338383611256565b505050565b612141838383611256565b50505050565b600061215533858585611d84565b90509392505050565b61218c336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b151561219757600080fd5b60008060043591506024359050806000191682600019163373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19163460003660405180848152602001806020018281038252848482818152602001925080828437820191505094505050505060405180910390a46000600460146101000a81548160ff0219169083151502179055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006122938484610fe7565b151561229e57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612393578082015181840152602081019050612378565b50505050905090810190601f1680156123c05780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156123e257600080fd5b505af11580156123f6573d6000803e3d6000fd5b50505050600190509392505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124eb57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff16141561258f57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015612589573d6000803e3d6000fd5b506127fd565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561262d57600080fd5b505af1158015612641573d6000803e3d6000fd5b505050506040513d602081101561265757600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561272f57600080fd5b505af1158015612743573d6000803e3d6000fd5b505050506040513d602081101561275957600080fd5b8101908080519060200190929190505050151561277557600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c836040518082815260200191505060405180910390a35b505050565b61280d823383611256565b505050565b600061282133868686866116d4565b9050949350505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128905760019050612ac4565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128ef5760019050612ac4565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561294f5760009050612ac4565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019350505050602060405180830381600087803b158015612a8657600080fd5b505af1158015612a9a573d6000803e3d6000fd5b505050506040513d6020811015612ab057600080fd5b810190808051906020019092919050505090505b92915050565b6000600460149054906101000a900460ff16151515612ae857600080fd5b612af2838361330e565b905092915050565b6000600460149054906101000a900460ff16151515612b1857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612bf057507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15612cfc57612c7b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613400565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612d45600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613400565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dd1600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612e84565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008282840191508110151515612e9a57600080fd5b92915050565b612ece336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b1515612ed957600080fd5b600460149054906101000a900460ff16151515612ef557600080fd5b612f3e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612e84565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f8d60005482612e84565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a25050565b613013336000357fffffffff0000000000000000000000000000000000000000000000000000000016612851565b151561301e57600080fd5b600460149054906101000a900460ff1615151561303a57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561311257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561321e5761319d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613400565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b613267600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613400565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132b660005482613400565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000828284039150811115151561341657600080fd5b929150505600a165627a7a7230582071b40ede2896085058cd17dc334079add85fd8b2e28283a942f85cef3e6174260029