60806040819052600a60065560038054600160a060020a031916331790557354893c205535040131933a5121af76a659dc8a0660008181526001602090815269d3c21bcecceda10000007fd0019067499a006e92da9f5c5517f3931abed571e232ed72cd0daa96d8ea3ead819055845290928391600080516020610ea283398151915291a36040517354893c205535040131933a5121af76a659dc8a069060009067011c37937e0800009082818181858883f193505050501580156100c8573d6000803e3d6000fd5b506101196b0223e4d22dbf561102e000006101066b033b2e3c9fd0803ce800000069d3c21bcecceda10000006401000000006105706101c982021704565b906401000000006105706101c982021704565b3360009081526001602052604090205490915061014390826401000000006105826101db82021704565b336000818152600160209081526040808320949094553082528382206b0223e4d22dbf561102e0000090558351858152935192939192600080516020610ea28339815191529281900390910190a3604080516b0223e4d22dbf561102e00000815290513091600091600080516020610ea28339815191529181900360200190a3506101f1565b6000828211156101d557fe5b50900390565b6000828201838110156101ea57fe5b9392505050565b610ca2806102006000396000f3006080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302c7e7af811461024057806306fdde0314610267578063095ea7b3146102f157806318160ddd1461032957806323b872dd1461033e5780632c4e722e14610368578063313ce5671461037d578063315a095d146103a857806366188463146103c057806370a08231146103e457806374e7493b146104055780637afa1eed1461041d57806384bcefd4146104325780638da5cb5b1461044757806395d89b4114610478578063a9059cbb1461048d578063d73dd623146104b1578063dd62ed3e146104d5578063f2fde38b146104fc575b60008061011e6006543461051f90919063ffffffff16565b91503090508161012d82610555565b101561013857600080fd5b600354604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015610171573d6000803e3d6000fd5b50600160a060020a03811660009081526001602052604090205461019b908363ffffffff61057016565b600160a060020a0382166000908152600160205260408082209290925533815220546101cd908363ffffffff61058216565b3360008181526001602090815260409182902093909355805185815290519192600160a060020a03851692600080516020610c578339815191529281900390910190a3600454610223903463ffffffff61058216565b600455600554610239908363ffffffff61058216565b6005555050005b34801561024c57600080fd5b50610255610591565b60408051918252519081900360200190f35b34801561027357600080fd5b5061027c610597565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b657818101518382015260200161029e565b50505050905090810190601f1680156102e35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102fd57600080fd5b50610315600160a060020a03600435166024356105ce565b604080519115158252519081900360200190f35b34801561033557600080fd5b50610255610634565b34801561034a57600080fd5b50610315600160a060020a0360043581169060243516604435610644565b34801561037457600080fd5b506102556107ab565b34801561038957600080fd5b506103926107b1565b6040805160ff9092168252519081900360200190f35b3480156103b457600080fd5b506103156004356107b6565b3480156103cc57600080fd5b50610315600160a060020a0360043516602435610896565b3480156103f057600080fd5b50610255600160a060020a0360043516610555565b34801561041157600080fd5b50610315600435610986565b34801561042957600080fd5b5061027c6109a9565b34801561043e57600080fd5b506102556109e0565b34801561045357600080fd5b5061045c6109e6565b60408051600160a060020a039092168252519081900360200190f35b34801561048457600080fd5b5061027c6109f5565b34801561049957600080fd5b50610315600160a060020a0360043516602435610a2c565b3480156104bd57600080fd5b50610315600160a060020a0360043516602435610afd565b3480156104e157600080fd5b50610255600160a060020a0360043581169060243516610b96565b34801561050857600080fd5b5061051d600160a060020a0360043516610bc1565b005b600080831515610532576000915061054e565b5082820282848281151561054257fe5b041461054a57fe5b8091505b5092915050565b600160a060020a031660009081526001602052604090205490565b60008282111561057c57fe5b50900390565b60008282018381101561054a57fe5b60055481565b60408051808201909152600881527f5465746865725553000000000000000000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6b033b2e3c9fd0803ce800000081565b6000600160a060020a038316151561065b57600080fd5b600160a060020a03841660009081526001602052604090205482111561068057600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156106b057600080fd5b600160a060020a0384166000908152600160205260409020546106d9908363ffffffff61057016565b600160a060020a03808616600090815260016020526040808220939093559085168152205461070e908363ffffffff61058216565b600160a060020a038085166000908152600160209081526040808320949094559187168152600282528281203382529091522054610752908363ffffffff61057016565b600160a060020a0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020610c57833981519152929181900390910190a35060019392505050565b60065481565b601281565b6003546000908190600160a060020a031633146107d257600080fd5b826107dc30610555565b10156107e757600080fd5b5030600081815260016020526040902054610808908463ffffffff61057016565b600160a060020a038083166000908152600160205260408082209390935560035490911681522054610840908463ffffffff61058216565b60038054600160a060020a03908116600090815260016020908152604091829020949094559154825187815292519082169391851692600080516020610c5783398151915292908290030190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156108eb57336000908152600260209081526040808320600160a060020a0388168452909152812055610920565b6108fb818463ffffffff61057016565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600354600090600160a060020a031633146109a057600080fd5b50600655600190565b60408051808201909152600581527f4343207633000000000000000000000000000000000000000000000000000000602082015281565b60045481565b600354600160a060020a031681565b60408051808201909152600481527f5553445400000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a0383161515610a4357600080fd5b33600090815260016020526040902054821115610a5f57600080fd5b33600090815260016020526040902054610a7f908363ffffffff61057016565b3360009081526001602052604080822092909255600160a060020a03851681522054610ab1908363ffffffff61058216565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191923392600080516020610c578339815191529281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610b31908363ffffffff61058216565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a03163314610bd857600080fd5b600160a060020a0381161515610bed57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582034c02e237bb555e2e8550525792932fe5d2ef375c2d9aad12a4b405bb79dc8ce0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef