0x608060405234801561000f575f80fd5b50600436106100b1575f3560e01c806370a082311161006e57806370a08231146101525780638da5cb5b1461017157806395d89b411461019c578063a9059cbb146101a4578063dd62ed3e146101b7578063f9f92be4146101e1575f80fd5b806306fdde03146100b5578063095ea7b3146100d3578063153b0d1e146100f657806318160ddd1461010957806323b872dd14610120578063313ce56714610133575b5f80fd5b6100bd610203565b6040516100ca919061077c565b60405180910390f35b6100e66100e13660046107e2565b61028e565b60405190151581526020016100ca565b6100e661010436600461080a565b61032d565b61011260035481565b6040519081526020016100ca565b6100e661012e366004610843565b6103ed565b6002546101409060ff1681565b60405160ff90911681526020016100ca565b61011261016036600461087c565b60056020525f908152604090205481565b600454610184906001600160a01b031681565b6040516001600160a01b0390911681526020016100ca565b6100bd610614565b6100e66101b23660046107e2565b610621565b6101126101c536600461089c565b600660209081525f928352604080842090915290825290205481565b6100e66101ef36600461087c565b60076020525f908152604090205460ff1681565b5f805461020f906108cd565b80601f016020809104026020016040519081016040528092919081815260200182805461023b906108cd565b80156102865780601f1061025d57610100808354040283529160200191610286565b820191905f5260205f20905b81548152906001019060200180831161026957829003601f168201915b505050505081565b335f8181526007602052604081205490919060ff16156102c95760405162461bcd60e51b81526004016102c090610905565b60405180910390fd5b335f8181526006602090815260408083206001600160a01b03891680855290835292819020879055518681529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6004545f906001600160a01b031633146103895760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c79206f776e65722063616e2075706461746520626c61636b6c6973740060448201526064016102c0565b6001600160a01b0383165f81815260076020908152604091829020805460ff191686151590811790915591519182527fcf3473b85df1594d47b6958f29a32bea0abff9dd68296f7bf33443646793cfd8910160405180910390a25060015b92915050565b6001600160a01b0383165f90815260076020526040812054849060ff16156104275760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0384165f90815260076020526040902054849060ff16156104615760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0386165f908152600560205260409020548411156104bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102c0565b6001600160a01b0386165f90815260066020908152604080832033845290915290205484111561052a5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064016102c0565b6001600160a01b0386165f9081526005602052604081208054869290610551908490610949565b90915550506001600160a01b0385165f908152600560205260408120805486929061057d90849061095c565b90915550506001600160a01b0386165f908152600660209081526040808320338452909152812080548692906105b4908490610949565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161060091815260200190565b60405180910390a350600195945050505050565b6001805461020f906108cd565b335f8181526007602052604081205490919060ff16156106535760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0384165f90815260076020526040902054849060ff161561068d5760405162461bcd60e51b81526004016102c090610905565b335f908152600560205260409020548411156106e25760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102c0565b335f9081526005602052604081208054869290610700908490610949565b90915550506001600160a01b0385165f908152600560205260408120805486929061072c90849061095c565b90915550506040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b5f6020808352835180828501525f5b818110156107a75785810183015185820160400152820161078b565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107dd575f80fd5b919050565b5f80604083850312156107f3575f80fd5b6107fc836107c7565b946020939093013593505050565b5f806040838503121561081b575f80fd5b610824836107c7565b915060208301358015158114610838575f80fd5b809150509250929050565b5f805f60608486031215610855575f80fd5b61085e846107c7565b925061086c602085016107c7565b9150604084013590509250925092565b5f6020828403121561088c575f80fd5b610895826107c7565b9392505050565b5f80604083850312156108ad575f80fd5b6108b6836107c7565b91506108c4602084016107c7565b90509250929050565b600181811c908216806108e157607f821691505b6020821081036108ff57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601690820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103e7576103e7610935565b808201808211156103e7576103e761093556fea2646970667358221220aae73e5b059968107f0c1a7bef7fe91bf2ff23bb3125a7a5a1dc56a7e76a334e64736f6c63430008140033
0x608060405234801562000010575f80fd5b5060405162000e9238038062000e928339810160408190526200003391620001c7565b5f620000408482620002da565b5060016200004f8382620002da565b506002805460ff191660129081179091556200006d90600a620004b1565b6200007d90633b9aca00620004c5565b6003819055600480546001600160a01b03191673dead0000000000000000420694206942069420691790556001600160a01b0382165f8181526005602052604080822084905551919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000f89190815260200190565b60405180910390a3505050620004df565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200012d575f80fd5b81516001600160401b03808211156200014a576200014a62000109565b604051601f8301601f19908116603f0116810190828211818310171562000175576200017562000109565b8160405283815260209250868385880101111562000191575f80fd5b5f91505b83821015620001b4578582018301518183018401529082019062000195565b5f93810190920192909252949350505050565b5f805f60608486031215620001da575f80fd5b83516001600160401b0380821115620001f1575f80fd5b620001ff878388016200011d565b9450602086015191508082111562000215575f80fd5b5062000224868287016200011d565b604086015190935090506001600160a01b038116811462000243575f80fd5b809150509250925092565b600181811c908216806200026357607f821691505b6020821081036200028257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002d5575f81815260208120601f850160051c81016020861015620002b05750805b601f850160051c820191505b81811015620002d157828155600101620002bc565b5050505b505050565b81516001600160401b03811115620002f657620002f662000109565b6200030e816200030784546200024e565b8462000288565b602080601f83116001811462000344575f84156200032c5750858301515b5f19600386901b1c1916600185901b178555620002d1565b5f85815260208120601f198616915b82811015620003745788860151825594840194600190910190840162000353565b50858210156200039257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f657815f1904821115620003da57620003da620003a2565b80851615620003e857918102915b93841c9390800290620003bb565b509250929050565b5f826200040e57506001620004ab565b816200041c57505f620004ab565b8160018114620004355760028114620004405762000460565b6001915050620004ab565b60ff841115620004545762000454620003a2565b50506001821b620004ab565b5060208310610133831016604e8410600b841016171562000485575081810a620004ab565b620004918383620003b6565b805f1904821115620004a757620004a7620003a2565b0290505b92915050565b5f620004be8383620003fe565b9392505050565b8082028115828204841417620004ab57620004ab620003a2565b6109a580620004ed5f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c806370a082311161006e57806370a08231146101525780638da5cb5b1461017157806395d89b411461019c578063a9059cbb146101a4578063dd62ed3e146101b7578063f9f92be4146101e1575f80fd5b806306fdde03146100b5578063095ea7b3146100d3578063153b0d1e146100f657806318160ddd1461010957806323b872dd14610120578063313ce56714610133575b5f80fd5b6100bd610203565b6040516100ca919061077c565b60405180910390f35b6100e66100e13660046107e2565b61028e565b60405190151581526020016100ca565b6100e661010436600461080a565b61032d565b61011260035481565b6040519081526020016100ca565b6100e661012e366004610843565b6103ed565b6002546101409060ff1681565b60405160ff90911681526020016100ca565b61011261016036600461087c565b60056020525f908152604090205481565b600454610184906001600160a01b031681565b6040516001600160a01b0390911681526020016100ca565b6100bd610614565b6100e66101b23660046107e2565b610621565b6101126101c536600461089c565b600660209081525f928352604080842090915290825290205481565b6100e66101ef36600461087c565b60076020525f908152604090205460ff1681565b5f805461020f906108cd565b80601f016020809104026020016040519081016040528092919081815260200182805461023b906108cd565b80156102865780601f1061025d57610100808354040283529160200191610286565b820191905f5260205f20905b81548152906001019060200180831161026957829003601f168201915b505050505081565b335f8181526007602052604081205490919060ff16156102c95760405162461bcd60e51b81526004016102c090610905565b60405180910390fd5b335f8181526006602090815260408083206001600160a01b03891680855290835292819020879055518681529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6004545f906001600160a01b031633146103895760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c79206f776e65722063616e2075706461746520626c61636b6c6973740060448201526064016102c0565b6001600160a01b0383165f81815260076020908152604091829020805460ff191686151590811790915591519182527fcf3473b85df1594d47b6958f29a32bea0abff9dd68296f7bf33443646793cfd8910160405180910390a25060015b92915050565b6001600160a01b0383165f90815260076020526040812054849060ff16156104275760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0384165f90815260076020526040902054849060ff16156104615760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0386165f908152600560205260409020548411156104bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102c0565b6001600160a01b0386165f90815260066020908152604080832033845290915290205484111561052a5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064016102c0565b6001600160a01b0386165f9081526005602052604081208054869290610551908490610949565b90915550506001600160a01b0385165f908152600560205260408120805486929061057d90849061095c565b90915550506001600160a01b0386165f908152600660209081526040808320338452909152812080548692906105b4908490610949565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161060091815260200190565b60405180910390a350600195945050505050565b6001805461020f906108cd565b335f8181526007602052604081205490919060ff16156106535760405162461bcd60e51b81526004016102c090610905565b6001600160a01b0384165f90815260076020526040902054849060ff161561068d5760405162461bcd60e51b81526004016102c090610905565b335f908152600560205260409020548411156106e25760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102c0565b335f9081526005602052604081208054869290610700908490610949565b90915550506001600160a01b0385165f908152600560205260408120805486929061072c90849061095c565b90915550506040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b5f6020808352835180828501525f5b818110156107a75785810183015185820160400152820161078b565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107dd575f80fd5b919050565b5f80604083850312156107f3575f80fd5b6107fc836107c7565b946020939093013593505050565b5f806040838503121561081b575f80fd5b610824836107c7565b915060208301358015158114610838575f80fd5b809150509250929050565b5f805f60608486031215610855575f80fd5b61085e846107c7565b925061086c602085016107c7565b9150604084013590509250925092565b5f6020828403121561088c575f80fd5b610895826107c7565b9392505050565b5f80604083850312156108ad575f80fd5b6108b6836107c7565b91506108c4602084016107c7565b90509250929050565b600181811c908216806108e157607f821691505b6020821081036108ff57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601690820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103e7576103e7610935565b808201808211156103e7576103e761093556fea2646970667358221220aae73e5b059968107f0c1a7bef7fe91bf2ff23bb3125a7a5a1dc56a7e76a334e64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000058ab0b01c99b03899770f12bc600bd83434d3f7d000000000000000000000000000000000000000000000000000000000000000659616d696b6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000659414d494b4f0000000000000000000000000000000000000000000000000000