0x60806040526004361061021e5760003560e01c8063751039fc11610123578063b9a49dda116100ab578063dd62ed3e1161006f578063dd62ed3e1461061e578063ef33e22114610664578063f2fde38b1461067a578063f7b162631461069a578063f8b45b05146106b057600080fd5b8063b9a49dda1461058c578063c69267bb146105a2578063c7c2c2e5146105b8578063c816841b146105ce578063d94160e0146105ee57600080fd5b80639219f2c1116100f25780639219f2c1146104f0578063931d8df41461052057806395d89b4114610536578063a9059cbb1461054b578063b9475ab21461056b57600080fd5b8063751039fc14610491578063766ea415146104a657806384712172146104bc5780638da5cb5b146104d257600080fd5b806349ce6a64116101a65780636ddfc2cc116101755780636ddfc2cc146103c657806370a08231146103f6578063715018a61461042c578063735de9f7146104435780637437681e1461047b57600080fd5b806349ce6a64146103635780634fc75740146103795780635e300b951461038f5780636ddd1713146103a557600080fd5b80631b5630c6116101ed5780631b5630c6146102d457806323b872dd146102f5578063313ce56714610315578063319300ee146103375780633a98ef391461034d57600080fd5b806306fdde031461022a578063095ea7b31461025557806315b2c3681461028557806318160ddd146102b557600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061023f6106c6565b60405161024c9190611597565b60405180910390f35b34801561026157600080fd5b506102756102703660046115fd565b610758565b604051901515815260200161024c565b34801561029157600080fd5b506102756102a0366004611629565b600a6020526000908152604090205460ff1681565b3480156102c157600080fd5b506005545b60405190815260200161024c565b3480156102e057600080fd5b50601e5461027590600160b01b900460ff1681565b34801561030157600080fd5b50610275610310366004611646565b61076f565b34801561032157600080fd5b5060045460405160ff909116815260200161024c565b34801561034357600080fd5b506102c660165481565b34801561035957600080fd5b506102c6601a5481565b34801561036f57600080fd5b506102c660185481565b34801561038557600080fd5b506102c6600f5481565b34801561039b57600080fd5b506102c660145481565b3480156103b157600080fd5b50601e5461027590600160a81b900460ff1681565b3480156103d257600080fd5b506102756103e1366004611629565b60096020526000908152604090205460ff1681565b34801561040257600080fd5b506102c6610411366004611629565b6001600160a01b031660009081526006602052604090205490565b34801561043857600080fd5b506104416107da565b005b34801561044f57600080fd5b50601d54610463906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b34801561048757600080fd5b506102c6600c5481565b34801561049d57600080fd5b50610441610857565b3480156104b257600080fd5b506102c660125481565b3480156104c857600080fd5b506102c6600e5481565b3480156104de57600080fd5b506000546001600160a01b0316610463565b3480156104fc57600080fd5b5061027561050b366004611629565b600b6020526000908152604090205460ff1681565b34801561052c57600080fd5b506102c660175481565b34801561054257600080fd5b5061023f6108aa565b34801561055757600080fd5b506102756105663660046115fd565b6108b9565b34801561057757600080fd5b50601e5461027590600160b81b900460ff1681565b34801561059857600080fd5b506102c660155481565b3480156105ae57600080fd5b506102c660195481565b3480156105c457600080fd5b506102c660135481565b3480156105da57600080fd5b50601e54610463906001600160a01b031681565b3480156105fa57600080fd5b50610275610609366004611629565b60086020526000908152604090205460ff1681565b34801561062a57600080fd5b506102c6610639366004611687565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561067057600080fd5b506102c660105481565b34801561068657600080fd5b50610441610695366004611629565b6108c6565b3480156106a657600080fd5b506102c660115481565b3480156106bc57600080fd5b506102c6600d5481565b6060600280546106d5906116c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610701906116c0565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b60006107653384846109b0565b5060015b92915050565b600061077c848484610ad4565b506107cf84336107ca85604051806060016040528060288152602001611849602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610f32565b6109b0565b5060015b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610804906116fa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108815760405162461bcd60e51b8152600401610804906116fa565b600554600c55601e805460ff60b81b191690556002601081905560148190556012819055601655565b6060600380546106d5906116c0565b60006107cf338484610ad4565b6000546001600160a01b031633146108f05760405162461bcd60e51b8152600401610804906116fa565b6001600160a01b0381166109555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b038216610a735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b038316610b9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b601e54600160a01b900460ff1615610bc057610bb9848484610f6c565b90506107d3565b6001600160a01b0384166000908152600a602052604090205460ff16158015610c0257506001600160a01b0383166000908152600a602052604090205460ff16155b15610c6457600c54821115610c645760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152613c1760f11b6064820152608401610804565b30600090815260066020526040902054600e5481108015908190610c925750601e54600160a01b900460ff16155b8015610cb657506001600160a01b0385166000908152600b602052604090205460ff165b8015610ccb5750601e54600160a81b900460ff165b8015610cf057506001600160a01b03861660009081526008602052604090205460ff16155b8015610cfd5750600e5484115b15610d2357601e54600160b01b900460ff1615610d1a57600e5491505b610d2382611052565b6001600160a01b03861660009081526008602052604081205460ff1680610d6257506001600160a01b03861660009081526008602052604090205460ff165b610d7657610d71878787611169565b610d78565b845b601e54909150600160b81b900460ff168015610dad57506001600160a01b03861660009081526009602052604090205460ff16155b15610de957600d54610dde82610dd8896001600160a01b031660009081526006602052604090205490565b9061126f565b1115610de957600080fd5b601e54600090600160b81b900460ff16158015610e1e57506001600160a01b03881660009081526008602052604090205460ff165b610e285785610e32565b610e3286836112ce565b9050610e9a8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f329092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610ec9908361126f565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1d9086815260200190565b60405180910390a360019450505050506107d3565b60008184841115610f565760405162461bcd60e51b81526004016108049190611597565b506000610f638486611745565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610fbd918490610f32565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610fec908361126f565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110409086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601a54601754600091611088916002916110829182908790611310565b90611392565b9050600061109683836112ce565b90506110a1816113d4565b60175447906000906110c1906110b8906002611392565b601a54906112ce565b905060006110e36002611082846110826017548861131090919063ffffffff16565b90506000611100836110826019548761131090919063ffffffff16565b905060006111188261111287866112ce565b906112ce565b9050801561113657601b54611136906001600160a01b03168261152e565b811561115257601c54611152906001600160a01b03168361152e565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156111ad576111a660646110826012548661131090919063ffffffff16565b90506111eb565b6001600160a01b0384166000908152600b602052604090205460ff16156111eb576111e860646110826016548661131090919063ffffffff16565b90505b8015611265573060009081526006602052604090205461120b908261126f565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125c9085815260200190565b60405180910390a35b610f6383826112ce565b60008061127c8385611758565b9050838110156107d35760405162461bcd60e51b815260206004820152601b60248201527f536166754d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610804565b60006107d383836040518060400160405280601e81526020017f536166754d6174683a207375627472616374696f6e206f766572666c6f770000815250610f32565b60008260000361132257506000610769565b600061132e838561176b565b90508261133b8583611782565b146107d35760405162461bcd60e51b815260206004820152602160248201527f536166754d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610804565b60006107d383836040518060400160405280601a81526020017f536166754d6174683a206469766973696f6e206279207a65726f000000000000815250611569565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611409576114096117a4565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906117ba565b81600181518110611499576114996117a4565b6001600160a01b039283166020918202929092010152601d546114bf91309116846109b0565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114f89085906000908690309042906004016117d7565b600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611564573d6000803e3d6000fd5b505050565b6000818361158a5760405162461bcd60e51b81526004016108049190611597565b506000610f638486611782565b600060208083528351808285015260005b818110156115c4578581018301518582016040015282016115a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fa57600080fd5b50565b6000806040838503121561161057600080fd5b823561161b816115e5565b946020939093013593505050565b60006020828403121561163b57600080fd5b81356107d3816115e5565b60008060006060848603121561165b57600080fd5b8335611666816115e5565b92506020840135611676816115e5565b929592945050506040919091013590565b6000806040838503121561169a57600080fd5b82356116a5816115e5565b915060208301356116b5816115e5565b809150509250929050565b600181811c908216806116d457607f821691505b6020821081036116f457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107695761076961172f565b808201808211156107695761076961172f565b80820281158282048414176107695761076961172f565b60008261179f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117cc57600080fd5b81516107d3816115e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118275784516001600160a01b031683529383019391830191600101611802565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122042deff5275ef63a4a72a6f587ce7d4fd1d4e68cc52ab2c5ab98ecd071b4bfefd64736f6c63430008130033
0x60c0604052600960809081526823b7b3b29021b63ab160b91b60a0526002906200002a908262000678565b50604080518082019091526004815263474f474560e01b602082015260039062000055908262000678565b506004805460ff19166009179055670de0b6b3a76400006005556658d15e17628000600c819055600d556509184e72a000600e556000600f819055601960108190556011829055601281905560138290556014819055601582905560168190556017829055600a6018819055919055601a55601e80546201000160a81b62ffffff60a81b19909116179055348015620000ed57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa15801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000744565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000230919062000744565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a4919062000744565b601e80546001600160a01b039283166001600160a01b031991821617909155601d805492841692909116821790556005543060009081526007602090815260408083209483529390529190912055601154601054600f546200031492916200030d919062000564565b9062000564565b6012556015546014546013546200033292916200030d919062000564565b6016556019546018546017546200035092916200030d919062000564565b601a55601b80547379eeab2680426815bcda11f3b53d56fefbd82f4b6001600160a01b03199182168117909255601c80549091169091179055600160086000620003a26000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601b54821681526008909352818320805485166001908117909155601c54909116835290822080549093168117909255600990620004166000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601e549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004866000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601b5482168152600a8452828120805486166001908117909155601c548316825283822080548716821790553082528382208054871682179055601e549092168152600b909352912080549092161790556200050d3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200055591815260200190565b60405180910390a35062000791565b6000806200057383856200076f565b905083811015620005ca5760405162461bcd60e51b815260206004820152601b60248201527f536166754d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005fe57607f821691505b6020821081036200061f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200067357600081815260208120601f850160051c810160208610156200064e5750805b601f850160051c820191505b818110156200066f578281556001016200065a565b5050505b505050565b81516001600160401b03811115620006945762000694620005d3565b620006ac81620006a58454620005e9565b8462000625565b602080601f831160018114620006e45760008415620006cb5750858301515b600019600386901b1c1916600185901b1785556200066f565b600085815260208120601f198616915b828110156200071557888601518255948401946001909101908401620006f4565b5085821015620007345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200075757600080fd5b81516001600160a01b0381168114620005ca57600080fd5b80820180821115620005cd57634e487b7160e01b600052601160045260246000fd5b6118a680620007a16000396000f3fe60806040526004361061021e5760003560e01c8063751039fc11610123578063b9a49dda116100ab578063dd62ed3e1161006f578063dd62ed3e1461061e578063ef33e22114610664578063f2fde38b1461067a578063f7b162631461069a578063f8b45b05146106b057600080fd5b8063b9a49dda1461058c578063c69267bb146105a2578063c7c2c2e5146105b8578063c816841b146105ce578063d94160e0146105ee57600080fd5b80639219f2c1116100f25780639219f2c1146104f0578063931d8df41461052057806395d89b4114610536578063a9059cbb1461054b578063b9475ab21461056b57600080fd5b8063751039fc14610491578063766ea415146104a657806384712172146104bc5780638da5cb5b146104d257600080fd5b806349ce6a64116101a65780636ddfc2cc116101755780636ddfc2cc146103c657806370a08231146103f6578063715018a61461042c578063735de9f7146104435780637437681e1461047b57600080fd5b806349ce6a64146103635780634fc75740146103795780635e300b951461038f5780636ddd1713146103a557600080fd5b80631b5630c6116101ed5780631b5630c6146102d457806323b872dd146102f5578063313ce56714610315578063319300ee146103375780633a98ef391461034d57600080fd5b806306fdde031461022a578063095ea7b31461025557806315b2c3681461028557806318160ddd146102b557600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061023f6106c6565b60405161024c9190611597565b60405180910390f35b34801561026157600080fd5b506102756102703660046115fd565b610758565b604051901515815260200161024c565b34801561029157600080fd5b506102756102a0366004611629565b600a6020526000908152604090205460ff1681565b3480156102c157600080fd5b506005545b60405190815260200161024c565b3480156102e057600080fd5b50601e5461027590600160b01b900460ff1681565b34801561030157600080fd5b50610275610310366004611646565b61076f565b34801561032157600080fd5b5060045460405160ff909116815260200161024c565b34801561034357600080fd5b506102c660165481565b34801561035957600080fd5b506102c6601a5481565b34801561036f57600080fd5b506102c660185481565b34801561038557600080fd5b506102c6600f5481565b34801561039b57600080fd5b506102c660145481565b3480156103b157600080fd5b50601e5461027590600160a81b900460ff1681565b3480156103d257600080fd5b506102756103e1366004611629565b60096020526000908152604090205460ff1681565b34801561040257600080fd5b506102c6610411366004611629565b6001600160a01b031660009081526006602052604090205490565b34801561043857600080fd5b506104416107da565b005b34801561044f57600080fd5b50601d54610463906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b34801561048757600080fd5b506102c6600c5481565b34801561049d57600080fd5b50610441610857565b3480156104b257600080fd5b506102c660125481565b3480156104c857600080fd5b506102c6600e5481565b3480156104de57600080fd5b506000546001600160a01b0316610463565b3480156104fc57600080fd5b5061027561050b366004611629565b600b6020526000908152604090205460ff1681565b34801561052c57600080fd5b506102c660175481565b34801561054257600080fd5b5061023f6108aa565b34801561055757600080fd5b506102756105663660046115fd565b6108b9565b34801561057757600080fd5b50601e5461027590600160b81b900460ff1681565b34801561059857600080fd5b506102c660155481565b3480156105ae57600080fd5b506102c660195481565b3480156105c457600080fd5b506102c660135481565b3480156105da57600080fd5b50601e54610463906001600160a01b031681565b3480156105fa57600080fd5b50610275610609366004611629565b60086020526000908152604090205460ff1681565b34801561062a57600080fd5b506102c6610639366004611687565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561067057600080fd5b506102c660105481565b34801561068657600080fd5b50610441610695366004611629565b6108c6565b3480156106a657600080fd5b506102c660115481565b3480156106bc57600080fd5b506102c6600d5481565b6060600280546106d5906116c0565b80601f0160208091040260200160405190810160405280929190818152602001828054610701906116c0565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b60006107653384846109b0565b5060015b92915050565b600061077c848484610ad4565b506107cf84336107ca85604051806060016040528060288152602001611849602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610f32565b6109b0565b5060015b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610804906116fa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108815760405162461bcd60e51b8152600401610804906116fa565b600554600c55601e805460ff60b81b191690556002601081905560148190556012819055601655565b6060600380546106d5906116c0565b60006107cf338484610ad4565b6000546001600160a01b031633146108f05760405162461bcd60e51b8152600401610804906116fa565b6001600160a01b0381166109555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b038216610a735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b038316610b9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b601e54600160a01b900460ff1615610bc057610bb9848484610f6c565b90506107d3565b6001600160a01b0384166000908152600a602052604090205460ff16158015610c0257506001600160a01b0383166000908152600a602052604090205460ff16155b15610c6457600c54821115610c645760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152613c1760f11b6064820152608401610804565b30600090815260066020526040902054600e5481108015908190610c925750601e54600160a01b900460ff16155b8015610cb657506001600160a01b0385166000908152600b602052604090205460ff165b8015610ccb5750601e54600160a81b900460ff165b8015610cf057506001600160a01b03861660009081526008602052604090205460ff16155b8015610cfd5750600e5484115b15610d2357601e54600160b01b900460ff1615610d1a57600e5491505b610d2382611052565b6001600160a01b03861660009081526008602052604081205460ff1680610d6257506001600160a01b03861660009081526008602052604090205460ff165b610d7657610d71878787611169565b610d78565b845b601e54909150600160b81b900460ff168015610dad57506001600160a01b03861660009081526009602052604090205460ff16155b15610de957600d54610dde82610dd8896001600160a01b031660009081526006602052604090205490565b9061126f565b1115610de957600080fd5b601e54600090600160b81b900460ff16158015610e1e57506001600160a01b03881660009081526008602052604090205460ff165b610e285785610e32565b610e3286836112ce565b9050610e9a8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f329092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610ec9908361126f565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1d9086815260200190565b60405180910390a360019450505050506107d3565b60008184841115610f565760405162461bcd60e51b81526004016108049190611597565b506000610f638486611745565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610fbd918490610f32565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610fec908361126f565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110409086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601a54601754600091611088916002916110829182908790611310565b90611392565b9050600061109683836112ce565b90506110a1816113d4565b60175447906000906110c1906110b8906002611392565b601a54906112ce565b905060006110e36002611082846110826017548861131090919063ffffffff16565b90506000611100836110826019548761131090919063ffffffff16565b905060006111188261111287866112ce565b906112ce565b9050801561113657601b54611136906001600160a01b03168261152e565b811561115257601c54611152906001600160a01b03168361152e565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156111ad576111a660646110826012548661131090919063ffffffff16565b90506111eb565b6001600160a01b0384166000908152600b602052604090205460ff16156111eb576111e860646110826016548661131090919063ffffffff16565b90505b8015611265573060009081526006602052604090205461120b908261126f565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125c9085815260200190565b60405180910390a35b610f6383826112ce565b60008061127c8385611758565b9050838110156107d35760405162461bcd60e51b815260206004820152601b60248201527f536166754d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610804565b60006107d383836040518060400160405280601e81526020017f536166754d6174683a207375627472616374696f6e206f766572666c6f770000815250610f32565b60008260000361132257506000610769565b600061132e838561176b565b90508261133b8583611782565b146107d35760405162461bcd60e51b815260206004820152602160248201527f536166754d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610804565b60006107d383836040518060400160405280601a81526020017f536166754d6174683a206469766973696f6e206279207a65726f000000000000815250611569565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611409576114096117a4565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906117ba565b81600181518110611499576114996117a4565b6001600160a01b039283166020918202929092010152601d546114bf91309116846109b0565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114f89085906000908690309042906004016117d7565b600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611564573d6000803e3d6000fd5b505050565b6000818361158a5760405162461bcd60e51b81526004016108049190611597565b506000610f638486611782565b600060208083528351808285015260005b818110156115c4578581018301518582016040015282016115a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fa57600080fd5b50565b6000806040838503121561161057600080fd5b823561161b816115e5565b946020939093013593505050565b60006020828403121561163b57600080fd5b81356107d3816115e5565b60008060006060848603121561165b57600080fd5b8335611666816115e5565b92506020840135611676816115e5565b929592945050506040919091013590565b6000806040838503121561169a57600080fd5b82356116a5816115e5565b915060208301356116b5816115e5565b809150509250929050565b600181811c908216806116d457607f821691505b6020821081036116f457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107695761076961172f565b808201808211156107695761076961172f565b80820281158282048414176107695761076961172f565b60008261179f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117cc57600080fd5b81516107d3816115e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118275784516001600160a01b031683529383019391830191600101611802565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122042deff5275ef63a4a72a6f587ce7d4fd1d4e68cc52ab2c5ab98ecd071b4bfefd64736f6c63430008130033