0x608060405260043610610129575f3560e01c80638da5cb5b116100a8578063a9059cbb1161006d578063a9059cbb14610325578063bf474bed14610344578063c876d0b914610359578063c9567bf914610379578063dd62ed3e1461038d578063e6f70531146103d1575f80fd5b80638da5cb5b1461028b5780638f9a55c0146102b157806395d89b41146102c65780639e161d9a146102f2578063a0ef91df14610311575f80fd5b8063313ce567116100ee578063313ce567146101fd57806370a0823114610218578063715018a61461024c578063751039fc146102625780637d1db4a514610276575f80fd5b806306fdde0314610134578063095ea7b3146101785780630faee56f146101a757806318160ddd146101ca57806323b872dd146101de575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600a815269414920526f6d616e636560b01b60208201525b60405161016f91906111f5565b60405180910390f35b348015610183575f80fd5b50610197610192366004611254565b6103f0565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc60115481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc610406565b3480156101e9575f80fd5b506101976101f836600461127e565b610425565b348015610208575f80fd5b506040516009815260200161016f565b348015610223575f80fd5b506101bc6102323660046112bc565b6001600160a01b03165f9081526016602052604090205490565b348015610257575f80fd5b50610260610474565b005b34801561026d575f80fd5b506102606104ee565b348015610281575f80fd5b506101bc60145481565b348015610296575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102bc575f80fd5b506101bc60135481565b3480156102d1575f80fd5b50604080518082019091526004815263524f4d4f60e01b6020820152610162565b3480156102fd575f80fd5b5061026061030c366004611254565b6105a9565b34801561031c575f80fd5b506102606107ea565b348015610330575f80fd5b5061019761033f366004611254565b610849565b34801561034f575f80fd5b506101bc60125481565b348015610364575f80fd5b50600f5461019790600160b01b900460ff1681565b348015610384575f80fd5b50610260610855565b348015610398575f80fd5b506101bc6103a73660046112d7565b6001600160a01b039182165f90815260156020908152604080832093909416825291909152205490565b3480156103dc575f80fd5b506101976103eb366004611254565b6108af565b5f6103fc3384846108b8565b5060015b92915050565b5f6104136009600a611402565b6104209062989680611410565b905090565b5f61043184848461093c565b6001600160a01b0384165f9081526015602090815260408083203380855292529091205461046a9186916104659086610dfa565b6108b8565b5060019392505050565b5f546001600160a01b031633146104a65760405162461bcd60e51b815260040161049d90611427565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105175760405162461bcd60e51b815260040161049d90611427565b6105236009600a611402565b6105309062989680611410565b60145561053f6009600a611402565b61054c9062989680611410565b601355600f805460ff60b01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105896009600a611402565b6105969062989680611410565b60405190815260200160405180910390a1565b6040805160028082526060820183525f926020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610610573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610634919061145c565b815f8151811061064657610646611477565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061067a5761067a611477565b60200260200101906001600160a01b031690816001600160a01b0316815250505f816001815181106106ae576106ae611477565b602090810291909101810151335f908152601890925260409091205490915060ff1661073f57600d5460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de9590859061070c905f9087908a9042906004016114cd565b5f604051808303818588803b158015610723575f80fd5b505af1158015610735573d5f803e3d5ffd5b50505050506107e4565b806001600160a01b03166323b872dd858460018151811061076257610762611477565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303815f875af11580156107be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e29190611501565b505b50505050565b600f546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610834576040519150601f19603f3d011682016040523d82523d5f602084013e610839565b606091505b5050905080610846575f80fd5b50565b5f6103fc33848461093c565b5f546001600160a01b0316331461087e5760405162461bcd60e51b815260040161049d90611427565b600f54600160a01b900460ff1615610894575f80fd5b600f805463ff0000ff60a01b1916630100000160a01b179055565b5f3061046a8482855b6001600160a01b0383166108ca575f80fd5b6001600160a01b0382166108dc575f80fd5b6001600160a01b038381165f8181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661094e575f80fd5b6001600160a01b038216610960575f80fd5b5f811161096b575f80fd5b5f80546001600160a01b0385811691161480159061099657505f546001600160a01b03848116911614155b15610cbd576109b860646109b26109ab610e42565b8590610e7f565b90610efd565b600f54909150600160a01b900460ff16610a11576001600160a01b0384165f9081526018602052604090205460ff1680610a0957506001600160a01b0383165f9081526018602052604090205460ff165b610a11575f80fd5b600f54600160b01b900460ff1615610a7f57600d546001600160a01b03848116911614801590610a4f5750600e546001600160a01b03848116911614155b15610a7f57325f908152601760205260409020544311610a6d575f80fd5b325f9081526017602052604090204390555b600e546001600160a01b038581169116148015610aaa5750600d546001600160a01b03848116911614155b8015610ace57506001600160a01b0383165f9081526018602052604090205460ff16155b15610b4557601454821115610ae1575f80fd5b60135482610b03856001600160a01b03165f9081526016602052604090205490565b610b0d9190611520565b1115610b17575f80fd5b600c8054905f610b2683611533565b9190505550600b54600c541115610b4557600f805460ff60b01b191690555b600e546001600160a01b038481169116148015610b6b57506001600160a01b0384163014155b15610b8357610b8060646109b26109ab610f3e565b90505b305f90815260166020526040902054601254600f5490821190600160a81b900460ff16158015610bbc5750600f54600160b81b900460ff165b8015610bd55750600e546001600160a01b038681169116145b8015610bde5750805b8015610c0257506001600160a01b0386165f9081526018602052604090205460ff16155b8015610c2657506001600160a01b0385165f9081526018602052604090205460ff16155b15610cba576010546001600160a01b03165f90815260166020526040812054610c54906103e8905b90610e7f565b90505f610c6c82601154610dfa90919063ffffffff16565b90505f610c798583610f74565b905047610c8e610c898984610f74565b610f88565b5f610ca360646109b26050610c4e4787610dfa565b90508015610cb457610cb4816110f8565b50505050505b50505b8015610d3557305f90815260166020526040902054610cdc9082611133565b305f81815260166020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260166020526040902054610d579083610dfa565b6001600160a01b0385165f90815260166020526040902055610d9a610d7c8383610dfa565b6001600160a01b0385165f9081526016602052604090205490611133565b6001600160a01b038085165f8181526016602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610de38585610dfa565b60405190815260200160405180910390a350505050565b5f610e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611191565b9392505050565b5f600a54600c5411610e55575060085490565b600a54600c54118015610e6c5750600654600c5411155b15610e78575060045490565b5060025490565b5f825f03610e8e57505f610400565b5f610e998385611410565b905082610ea6858361154b565b14610e3b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049d565b5f610e3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111c9565b5f600a54600c5411610f51575060075490565b600954600c54118015610f685750600554600c5411155b15610e78575060035490565b5f818311610f825782610e3b565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fce57610fce611477565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611025573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611049919061145c565b8160018151811061105c5761105c611477565b6001600160a01b039283166020918202929092010152600d5461108291309116846108b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110ba9085905f9086903090429060040161156a565b5f604051808303815f87803b1580156110d1575f80fd5b505af11580156110e3573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561112f573d5f803e3d5ffd5b5050565b5f8061113f8385611520565b905083811015610e3b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049d565b5f81848411156111b45760405162461bcd60e51b815260040161049d91906111f5565b505f6111c084866115a5565b95945050505050565b5f81836111e95760405162461bcd60e51b815260040161049d91906111f5565b505f6111c0848661154b565b5f6020808352835180828501525f5b8181101561122057858101830151858201604001528201611204565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610846575f80fd5b5f8060408385031215611265575f80fd5b823561127081611240565b946020939093013593505050565b5f805f60608486031215611290575f80fd5b833561129b81611240565b925060208401356112ab81611240565b929592945050506040919091013590565b5f602082840312156112cc575f80fd5b8135610e3b81611240565b5f80604083850312156112e8575f80fd5b82356112f381611240565b9150602083013561130381611240565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561135c57815f19048211156113425761134261130e565b8085161561134f57918102915b93841c9390800290611327565b509250929050565b5f8261137257506001610400565b8161137e57505f610400565b8160018114611394576002811461139e576113ba565b6001915050610400565b60ff8411156113af576113af61130e565b50506001821b610400565b5060208310610133831016604e8410600b84101617156113dd575081810a610400565b6113e78383611322565b805f19048211156113fa576113fa61130e565b029392505050565b5f610e3b60ff841683611364565b80820281158282048414176104005761040061130e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561146c575f80fd5b8151610e3b81611240565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b838110156114c25781516001600160a01b03168752958201959082019060010161149d565b509495945050505050565b848152608060208201525f6114e5608083018661148b565b6001600160a01b03949094166040830152506060015292915050565b5f60208284031215611511575f80fd5b81518015158114610e3b575f80fd5b808201808211156104005761040061130e565b5f600182016115445761154461130e565b5060010190565b5f8261156557634e487b7160e01b5f52601260045260245ffd5b500490565b85815284602082015260a060408201525f61158860a083018661148b565b6001600160a01b0394909416606083015250608001529392505050565b818103818111156104005761040061130e56fea2646970667358221220ec5219045608f1d46c21114a0059daaeea9b9ac82bd62c2dc16455983e670f2f64736f6c63430008150033
0x60806040526003600181905560028190558080556004819055601460058190556006556007819055600855600a60098181558180555f600b819055600c55600f805462ffffff60a81b1916600160b01b179055606491620000619190620005ab565b620000709062989680620005c2565b6200007c9190620005dc565b62000089906001620005c2565b6011556103e86200009d6009600a620005ab565b620000ac9062989680620005c2565b620000b89190620005dc565b620000c5906002620005c2565b6012556064620000d86009600a620005ab565b620000e79062989680620005c2565b620000f39190620005dc565b62000100906002620005c2565b6013556064620001136009600a620005ab565b620001229062989680620005c2565b6200012e9190620005dc565b6200013b906002620005c2565b6014553480156200014a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f8054735476483799d56aedc05b932b83c21d894fd3a3fe6001600160a01b031991821617909155600d8054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200020d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002339190620005fc565b6001600160a01b031663c9c6539630600d5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000293573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b99190620005fc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000304573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032a9190620005fc565b600e80546001600160a01b0319166001600160a01b03928316908117909155600d5460405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af11580156200038e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b4919062000624565b50620003c36009600a620005ab565b620003d29062989680620005c2565b335f81815260166020908152604080832094909455600f8054601080546001600160a01b0319166001600160a01b039283161790558354811684526018909252848320805460ff199081166001908117909255915490921683528483208054821683179055308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004766009600a620005ab565b620004859062989680620005c2565b60405190815260200160405180910390a362000645565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004f057815f1904821115620004d457620004d46200049c565b80851615620004e257918102915b93841c9390800290620004b5565b509250929050565b5f826200050857506001620005a5565b816200051657505f620005a5565b81600181146200052f57600281146200053a576200055a565b6001915050620005a5565b60ff8411156200054e576200054e6200049c565b50506001821b620005a5565b5060208310610133831016604e8410600b84101617156200057f575081810a620005a5565b6200058b8383620004b0565b805f1904821115620005a157620005a16200049c565b0290505b92915050565b5f620005bb60ff841683620004f8565b9392505050565b8082028115828204841417620005a557620005a56200049c565b5f82620005f757634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200060d575f80fd5b81516001600160a01b0381168114620005bb575f80fd5b5f6020828403121562000635575f80fd5b81518015158114620005bb575f80fd5b6115ee80620006535f395ff3fe608060405260043610610129575f3560e01c80638da5cb5b116100a8578063a9059cbb1161006d578063a9059cbb14610325578063bf474bed14610344578063c876d0b914610359578063c9567bf914610379578063dd62ed3e1461038d578063e6f70531146103d1575f80fd5b80638da5cb5b1461028b5780638f9a55c0146102b157806395d89b41146102c65780639e161d9a146102f2578063a0ef91df14610311575f80fd5b8063313ce567116100ee578063313ce567146101fd57806370a0823114610218578063715018a61461024c578063751039fc146102625780637d1db4a514610276575f80fd5b806306fdde0314610134578063095ea7b3146101785780630faee56f146101a757806318160ddd146101ca57806323b872dd146101de575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600a815269414920526f6d616e636560b01b60208201525b60405161016f91906111f5565b60405180910390f35b348015610183575f80fd5b50610197610192366004611254565b6103f0565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc60115481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc610406565b3480156101e9575f80fd5b506101976101f836600461127e565b610425565b348015610208575f80fd5b506040516009815260200161016f565b348015610223575f80fd5b506101bc6102323660046112bc565b6001600160a01b03165f9081526016602052604090205490565b348015610257575f80fd5b50610260610474565b005b34801561026d575f80fd5b506102606104ee565b348015610281575f80fd5b506101bc60145481565b348015610296575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102bc575f80fd5b506101bc60135481565b3480156102d1575f80fd5b50604080518082019091526004815263524f4d4f60e01b6020820152610162565b3480156102fd575f80fd5b5061026061030c366004611254565b6105a9565b34801561031c575f80fd5b506102606107ea565b348015610330575f80fd5b5061019761033f366004611254565b610849565b34801561034f575f80fd5b506101bc60125481565b348015610364575f80fd5b50600f5461019790600160b01b900460ff1681565b348015610384575f80fd5b50610260610855565b348015610398575f80fd5b506101bc6103a73660046112d7565b6001600160a01b039182165f90815260156020908152604080832093909416825291909152205490565b3480156103dc575f80fd5b506101976103eb366004611254565b6108af565b5f6103fc3384846108b8565b5060015b92915050565b5f6104136009600a611402565b6104209062989680611410565b905090565b5f61043184848461093c565b6001600160a01b0384165f9081526015602090815260408083203380855292529091205461046a9186916104659086610dfa565b6108b8565b5060019392505050565b5f546001600160a01b031633146104a65760405162461bcd60e51b815260040161049d90611427565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105175760405162461bcd60e51b815260040161049d90611427565b6105236009600a611402565b6105309062989680611410565b60145561053f6009600a611402565b61054c9062989680611410565b601355600f805460ff60b01b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105896009600a611402565b6105969062989680611410565b60405190815260200160405180910390a1565b6040805160028082526060820183525f926020830190803683375050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610610573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610634919061145c565b815f8151811061064657610646611477565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061067a5761067a611477565b60200260200101906001600160a01b031690816001600160a01b0316815250505f816001815181106106ae576106ae611477565b602090810291909101810151335f908152601890925260409091205490915060ff1661073f57600d5460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de9590859061070c905f9087908a9042906004016114cd565b5f604051808303818588803b158015610723575f80fd5b505af1158015610735573d5f803e3d5ffd5b50505050506107e4565b806001600160a01b03166323b872dd858460018151811061076257610762611477565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303815f875af11580156107be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e29190611501565b505b50505050565b600f546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610834576040519150601f19603f3d011682016040523d82523d5f602084013e610839565b606091505b5050905080610846575f80fd5b50565b5f6103fc33848461093c565b5f546001600160a01b0316331461087e5760405162461bcd60e51b815260040161049d90611427565b600f54600160a01b900460ff1615610894575f80fd5b600f805463ff0000ff60a01b1916630100000160a01b179055565b5f3061046a8482855b6001600160a01b0383166108ca575f80fd5b6001600160a01b0382166108dc575f80fd5b6001600160a01b038381165f8181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661094e575f80fd5b6001600160a01b038216610960575f80fd5b5f811161096b575f80fd5b5f80546001600160a01b0385811691161480159061099657505f546001600160a01b03848116911614155b15610cbd576109b860646109b26109ab610e42565b8590610e7f565b90610efd565b600f54909150600160a01b900460ff16610a11576001600160a01b0384165f9081526018602052604090205460ff1680610a0957506001600160a01b0383165f9081526018602052604090205460ff165b610a11575f80fd5b600f54600160b01b900460ff1615610a7f57600d546001600160a01b03848116911614801590610a4f5750600e546001600160a01b03848116911614155b15610a7f57325f908152601760205260409020544311610a6d575f80fd5b325f9081526017602052604090204390555b600e546001600160a01b038581169116148015610aaa5750600d546001600160a01b03848116911614155b8015610ace57506001600160a01b0383165f9081526018602052604090205460ff16155b15610b4557601454821115610ae1575f80fd5b60135482610b03856001600160a01b03165f9081526016602052604090205490565b610b0d9190611520565b1115610b17575f80fd5b600c8054905f610b2683611533565b9190505550600b54600c541115610b4557600f805460ff60b01b191690555b600e546001600160a01b038481169116148015610b6b57506001600160a01b0384163014155b15610b8357610b8060646109b26109ab610f3e565b90505b305f90815260166020526040902054601254600f5490821190600160a81b900460ff16158015610bbc5750600f54600160b81b900460ff165b8015610bd55750600e546001600160a01b038681169116145b8015610bde5750805b8015610c0257506001600160a01b0386165f9081526018602052604090205460ff16155b8015610c2657506001600160a01b0385165f9081526018602052604090205460ff16155b15610cba576010546001600160a01b03165f90815260166020526040812054610c54906103e8905b90610e7f565b90505f610c6c82601154610dfa90919063ffffffff16565b90505f610c798583610f74565b905047610c8e610c898984610f74565b610f88565b5f610ca360646109b26050610c4e4787610dfa565b90508015610cb457610cb4816110f8565b50505050505b50505b8015610d3557305f90815260166020526040902054610cdc9082611133565b305f81815260166020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260166020526040902054610d579083610dfa565b6001600160a01b0385165f90815260166020526040902055610d9a610d7c8383610dfa565b6001600160a01b0385165f9081526016602052604090205490611133565b6001600160a01b038085165f8181526016602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610de38585610dfa565b60405190815260200160405180910390a350505050565b5f610e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611191565b9392505050565b5f600a54600c5411610e55575060085490565b600a54600c54118015610e6c5750600654600c5411155b15610e78575060045490565b5060025490565b5f825f03610e8e57505f610400565b5f610e998385611410565b905082610ea6858361154b565b14610e3b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049d565b5f610e3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111c9565b5f600a54600c5411610f51575060075490565b600954600c54118015610f685750600554600c5411155b15610e78575060035490565b5f818311610f825782610e3b565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fce57610fce611477565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611025573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611049919061145c565b8160018151811061105c5761105c611477565b6001600160a01b039283166020918202929092010152600d5461108291309116846108b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110ba9085905f9086903090429060040161156a565b5f604051808303815f87803b1580156110d1575f80fd5b505af11580156110e3573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561112f573d5f803e3d5ffd5b5050565b5f8061113f8385611520565b905083811015610e3b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049d565b5f81848411156111b45760405162461bcd60e51b815260040161049d91906111f5565b505f6111c084866115a5565b95945050505050565b5f81836111e95760405162461bcd60e51b815260040161049d91906111f5565b505f6111c0848661154b565b5f6020808352835180828501525f5b8181101561122057858101830151858201604001528201611204565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610846575f80fd5b5f8060408385031215611265575f80fd5b823561127081611240565b946020939093013593505050565b5f805f60608486031215611290575f80fd5b833561129b81611240565b925060208401356112ab81611240565b929592945050506040919091013590565b5f602082840312156112cc575f80fd5b8135610e3b81611240565b5f80604083850312156112e8575f80fd5b82356112f381611240565b9150602083013561130381611240565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561135c57815f19048211156113425761134261130e565b8085161561134f57918102915b93841c9390800290611327565b509250929050565b5f8261137257506001610400565b8161137e57505f610400565b8160018114611394576002811461139e576113ba565b6001915050610400565b60ff8411156113af576113af61130e565b50506001821b610400565b5060208310610133831016604e8410600b84101617156113dd575081810a610400565b6113e78383611322565b805f19048211156113fa576113fa61130e565b029392505050565b5f610e3b60ff841683611364565b80820281158282048414176104005761040061130e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561146c575f80fd5b8151610e3b81611240565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b838110156114c25781516001600160a01b03168752958201959082019060010161149d565b509495945050505050565b848152608060208201525f6114e5608083018661148b565b6001600160a01b03949094166040830152506060015292915050565b5f60208284031215611511575f80fd5b81518015158114610e3b575f80fd5b808201808211156104005761040061130e565b5f600182016115445761154461130e565b5060010190565b5f8261156557634e487b7160e01b5f52601260045260245ffd5b500490565b85815284602082015260a060408201525f61158860a083018661148b565b6001600160a01b0394909416606083015250608001529392505050565b818103818111156104005761040061130e56fea2646970667358221220ec5219045608f1d46c21114a0059daaeea9b9ac82bd62c2dc16455983e670f2f64736f6c63430008150033