0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806370a082311161006e57806370a0823114610134578063715018a6146101535780638da5cb5b1461015d57806395d89b4114610188578063a9059cbb14610190578063dd62ed3e146101a3575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd14610102578063313ce56714610115575b5f80fd5b6100b26101cd565b6040516100bf9190610600565b60405180910390f35b6100db6100d6366004610650565b610258565b60405190151581526020016100bf565b6100f460035481565b6040519081526020016100bf565b6100db610110366004610678565b6102c4565b6002546101229060ff1681565b60405160ff90911681526020016100bf565b6100f46101423660046106b1565b60046020525f908152604090205481565b61015b610476565b005b600654610170906001600160a01b031681565b6040516001600160a01b0390911681526020016100bf565b6100b2610512565b6100db61019e366004610650565b61051f565b6100f46101b13660046106d1565b600560209081525f928352604080842090915290825290205481565b5f80546101d990610702565b80601f016020809104026020016040519081016040528092919081815260200182805461020590610702565b80156102505780601f1061022757610100808354040283529160200191610250565b820191905f5260205f20905b81548152906001019060200180831161023357829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102b29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103275760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f90815260056020908152604080832033845290915290205482111561038e5760405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b604482015260640161031e565b6001600160a01b0384165f90815260046020526040812080548492906103b590849061074e565b90915550506001600160a01b0383165f90815260046020526040812080548492906103e1908490610761565b90915550506001600160a01b0384165f9081526005602090815260408083203384529091528120805484929061041890849061074e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161046491815260200190565b60405180910390a35060019392505050565b6006546001600160a01b031633146104c95760405162461bcd60e51b81526020600482015260166024820152752737ba103a34329031b7b73a3930b1ba1037bbb732b960511b604482015260640161031e565b6006546040516001600160a01b03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820905f90a2600680546001600160a01b0319169055565b600180546101d990610702565b335f908152600460205260408120548211156105745760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161031e565b335f908152600460205260408120805484929061059290849061074e565b90915550506001600160a01b0383165f90815260046020526040812080548492906105be908490610761565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102b2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461064b575f80fd5b919050565b5f8060408385031215610661575f80fd5b61066a83610635565b946020939093013593505050565b5f805f6060848603121561068a575f80fd5b61069384610635565b92506106a160208501610635565b9150604084013590509250925092565b5f602082840312156106c1575f80fd5b6106ca82610635565b9392505050565b5f80604083850312156106e2575f80fd5b6106eb83610635565b91506106f960208401610635565b90509250929050565b600181811c9082168061071657607f821691505b60208210810361073457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102be576102be61073a565b808201808211156102be576102be61073a56fea2646970667358221220d163f9f517c01998e3c17aa33a709bbce9add1b9b4f3d1d3575fc23ceed04a4864736f6c63430008190033
0x60806040526002805460ff1916601217905534801561001c575f80fd5b50604051610bea380380610bea83398101604081905261003b91610244565b83835f610048838261034f565b506001610055828261034f565b50505061006881836100c860201b60201c565b600680546001600160a01b031916331790556040516001600160a01b038216907f16b0da2ffcb90c6723317bd637d9aad7f04711f42bbe0ac0918ebe10f1f9001c906100b79085815260200190565b60405180910390a250505050610433565b6001600160a01b0382166101225760405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f20616464726573730000000000000000604482015260640160405180910390fd5b8060035f828254610133919061040e565b90915550506001600160a01b0382165f908152600460205260408120805483929061015f90849061040e565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126101cb575f80fd5b81516001600160401b03808211156101e5576101e56101a8565b604051601f8301601f19908116603f0116810190828211818310171561020d5761020d6101a8565b81604052838152866020858801011115610225575f80fd5b8360208701602083015e5f602085830101528094505050505092915050565b5f805f8060808587031215610257575f80fd5b84516001600160401b038082111561026d575f80fd5b610279888389016101bc565b9550602087015191508082111561028e575f80fd5b5061029b878288016101bc565b60408701516060880151919550935090506001600160a01b03811681146102c0575f80fd5b939692955090935050565b600181811c908216806102df57607f821691505b6020821081036102fd57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561034a57805f5260205f20601f840160051c810160208510156103285750805b601f840160051c820191505b81811015610347575f8155600101610334565b50505b505050565b81516001600160401b03811115610368576103686101a8565b61037c8161037684546102cb565b84610303565b602080601f8311600181146103af575f84156103985750858301515b5f19600386901b1c1916600185901b178555610406565b5f85815260208120601f198616915b828110156103dd578886015182559484019460019091019084016103be565b50858210156103fa57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b8082018082111561042d57634e487b7160e01b5f52601160045260245ffd5b92915050565b6107aa806104405f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806370a082311161006e57806370a0823114610134578063715018a6146101535780638da5cb5b1461015d57806395d89b4114610188578063a9059cbb14610190578063dd62ed3e146101a3575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd14610102578063313ce56714610115575b5f80fd5b6100b26101cd565b6040516100bf9190610600565b60405180910390f35b6100db6100d6366004610650565b610258565b60405190151581526020016100bf565b6100f460035481565b6040519081526020016100bf565b6100db610110366004610678565b6102c4565b6002546101229060ff1681565b60405160ff90911681526020016100bf565b6100f46101423660046106b1565b60046020525f908152604090205481565b61015b610476565b005b600654610170906001600160a01b031681565b6040516001600160a01b0390911681526020016100bf565b6100b2610512565b6100db61019e366004610650565b61051f565b6100f46101b13660046106d1565b600560209081525f928352604080842090915290825290205481565b5f80546101d990610702565b80601f016020809104026020016040519081016040528092919081815260200182805461020590610702565b80156102505780601f1061022757610100808354040283529160200191610250565b820191905f5260205f20905b81548152906001019060200180831161023357829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102b29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103275760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f90815260056020908152604080832033845290915290205482111561038e5760405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b604482015260640161031e565b6001600160a01b0384165f90815260046020526040812080548492906103b590849061074e565b90915550506001600160a01b0383165f90815260046020526040812080548492906103e1908490610761565b90915550506001600160a01b0384165f9081526005602090815260408083203384529091528120805484929061041890849061074e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161046491815260200190565b60405180910390a35060019392505050565b6006546001600160a01b031633146104c95760405162461bcd60e51b81526020600482015260166024820152752737ba103a34329031b7b73a3930b1ba1037bbb732b960511b604482015260640161031e565b6006546040516001600160a01b03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820905f90a2600680546001600160a01b0319169055565b600180546101d990610702565b335f908152600460205260408120548211156105745760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161031e565b335f908152600460205260408120805484929061059290849061074e565b90915550506001600160a01b0383165f90815260046020526040812080548492906105be908490610761565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102b2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461064b575f80fd5b919050565b5f8060408385031215610661575f80fd5b61066a83610635565b946020939093013593505050565b5f805f6060848603121561068a575f80fd5b61069384610635565b92506106a160208501610635565b9150604084013590509250925092565b5f602082840312156106c1575f80fd5b6106ca82610635565b9392505050565b5f80604083850312156106e2575f80fd5b6106eb83610635565b91506106f960208401610635565b90509250929050565b600181811c9082168061071657607f821691505b60208210810361073457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102be576102be61073a565b808201808211156102be576102be61073a56fea2646970667358221220d163f9f517c01998e3c17aa33a709bbce9add1b9b4f3d1d3575fc23ceed04a4864736f6c63430008190033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000004ef8be010090d094eb984abc1775e0668754b1480000000000000000000000000000000000000000000000000000000000000008436174204c69666500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074341544c49464500000000000000000000000000000000000000000000000000