60806040523480156200001157600080fd5b506040805190810160405280600481526020017f504c455800000000000000000000000000000000000000000000000000000000815250600290805190602001906200005f929190620007f2565b506040805190810160405280600481526020017f504c45580000000000000000000000000000000000000000000000000000000081525060039080519060200190620000ad929190620007f2565b50600260048190555060006005819055506402540be400600681905550633b9aca0060078190555063ee6b280060088190555065b5e620f480006009819055506602386f26fc1000600a81905550660289a39a033f80600b819055506602f5e9891d3880600c8190555066038d7ea4c68000600d81905550635b303080600e81905550635b3a6820600f81905550635b5e550060108190555033601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506305f5e10060008073af3d1767966b8464bedd88f5b6cfdc23d3ba7ce373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073af3d1767966b8464bedd88f5b6cfdc23d3ba7ce373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6305f5e1006040518082815260200191505060405180910390a36317d78400600080730d958c8f7ccd8d3b03653c3a487bc11a5db9749b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730d958c8f7ccd8d3b03653c3a487bc11a5db9749b73ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6317d784006040518082815260200191505060405180910390a3631dcd6500600080733ca16559a1cc5172d4e524d652892fb9d422f03073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550733ca16559a1cc5172d4e524d652892fb9d422f03073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef631dcd65006040518082815260200191505060405180910390a3631dcd650060008073f231dcadbf45ab3d4ca552079fc9b71860cc825573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f231dcadbf45ab3d4ca552079fc9b71860cc825573ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef631dcd65006040518082815260200191505060405180910390a3631dcd65006000807338ea72e347232be550cbf15582056f3259e3a2df73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507338ea72e347232be550cbf15582056f3259e3a2df73ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef631dcd65006040518082815260200191505060405180910390a3633b9aca00600080730e951a73965e373a0acdff4ca6839ab3aa11106173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730e951a73965e373a0acdff4ca6839ab3aa11106173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca006040518082815260200191505060405180910390a3633b9aca00600080737ee2ec2ecc77dd7db791629d5d1aa18f97e7569b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737ee2ec2ecc77dd7db791629d5d1aa18f97e7569b73ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca006040518082815260200191505060405180910390a3633b9aca0060008073f8041851c7e9deb3ea93472f27e9df872014ecdd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f8041851c7e9deb3ea93472f27e9df872014ecdd73ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef633b9aca006040518082815260200191505060405180910390a3620007c964012a05f200600554620007d56401000000000262001111179091906401000000009004565b600581905550620008a1565b60008183019050828110151515620007ec57600080fd5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200083557805160ff191683800117855562000866565b8280016001018555821562000866579182015b828111156200086557825182559160200191906001019062000848565b5b50905062000875919062000879565b5090565b6200089e91905b808211156200089a57600081600090555060010162000880565b5090565b90565b611a4580620008b16000396000f300608060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630480e58b146109c657806306fdde03146109f1578063095ea7b314610a815780631712c48914610ae657806318160ddd14610b3f57806323b872dd14610b6a57806327e235e314610bef5780632e055bcc14610c46578063313ce56714610c71578063352ff2bd14610c9c5780634220324b14610ce15780635c65816514610d0c5780636bc64e0f14610d8357806370a0823114610dae5780638a306c2114610e055780638b519e0914610e3057806395d89b4114610e5b578063a66ddf4314610eeb578063a9059cbb14610f16578063ce606ee014610f7b578063d833dbe914610fd2578063da3fb6f714610ffd578063dd62ed3e14611028578063f86abfd91461109f578063f980a012146110ca575b600e544211158061016a5750600f54421015801561016957506010544211155b5b151561017557600080fd5b600e544211151561032257662386f26fc10000341015801561019f575067d02ab486cedc00003411155b80156101bd57506064600954348115156101b557fe5b040260075410155b15156101c857600080fd5b6101ed6064600954348115156101da57fe5b04026007546110f590919063ffffffff16565b60078190555061021860646009543481151561020557fe5b040260055461111190919063ffffffff16565b60058190555061027f60646009543481151561023057fe5b04026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646009543481151561030a57fe5b04026040518082815260200191505060405180910390a35b600f54421015801561033657506010544211155b1561095b57662386f26fc10000341015801561035a575067d02ab486cedc00003411155b801561037857506064600a543481151561037057fe5b040260085410155b151561038357600080fd5b63ee6b28006008541115801561039e575063b2d05e00600854115b156104fd576103c86064600a54348115156103b557fe5b04026008546110f590919063ffffffff16565b6008819055506103f36064600a54348115156103e057fe5b040260055461111190919063ffffffff16565b60058190555061045a6064600a543481151561040b57fe5b04026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600a54348115156104e557fe5b04026040518082815260200191505060405180910390a35b63b2d05e006008541115801561051857506377359400600854115b15610677576105426064600b543481151561052f57fe5b04026008546110f590919063ffffffff16565b60088190555061056d6064600b543481151561055a57fe5b040260055461111190919063ffffffff16565b6005819055506105d46064600b543481151561058557fe5b04026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600b543481151561065f57fe5b04026040518082815260200191505060405180910390a35b6377359400600854111580156106925750633b9aca00600854115b156107f1576106bc6064600c54348115156106a957fe5b04026008546110f590919063ffffffff16565b6008819055506106e76064600c54348115156106d457fe5b040260055461111190919063ffffffff16565b60058190555061074e6064600c54348115156106ff57fe5b04026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600c54348115156107d957fe5b04026040518082815260200191505060405180910390a35b633b9aca0060085411151561095a576108256064600d543481151561081257fe5b04026008546110f590919063ffffffff16565b6008819055506108506064600d543481151561083d57fe5b040260055461111190919063ffffffff16565b6005819055506108b76064600d543481151561086857fe5b04026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600d543481151561094257fe5b04026040518082815260200191505060405180910390a35b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156109c3573d6000803e3d6000fd5b50005b3480156109d257600080fd5b506109db61112d565b6040518082815260200191505060405180910390f35b3480156109fd57600080fd5b50610a06611137565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a46578082015181840152602081019050610a2b565b50505050905090810190601f168015610a735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a8d57600080fd5b50610acc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d9565b604051808215151515815260200191505060405180910390f35b348015610af257600080fd5b50610b256004803603810190808035906020019092919080359060200190929190803590602001909291905050506112cb565b604051808215151515815260200191505060405180910390f35b348015610b4b57600080fd5b50610b54611349565b6040518082815260200191505060405180910390f35b348015610b7657600080fd5b50610bd5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611353565b604051808215151515815260200191505060405180910390f35b348015610bfb57600080fd5b50610c30600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fa565b6040518082815260200191505060405180910390f35b348015610c5257600080fd5b50610c5b611612565b6040518082815260200191505060405180910390f35b348015610c7d57600080fd5b50610c86611618565b6040518082815260200191505060405180910390f35b348015610ca857600080fd5b50610cc760048036038101908080359060200190929190505050611622565b604051808215151515815260200191505060405180910390f35b348015610ced57600080fd5b50610cf6611690565b6040518082815260200191505060405180910390f35b348015610d1857600080fd5b50610d6d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611696565b6040518082815260200191505060405180910390f35b348015610d8f57600080fd5b50610d986116bb565b6040518082815260200191505060405180910390f35b348015610dba57600080fd5b50610def600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c1565b6040518082815260200191505060405180910390f35b348015610e1157600080fd5b50610e1a611709565b6040518082815260200191505060405180910390f35b348015610e3c57600080fd5b50610e4561170f565b6040518082815260200191505060405180910390f35b348015610e6757600080fd5b50610e70611715565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610eb0578082015181840152602081019050610e95565b50505050905090810190601f168015610edd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ef757600080fd5b50610f006117b7565b6040518082815260200191505060405180910390f35b348015610f2257600080fd5b50610f61600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117bd565b604051808215151515815260200191505060405180910390f35b348015610f8757600080fd5b50610f90611954565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fde57600080fd5b50610fe761197a565b6040518082815260200191505060405180910390f35b34801561100957600080fd5b50611012611980565b6040518082815260200191505060405180910390f35b34801561103457600080fd5b50611089600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611986565b6040518082815260200191505060405180910390f35b3480156110ab57600080fd5b506110b4611a0d565b6040518082815260200191505060405180910390f35b3480156110d657600080fd5b506110df611a13565b6040518082815260200191505060405180910390f35b600082821115151561110657600080fd5b818303905092915050565b6000818301905082811015151561112757600080fd5b92915050565b6000600654905090565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111cf5780601f106111a4576101008083540402835291602001916111cf565b820191906000526020600020905b8154815290600101906020018083116111b257829003601f168201915b5050505050905090565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132957600080fd5b83600e8190555082600f8190555081601081905550600190509392505050565b6000600554905090565b60006113a6826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061147782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611548826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60006020528060005260406000206000915090505481565b60075481565b6000600454905090565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168057600080fd5b8160098190555060019050919050565b600f5481565b6001602052816000526040600020602052806000526040600020600091509150505481565b600e5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b60105481565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ad5780601f10611782576101008083540402835291602001916117ad565b820191906000526020600020905b81548152906001019060200180831161179057829003601f168201915b5050505050905090565b600c5481565b6000611810826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a3826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d5481565b600a54815600a165627a7a7230582004a5ee57484dab649131ca38aeb6b22df2b3d50d85c8b85e20ea6f6e7564f1aa0029