60606040526040805190810160405280600981526020017f53617665546f6b656e0000000000000000000000000000000000000000000000815250600290805190602001906200005192919062000221565b506040805190810160405280600481526020017f5341564500000000000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000221565b506012600455600060065560006008556000600955600454600a0a6314dc938002600a55611770600b556000600c55600a600d556000600e55600454600a0a6303473bc002600f5560056010556000601155600454600a0a63032116200260125560046013556000601455600454600a0a63031975000260155560036016556000601755600454600a0a630311d3e00260185560006019556000601a55600454600a0a6302faf08002601b55635a8f5980601c55635ab59500601d55635adbd080601e55635ae7ae00601f55635af23a00602055635afe1780602155635b08a3806022556001602355600060245534156200019957600080fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002d0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026457805160ff191683800117855562000295565b8280016001018555821562000295579182015b828111156200029457825182559160200191906001019062000277565b5b509050620002a49190620002a8565b5090565b620002cd91905b80821115620002c9576000816000905550600101620002af565b5090565b90565b612e2f80620002e06000396000f3006060604052600436106102bf576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063049cc8b1146102c957806306fdde03146102f2578063088b513e14610380578063095ea7b3146103bb5780630dd5e582146104155780630ec5c49a1461048e57806318160ddd146104b45780631d5e3350146104dd5780631e9bf0da1461050057806320e5737114610529578063229f3e291461057e578063230c96b9146105a757806323b872dd146105d5578063313ce5671461064e57806335085b581461067757806335ebbfd1146106a05780633f33252d146106c957806344daf94a146106ec578063506a6a101461071557806352a9cd2d1461073e57806352b860eb146107775780635545f584146107a05780635a9c84f3146107c95780635fe0e081146107f257806365926a201461081e578063676fc32b146108415780636bd7eeeb1461086a5780636d97c6651461089357806370a08231146108bc578063773ef1cf14610909578063789770f4146109325780637ad005891461095b578063833ea3061461099a5780638356a5b5146109c3578063869e0e60146109ec5780638da5cb5b14610a46578063929aa85114610a9b5780639423719b14610ac4578063952d6c2214610aed57806395d89b4114610b16578063975e001a14610ba4578063981b69b714610bcd578063a9059cbb14610bf6578063ad3e0ed214610c50578063b071cbe614610c87578063b1a11c9214610cb0578063b8d2f52314610cd9578063bbc0ebbf14610d02578063bc019eed14610d2b578063c71c890a14610d78578063d81111ab14610da1578063da44e03414610dab578063dd62ed3e14610dd4578063de8801e514610e40578063f03aa26214610e69578063f0dda65c14610e92578063f2fde38b14610ed4578063f7abab9e14610f0d578063fba4734f14610f36575b6102c7610f59565b005b34156102d457600080fd5b6102dc6115e9565b6040518082815260200191505060405180910390f35b34156102fd57600080fd5b6103056115ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034557808201518184015260208101905061032a565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561038b57600080fd5b6103a560048080356000191690602001909190505061168d565b6040518082815260200191505060405180910390f35b34156103c657600080fd5b6103fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116fb565b604051808215151515815260200191505060405180910390f35b341561042057600080fd5b610474600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611884565b604051808215151515815260200191505060405180910390f35b341561049957600080fd5b6104b2600480803560ff16906020019091905050611aa3565b005b34156104bf57600080fd5b6104c7611b1a565b6040518082815260200191505060405180910390f35b34156104e857600080fd5b6104fe6004808035906020019091905050611b24565b005b341561050b57600080fd5b610513611d10565b6040518082815260200191505060405180910390f35b341561053457600080fd5b61053c611d16565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058957600080fd5b610591611d3c565b6040518082815260200191505060405180910390f35b6105d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d42565b005b34156105e057600080fd5b610634600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611de6565b604051808215151515815260200191505060405180910390f35b341561065957600080fd5b6106616120ad565b6040518082815260200191505060405180910390f35b341561068257600080fd5b61068a6120b3565b6040518082815260200191505060405180910390f35b34156106ab57600080fd5b6106b36120b9565b6040518082815260200191505060405180910390f35b34156106d457600080fd5b6106ea60048080359060200190919050506120bf565b005b34156106f757600080fd5b6106ff612130565b6040518082815260200191505060405180910390f35b341561072057600080fd5b61072861214f565b6040518082815260200191505060405180910390f35b341561074957600080fd5b610775600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612155565b005b341561078257600080fd5b61078a6121f5565b6040518082815260200191505060405180910390f35b34156107ab57600080fd5b6107b36121fb565b6040518082815260200191505060405180910390f35b34156107d457600080fd5b6107dc612201565b6040518082815260200191505060405180910390f35b34156107fd57600080fd5b61081c6004808035906020019091908035906020019091905050612207565b005b341561082957600080fd5b61083f60048080359060200190919050506122fc565b005b341561084c57600080fd5b610854612372565b6040518082815260200191505060405180910390f35b341561087557600080fd5b61087d612378565b6040518082815260200191505060405180910390f35b341561089e57600080fd5b6108a661237e565b6040518082815260200191505060405180910390f35b34156108c757600080fd5b6108f3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612384565b6040518082815260200191505060405180910390f35b341561091457600080fd5b61091c6123cd565b6040518082815260200191505060405180910390f35b341561093d57600080fd5b6109456123d3565b6040518082815260200191505060405180910390f35b341561096657600080fd5b61097c60048080359060200190919050506123d9565b60405180826000191660001916815260200191505060405180910390f35b34156109a557600080fd5b6109ad612410565b6040518082815260200191505060405180910390f35b34156109ce57600080fd5b6109d6612416565b6040518082815260200191505060405180910390f35b34156109f757600080fd5b610a2c600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061241c565b604051808215151515815260200191505060405180910390f35b3415610a5157600080fd5b610a596125af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610aa657600080fd5b610aae6125d5565b6040518082815260200191505060405180910390f35b3415610acf57600080fd5b610ad76125db565b6040518082815260200191505060405180910390f35b3415610af857600080fd5b610b006125e1565b6040518082815260200191505060405180910390f35b3415610b2157600080fd5b610b296125e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b69578082015181840152602081019050610b4e565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610baf57600080fd5b610bb7612685565b6040518082815260200191505060405180910390f35b3415610bd857600080fd5b610be061268b565b6040518082815260200191505060405180910390f35b3415610c0157600080fd5b610c36600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612691565b604051808215151515815260200191505060405180910390f35b3415610c5b57600080fd5b610c716004808035906020019091905050612843565b6040518082815260200191505060405180910390f35b3415610c9257600080fd5b610c9a612878565b6040518082815260200191505060405180910390f35b3415610cbb57600080fd5b610cc361287e565b6040518082815260200191505060405180910390f35b3415610ce457600080fd5b610cec612884565b6040518082815260200191505060405180910390f35b3415610d0d57600080fd5b610d1561288a565b6040518082815260200191505060405180910390f35b3415610d3657600080fd5b610d62600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612890565b6040518082815260200191505060405180910390f35b3415610d8357600080fd5b610d8b6128d9565b6040518082815260200191505060405180910390f35b610da9610f59565b005b3415610db657600080fd5b610dbe6128df565b6040518082815260200191505060405180910390f35b3415610ddf57600080fd5b610e2a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506128e5565b6040518082815260200191505060405180910390f35b3415610e4b57600080fd5b610e5361296c565b6040518082815260200191505060405180910390f35b3415610e7457600080fd5b610e7c612972565b6040518082815260200191505060405180910390f35b3415610e9d57600080fd5b610ed2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612978565b005b3415610edf57600080fd5b610f0b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612b33565b005b3415610f1857600080fd5b610f20612c0a565b6040518082815260200191505060405180910390f35b3415610f4157600080fd5b610f576004808035906020019091905050612c10565b005b600080600a5460085411151515610f6f57600080fd5b60006023541415610f7f57600080fd5b601c54421015610f8e57600080fd5b601d544210158015610fa25750601e544211155b15610fac57600080fd5b60225442101515610fbc57600080fd5b601c544210158015610fd05750601d544211155b15611069576110116064611003600d54610ff534600b54612d7e90919063ffffffff16565b612d7e90919063ffffffff16565b612db190919063ffffffff16565b905061103a8161102c34600b54612d7e90919063ffffffff16565b612dcc90919063ffffffff16565b915061105182600e54612dcc90919063ffffffff16565b600e81905550600f54600e54111561106857600080fd5b5b601e54421015801561107d5750601f544211155b1561113e576110be60646110b06010546110a234600b54612d7e90919063ffffffff16565b612d7e90919063ffffffff16565b612db190919063ffffffff16565b90506110e7816110d934600b54612d7e90919063ffffffff16565b612dcc90919063ffffffff16565b91506110fe82601154612dcc90919063ffffffff16565b60118190555061112f600e54611121600f54601254612dcc90919063ffffffff16565b612dea90919063ffffffff16565b601154111561113d57600080fd5b5b601f54421015801561115257506020544211155b1561123b57611193606461118560135461117734600b54612d7e90919063ffffffff16565b612d7e90919063ffffffff16565b612db190919063ffffffff16565b90506111bc816111ae34600b54612d7e90919063ffffffff16565b612dcc90919063ffffffff16565b91506111d382601454612dcc90919063ffffffff16565b60148190555061122c60115461121e601254611210600e54611202600f54601554612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b601454111561123a57600080fd5b5b602054421015801561124f57506021544211155b1561136057611290606461128260165461127434600b54612d7e90919063ffffffff16565b612d7e90919063ffffffff16565b612db190919063ffffffff16565b90506112b9816112ab34600b54612d7e90919063ffffffff16565b612dcc90919063ffffffff16565b91506112d082601754612dcc90919063ffffffff16565b601781905550611351601454611343601554611335601154611327601254611319600e5461130b600f54601854612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b601754111561135f57600080fd5b5b602154421015801561137457506022544211155b156114ad576113b560646113a760195461139934600b54612d7e90919063ffffffff16565b612d7e90919063ffffffff16565b612db190919063ffffffff16565b90506113de816113d034600b54612d7e90919063ffffffff16565b612dcc90919063ffffffff16565b91506113f582601a54612dcc90919063ffffffff16565b601a8190555061149e60175461149060185461148260145461147460155461146660115461145860125461144a600e5461143c600f54601b54612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b612dcc90919063ffffffff16565b612dea90919063ffffffff16565b601a5411156114ac57600080fd5b5b60008214156114bb57600080fd5b600a54600854830111156114ce57600080fd5b81602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061156882600854612dcc90919063ffffffff16565b6008819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600c600081548092919060010191905055505050565b60115481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116855780601f1061165a57610100808354040283529160200191611685565b820191906000526020600020905b81548152906001019060200180831161166857829003601f168201915b505050505081565b600080600090505b6006548110156116f057826000191660076000838152602001908152602001600020600001546000191614156116e357600760008281526020019081526020016000206001015491506116f5565b8080600101915050611695565b600191505b50919050565b600080821415801561178a57506000602760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561179457600080fd5b81602760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006060600481016000369050101561189c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118f857600080fd5b6001602454141561190857600080fd5b61195a83602660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dcc90919063ffffffff16565b602660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ef83602660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dea90919063ffffffff16565b602660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aff57600080fd5b60008160ff16141515611b17578060ff16600b819055505b50565b6000600854905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b8057600080fd5b60016024541415611b9057600080fd5b60225442111515611ba057600080fd5b600854600a54038111151515611bb257fe5b8060266000602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540160266000602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060085401600881905550602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b60245481565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d5481565b600a5460085411151515611d5557600080fd5b34600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ddb57600080fd5b611de3610f59565b50565b60008060606004810160003690501015611dff57600080fd5b602760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150611ed084602660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dcc90919063ffffffff16565b602660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6584602660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dea90919063ffffffff16565b602660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbb8483612dea90919063ffffffff16565b602760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b60045481565b60205481565b601f5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561211b57600080fd5b600181141561212d5760016024819055505b50565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121b157600080fd5b80602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b60175481565b60125481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561226357600080fd5b60018214156122785780601c819055506122f8565b600282141561228d5780601d819055506122f7565b60038214156122a25780601e819055506122f6565b60048214156122b75780601f819055506122f5565b60058214156122cc57806020819055506122f4565b60068214156122e157806021819055506122f3565b60078214156122f257806022819055505b5b5b5b5b5b5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561235857600080fd5b6001602454141561236857600080fd5b8060238190555050565b60155481565b600f5481565b60105481565b6000602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60235481565b600b5481565b6000600654821015156123f15760018002905061240b565b600760008381526020019081526020016000206000015490505b919050565b60145481565b601e5481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561247a57600080fd5b6001602454141561248a57600080fd5b6124dc83602660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dea90919063ffffffff16565b602660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061253483600954612dcc90919063ffffffff16565b60098190555061254f83600854612dea90919063ffffffff16565b60088190555060008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b600d5481565b60225481565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561267d5780601f106126525761010080835404028352916020019161267d565b820191906000526020600020905b81548152906001019060200180831161266057829003601f168201915b505050505081565b60165481565b601a5481565b6000604060048101600036905010156126a957600080fd5b6126fb83602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dea90919063ffffffff16565b602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061279083602660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dcc90919063ffffffff16565b602660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000600654821015156128595760029050612873565b600760008381526020019081526020016000206001015490505b919050565b600a5481565b60095481565b60065481565b600e5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60215481565b60185481565b6000602760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601c5481565b600c5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129d457600080fd5b600a54600854111515156129e757600080fd5b600160245414156129f757600080fd5b600a5460085482011115612a0a57600080fd5b6001811015612a1857600080fd5b80602660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401602660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ab281600854612dcc90919063ffffffff16565b6008819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600c600081548092919060010191905055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515612c075780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c6c57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318111151515612c9257600080fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515612cf457600080fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b60008082840290506000841480612d9f5750828482811515612d9c57fe5b04145b1515612da757fe5b8091505092915050565b6000808284811515612dbf57fe5b0490508091505092915050565b6000808284019050838110151515612de057fe5b8091505092915050565b6000828211151515612df857fe5b8183039050929150505600a165627a7a723058200ba39f7042bdae5abe0359ef85be0e67a960e06682c1f0a210194f0db07610f30029