0 txs
0 calls
constructor
constructor(address _feeWallet, address[] priviledgedUserList)
functions
feeWallet
viewfunction feeWallet() view returns (address)
owner
viewfunction owner() view returns (address)
algebraSwapCallback
nonpayablefunction algebraSwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
pancakeV3SwapCallback
nonpayablefunction pancakeV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
pause
nonpayablefunction pause()
processRoute
payablefunction processRoute(address tokenIn, uint256 amountIn, address tokenOut, uint256 amountOutMin, uint256 estimatedFee, address to, bytes route) payable returns (uint256 amountOut)
renounceOwnership
nonpayablefunction renounceOwnership()
resume
nonpayablefunction resume()
setFeeWallet
nonpayablefunction setFeeWallet(address _feeWallet)
setPriviledge
nonpayablefunction setPriviledge(address user, bool priviledge)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferValueAndprocessRoute
payablefunction transferValueAndprocessRoute(address transferValueTo, uint256 amountValueTransfer, address tokenIn, uint256 amountIn, address tokenOut, uint256 amountOutMin, uint256 estimatedFee, address to, bytes route) payable returns (uint256 amountOut)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Route
event Route(address indexed from, address to, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOutMin, uint256 amountOut)
errors
No errors.
creation bytecode
0x60806040526001600360146101000a81548160ff021916908360ff1602179055506001600360156101000a81548160ff021916908360ff1602179055503480156200004957600080fd5b5060405162004b5f38038062004b5f83398181016040528101906200006f91906200046d565b6200008f62000083620001b360201b60201c565b620001bb60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b8151811015620001aa576001600260008484815181106200013b576200013a620004d3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620001a1906200053b565b91505062000115565b50505062000588565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002c08262000293565b9050919050565b620002d281620002b3565b8114620002de57600080fd5b50565b600081519050620002f281620002c7565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200034882620002fd565b810181811067ffffffffffffffff821117156200036a57620003696200030e565b5b80604052505050565b60006200037f6200027f565b90506200038d82826200033d565b919050565b600067ffffffffffffffff821115620003b057620003af6200030e565b5b602082029050602081019050919050565b600080fd5b6000620003dd620003d78462000392565b62000373565b90508083825260208201905060208402830185811115620004035762000402620003c1565b5b835b818110156200043057806200041b8882620002e1565b84526020840193505060208101905062000405565b5050509392505050565b600082601f830112620004525762000451620002f8565b5b815162000464848260208601620003c6565b91505092915050565b6000806040838503121562000487576200048662000289565b5b60006200049785828601620002e1565b925050602083015167ffffffffffffffff811115620004bb57620004ba6200028e565b5b620004c9858286016200043a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000620005488262000531565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200057d576200057c62000502565b5b600182019050919050565b6145c780620005986000396000f3fe6080604052600436106100c65760003560e01c80638da5cb5b1161007f578063eaa6062b11610059578063eaa6062b14610216578063f25f4b5614610246578063f2fde38b14610271578063fa461e331461029a576100cd565b80638da5cb5b1461019957806390d49b9d146101c45780639a1f3406146101ed576100cd565b8063046f7da2146100d257806323a69e75146100e95780632c8958f6146101125780636d12c3391461013b578063715018a61461016b5780638456cb5914610182576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102c3565b005b3480156100f557600080fd5b50610110600480360381019061010b9190612b7f565b6103b1565b005b34801561011e57600080fd5b5061013960048036038101906101349190612b7f565b61051f565b005b61015560048036038101906101509190612dc8565b61068d565b6040516101629190612e95565b60405180910390f35b34801561017757600080fd5b5061018061080f565b005b34801561018e57600080fd5b50610197610823565b005b3480156101a557600080fd5b506101ae610911565b6040516101bb9190612ebf565b60405180910390f35b3480156101d057600080fd5b506101eb60048036038101906101e69190612eda565b61093a565b005b3480156101f957600080fd5b50610214600480360381019061020f9190612f3f565b610a4e565b005b610230600480360381019061022b9190612fbd565b610ab1565b60405161023d9190612e95565b60405180910390f35b34801561025257600080fd5b5061025b610d08565b6040516102689190612ebf565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612eda565b610d2e565b005b3480156102a657600080fd5b506102c160048036038101906102bc9190612b7f565b610db1565b005b6102cb610911565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610354575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b610393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038a90613126565b60405180910390fd5b6001600360156101000a81548160ff021916908360ff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610441576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610438906131de565b60405180910390fd5b6001600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000828281019061049491906131fe565b905060008086136104a557846104a7565b855b9050600081136104ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e39061329d565b60405180910390fd5b61051733828473ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a69061332f565b60405180910390fd5b6001600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000828281019061060291906131fe565b905060008086136106135784610615565b855b90506000811361065a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610651906133c1565b60405180910390fd5b61068533828473ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b505050505050565b60006001600360149054906101000a900460ff1660ff16146106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db9061342d565b60405180910390fd5b6001600360159054906101000a900460ff1660ff1614610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090613499565b60405180910390fd5b6002600360146101000a81548160ff021916908360ff16021790555061076488888888888888610fa5565b90508573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b8994868b8a876040516107e094939291906134b9565b60405180910390a46001600360146101000a81548160ff021916908360ff160217905550979650505050505050565b6108176114e1565b610821600061155f565b565b61082b610911565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b4575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b6108f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ea90613126565b60405180910390fd5b6002600360156101000a81548160ff021916908360ff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610942610911565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109cb575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190613126565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a566114e1565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006001600360149054906101000a900460ff1660ff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff9061342d565b60405180910390fd5b6001600360159054906101000a900460ff1660ff1614610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5490613499565b60405180910390fd5b6002600360146101000a81548160ff021916908360ff1602179055506000808b73ffffffffffffffffffffffffffffffffffffffff168b604051610ba09061352f565b60006040518083038185875af1925050503d8060008114610bdd576040519150601f19603f3d011682016040523d82523d6000602084013e610be2565b606091505b50915091508181604051602001610bf991906135aa565b60405160208183030381529060405290610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c409190613605565b60405180910390fd5b50610c598a8a8a8a8a8a8a610fa5565b92508773ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b8994888d8c89604051610cd594939291906134b9565b60405180910390a450506001600360146101000a81548160ff021916908360ff1602179055509998505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d366114e1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90613699565b60405180910390fd5b610dae8161155f565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e389061372b565b60405180910390fd5b6001600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008282810190610e9491906131fe565b90506000808613610ea55784610ea7565b855b905060008113610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee3906137bd565b60405180910390fd5b610f1733828473ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b505050505050565b610fa08363a9059cbb60e01b8484604051602401610f3e9291906137dd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611623565b505050565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161461106e578873ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016110289190612ebf565b602060405180830381865afa158015611045573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611069919061381b565b611070565b475b9050600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461113a578773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110f49190612ebf565b602060405180830381865afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611135919061381b565b61113c565b475b90506000611149856116eb565b90505b6111558161170c565b1561122b57600061116582611728565b905060018160ff16036111805761117b8261173f565b611225565b60028160ff160361119a57611195828c6117eb565b611224565b60038160ff16036111b3576111ae82611809565b611223565b60048160ff16036111cc576111c782611832565b611222565b60058160ff16036111e6576111e18c83611850565b611221565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611218906138ba565b60405180910390fd5b5b5b5b5b5061114c565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16146112f3578b73ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016112ad9190612ebf565b602060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ee919061381b565b6112f5565b475b9050838b826113049190613909565b1015611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c906139af565b60405180910390fd5b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff161461140d578a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113c79190612ebf565b602060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611408919061381b565b611426565b3073ffffffffffffffffffffffffffffffffffffffff16315b905089846114349190613909565b811015611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90613a41565b60405180910390fd5b83816114829190613a61565b955061149a8b898b896114959190613a61565b6118cf565b60008911156114d1576114d08b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b6118cf565b5b5050505050979650505050505050565b6114e96119f9565b73ffffffffffffffffffffffffffffffffffffffff16611507610911565b73ffffffffffffffffffffffffffffffffffffffff161461155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490613ae1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611685826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a019092919063ffffffff16565b90506000815114806116a75750808060200190518101906116a69190613b16565b5b6116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd90613bb5565b60405180910390fd5b505050565b60006040519050604081016040528181528151808301602083015250919050565b6000806000835191506020840151905080821092505050919050565b600081516001810190508051915080835250919050565b600061174a82611a19565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117879190612ebf565b602060405180830381865afa1580156117a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c8919061381b565b905060008111156117da576001810390505b6117e683308484611a30565b505050565b60006117f683611a19565b905061180483338385611a30565b505050565b600047905061182e823073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84611a30565b5050565b600061183d82611a19565b905061184c8230836000611a9b565b5050565b600061185b82611b5d565b9050600061186883611b5d565b9050600061187584611728565b9050600061188285611b74565b9050600061188f86611b74565b90506118c6333087878787878e73ffffffffffffffffffffffffffffffffffffffff16611b8b90979695949392919063ffffffff16565b50505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c85760008273ffffffffffffffffffffffffffffffffffffffff168260405161193c9061352f565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990613c47565b60405180910390fd5b506119f4565b6119f382828573ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b5b505050565b600033905090565b6060611a108484600085611d58565b90509392505050565b600081516014810190508051915080835250919050565b6000611a3b85611728565b905060005b8160ff16811015611a93576000611a5687611e25565b9050600061ffff8261ffff16860281611a7257611a71613c67565b5b0490508085039450611a8688888884611a9b565b5050806001019050611a40565b505050505050565b6000611aa685611728565b905060008160ff1603611ac457611abf85858585611e3c565b611b56565b60018160ff1603611ae057611adb858585856121bd565b611b55565b60028160ff1603611afc57611af785858585612474565b611b54565b60038160ff1603611b1857611b13858585856126a8565b611b53565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4a90613d08565b60405180910390fd5b5b5b5b5050505050565b600081516020810190508051915080835250919050565b600081516020810190508051915080835250919050565b60008873ffffffffffffffffffffffffffffffffffffffff16637ecebe00896040518263ffffffff1660e01b8152600401611bc69190612ebf565b602060405180830381865afa158015611be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c07919061381b565b90508873ffffffffffffffffffffffffffffffffffffffff1663d505accf898989898989896040518863ffffffff1660e01b8152600401611c4e9796959493929190613d5d565b600060405180830381600087803b158015611c6857600080fd5b505af1158015611c7c573d6000803e3d6000fd5b5050505060008973ffffffffffffffffffffffffffffffffffffffff16637ecebe008a6040518263ffffffff1660e01b8152600401611cbb9190612ebf565b602060405180830381865afa158015611cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfc919061381b565b9050600182611d0b9190613909565b8114611d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4390613e3e565b60405180910390fd5b50505050505050505050565b606082471015611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490613ed0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611dc691906135aa565b60006040518083038185875af1925050503d8060008114611e03576040519150601f19603f3d011682016040523d82523d6000602084013e611e08565b606091505b5091509150611e198783838761295f565b92505050949350505050565b600081516002810190508051915080835250919050565b6000611e4785611a19565b90506000611e5486611728565b90506000611e6187611a19565b90506000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed59190613f72565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611f0a5750600081115b611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4090614011565b60405180910390fd5b60008060018660ff1614611f5e578284611f61565b83835b9150915060008814612003573073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1603611fd057611fcb87898b73ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b611ffe565b611ffd8a888a8c73ffffffffffffffffffffffffffffffffffffffff166129d4909392919063ffffffff16565b5b61208b565b818973ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b815260040161203d9190612ebf565b602060405180830381865afa15801561205a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207e919061381b565b6120889190613a61565b97505b60006103e58961209b9190614031565b90506000816103e8856120ae9190614031565b6120b89190613909565b83836120c49190614031565b6120ce9190614073565b905060008060018a60ff16146120e6578260006120ea565b6000835b915091508a73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f83838c600067ffffffffffffffff81111561212857612127612c9d565b5b6040519080825280601f01601f19166020018201604052801561215a5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b815260040161217a94939291906140ee565b600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b50505050505050505050505050505050505050565b60006121c885611a19565b90506000806121d687611728565b60ff1611905060006121e787611a19565b90503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146122b8573373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461228a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612281906141ac565b60405180910390fd5b6122b73330868873ffffffffffffffffffffffffffffffffffffffff166129d4909392919063ffffffff16565b5b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff1663128acb088284878661234357600173fffd8963efd1fc6a506488495d951d5263988d2661233e91906141cc565b612356565b60016401000276a36123559190614214565b5b8a6040516020016123679190612ebf565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612396959493929190614289565b60408051808303816000875af11580156123b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d891906142f8565b5050600173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461246b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612462906143aa565b60405180910390fd5b50505050505050565b600061247f85611728565b9050600061248c86611a19565b9050600180831660ff160361257d5760006124a687611a19565b905060006002841660ff1603612518578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124fe57600080fd5b505af1158015612512573d6000803e3d6000fd5b50505050505b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125775761257682858373ffffffffffffffffffffffffffffffffffffffff16610f1f9092919063ffffffff16565b5b506126a0565b60006002831660ff1603612658573073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146125ec576125eb8530858773ffffffffffffffffffffffffffffffffffffffff166129d4909392919063ffffffff16565b5b8373ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d846040518263ffffffff1660e01b81526004016126259190612e95565b600060405180830381600087803b15801561263f57600080fd5b505af1158015612653573d6000803e3d6000fd5b505050505b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561269e573d6000803e3d6000fd5b505b505050505050565b60006126b385611a19565b90506000806126c187611728565b60ff1611905060006126d287611a19565b90503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146127a3573373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276c9061443c565b60405180910390fd5b6127a23330868873ffffffffffffffffffffffffffffffffffffffff166129d4909392919063ffffffff16565b5b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff1663128acb088284878661282e57600173fffd8963efd1fc6a506488495d951d5263988d2661282991906141cc565b612841565b60016401000276a36128409190614214565b5b8a6040516020016128529190612ebf565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612881959493929190614289565b60408051808303816000875af115801561289f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c391906142f8565b5050600173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294d906144ce565b60405180910390fd5b50505050505050565b606083156129c15760008351036129b95761297985612a5d565b6129b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129af9061453a565b60405180910390fd5b5b8290506129cc565b6129cb8383612a80565b5b949350505050565b612a57846323b872dd60e01b8585856040516024016129f59392919061455a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611623565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115612a935781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac79190613605565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b6000819050919050565b612af781612ae4565b8114612b0257600080fd5b50565b600081359050612b1481612aee565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612b3f57612b3e612b1a565b5b8235905067ffffffffffffffff811115612b5c57612b5b612b1f565b5b602083019150836001820283011115612b7857612b77612b24565b5b9250929050565b60008060008060608587031215612b9957612b98612ada565b5b6000612ba787828801612b05565b9450506020612bb887828801612b05565b935050604085013567ffffffffffffffff811115612bd957612bd8612adf565b5b612be587828801612b29565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1e82612bf3565b9050919050565b612c2e81612c13565b8114612c3957600080fd5b50565b600081359050612c4b81612c25565b92915050565b6000819050919050565b612c6481612c51565b8114612c6f57600080fd5b50565b600081359050612c8181612c5b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612cd582612c8c565b810181811067ffffffffffffffff82111715612cf457612cf3612c9d565b5b80604052505050565b6000612d07612ad0565b9050612d138282612ccc565b919050565b600067ffffffffffffffff821115612d3357612d32612c9d565b5b612d3c82612c8c565b9050602081019050919050565b82818337600083830152505050565b6000612d6b612d6684612d18565b612cfd565b905082815260208101848484011115612d8757612d86612c87565b5b612d92848285612d49565b509392505050565b600082601f830112612daf57612dae612b1a565b5b8135612dbf848260208601612d58565b91505092915050565b600080600080600080600060e0888a031215612de757612de6612ada565b5b6000612df58a828b01612c3c565b9750506020612e068a828b01612c72565b9650506040612e178a828b01612c3c565b9550506060612e288a828b01612c72565b9450506080612e398a828b01612c72565b93505060a0612e4a8a828b01612c3c565b92505060c088013567ffffffffffffffff811115612e6b57612e6a612adf565b5b612e778a828b01612d9a565b91505092959891949750929550565b612e8f81612c51565b82525050565b6000602082019050612eaa6000830184612e86565b92915050565b612eb981612c13565b82525050565b6000602082019050612ed46000830184612eb0565b92915050565b600060208284031215612ef057612eef612ada565b5b6000612efe84828501612c3c565b91505092915050565b60008115159050919050565b612f1c81612f07565b8114612f2757600080fd5b50565b600081359050612f3981612f13565b92915050565b60008060408385031215612f5657612f55612ada565b5b6000612f6485828601612c3c565b9250506020612f7585828601612f2a565b9150509250929050565b6000612f8a82612bf3565b9050919050565b612f9a81612f7f565b8114612fa557600080fd5b50565b600081359050612fb781612f91565b92915050565b60008060008060008060008060006101208a8c031215612fe057612fdf612ada565b5b6000612fee8c828d01612fa8565b9950506020612fff8c828d01612c72565b98505060406130108c828d01612c3c565b97505060606130218c828d01612c72565b96505060806130328c828d01612c3c565b95505060a06130438c828d01612c72565b94505060c06130548c828d01612c72565b93505060e06130658c828d01612c3c565b9250506101008a013567ffffffffffffffff81111561308757613086612adf565b5b6130938c828d01612d9a565b9150509295985092959850929598565b600082825260208201905092915050565b7f52503a2063616c6c6572206973206e6f7420746865206f776e6572206f72206160008201527f2070726976696c65646765642075736572000000000000000000000000000000602082015250565b60006131106031836130a3565b915061311b826130b4565b604082019050919050565b6000602082019050818103600083015261313f81613103565b9050919050565b7f526f75746550726f636573736f722e70616e63616b657377617056335377617060008201527f43616c6c6261636b3a2063616c6c2066726f6d20756e6b6e6f776e20736f757260208201527f6365000000000000000000000000000000000000000000000000000000000000604082015250565b60006131c86042836130a3565b91506131d382613146565b606082019050919050565b600060208201905081810360008301526131f7816131bb565b9050919050565b60006020828403121561321457613213612ada565b5b600061322284828501612fa8565b91505092915050565b7f526f75746550726f636573736f722e70616e63616b657377617056335377617060008201527f43616c6c6261636b3a206e6f7420706f73697469766520616d6f756e74000000602082015250565b6000613287603d836130a3565b91506132928261322b565b604082019050919050565b600060208201905081810360008301526132b68161327a565b9050919050565b7f526f75746550726f636573736f722e616c67656272615377617043616c6c626160008201527f636b3a2063616c6c2066726f6d20756e6b6e6f776e20736f7572636500000000602082015250565b6000613319603c836130a3565b9150613324826132bd565b604082019050919050565b600060208201905081810360008301526133488161330c565b9050919050565b7f526f75746550726f636573736f722e616c67656272615377617043616c6c626160008201527f636b3a206e6f7420706f73697469766520616d6f756e74000000000000000000602082015250565b60006133ab6037836130a3565b91506133b68261334f565b604082019050919050565b600060208201905081810360008301526133da8161339e565b9050919050565b7f526f75746550726f636573736f72206973206c6f636b65640000000000000000600082015250565b60006134176018836130a3565b9150613422826133e1565b602082019050919050565b600060208201905081810360008301526134468161340a565b9050919050565b7f526f75746550726f636573736f72206973207061757365640000000000000000600082015250565b60006134836018836130a3565b915061348e8261344d565b602082019050919050565b600060208201905081810360008301526134b281613476565b9050919050565b60006080820190506134ce6000830187612eb0565b6134db6020830186612e86565b6134e86040830185612e86565b6134f56060830184612e86565b95945050505050565b600081905092915050565b50565b60006135196000836134fe565b915061352482613509565b600082019050919050565b600061353a8261350c565b9150819050919050565b600081519050919050565b60005b8381101561356d578082015181840152602081019050613552565b60008484015250505050565b600061358482613544565b61358e81856134fe565b935061359e81856020860161354f565b80840191505092915050565b60006135b68284613579565b915081905092915050565b600081519050919050565b60006135d7826135c1565b6135e181856130a3565b93506135f181856020860161354f565b6135fa81612c8c565b840191505092915050565b6000602082019050818103600083015261361f81846135cc565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136836026836130a3565b915061368e82613627565b604082019050919050565b600060208201905081810360008301526136b281613676565b9050919050565b7f526f75746550726f636573736f722e756e697377617056335377617043616c6c60008201527f6261636b3a2063616c6c2066726f6d20756e6b6e6f776e20736f757263650000602082015250565b6000613715603e836130a3565b9150613720826136b9565b604082019050919050565b6000602082019050818103600083015261374481613708565b9050919050565b7f526f75746550726f636573736f722e756e697377617056335377617043616c6c60008201527f6261636b3a206e6f7420706f73697469766520616d6f756e7400000000000000602082015250565b60006137a76039836130a3565b91506137b28261374b565b604082019050919050565b600060208201905081810360008301526137d68161379a565b9050919050565b60006040820190506137f26000830185612eb0565b6137ff6020830184612e86565b9392505050565b60008151905061381581612c5b565b92915050565b60006020828403121561383157613830612ada565b5b600061383f84828501613806565b91505092915050565b7f526f75746550726f636573736f723a20556e6b6e6f776e20636f6d6d616e642060008201527f636f646500000000000000000000000000000000000000000000000000000000602082015250565b60006138a46024836130a3565b91506138af82613848565b604082019050919050565b600060208201905081810360008301526138d381613897565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061391482612c51565b915061391f83612c51565b9250828201905080821115613937576139366138da565b5b92915050565b7f526f75746550726f636573736f723a204d696e696d616c20696d70757420626160008201527f6c616e63652076696f6c6174696f6e0000000000000000000000000000000000602082015250565b6000613999602f836130a3565b91506139a48261393d565b604082019050919050565b600060208201905081810360008301526139c88161398c565b9050919050565b7f526f75746550726f636573736f723a204d696e696d616c206f7570757420626160008201527f6c616e63652076696f6c6174696f6e0000000000000000000000000000000000602082015250565b6000613a2b602f836130a3565b9150613a36826139cf565b604082019050919050565b60006020820190508181036000830152613a5a81613a1e565b9050919050565b6000613a6c82612c51565b9150613a7783612c51565b9250828203905081811115613a8f57613a8e6138da565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613acb6020836130a3565b9150613ad682613a95565b602082019050919050565b60006020820190508181036000830152613afa81613abe565b9050919050565b600081519050613b1081612f13565b92915050565b600060208284031215613b2c57613b2b612ada565b5b6000613b3a84828501613b01565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613b9f602a836130a3565b9150613baa82613b43565b604082019050919050565b60006020820190508181036000830152613bce81613b92565b9050919050565b7f5472616e736665722048656c7065723a204661696c656420746f207472616e7360008201527f6665722045544800000000000000000000000000000000000000000000000000602082015250565b6000613c316027836130a3565b9150613c3c82613bd5565b604082019050919050565b60006020820190508181036000830152613c6081613c24565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f526f75746550726f636573736f723a20556e6b6e6f776e20706f6f6c2074797060008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cf26021836130a3565b9150613cfd82613c96565b604082019050919050565b60006020820190508181036000830152613d2181613ce5565b9050919050565b600060ff82169050919050565b613d3e81613d28565b82525050565b6000819050919050565b613d5781613d44565b82525050565b600060e082019050613d72600083018a612eb0565b613d7f6020830189612eb0565b613d8c6040830188612e86565b613d996060830187612e86565b613da66080830186613d35565b613db360a0830185613d4e565b613dc060c0830184613d4e565b98975050505050505050565b7f5361666545524332303a207065726d697420646964206e6f742073756363656560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e286021836130a3565b9150613e3382613dcc565b604082019050919050565b60006020820190508181036000830152613e5781613e1b565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613eba6026836130a3565b9150613ec582613e5e565b604082019050919050565b60006020820190508181036000830152613ee981613ead565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b613f1381613ef0565b8114613f1e57600080fd5b50565b600081519050613f3081613f0a565b92915050565b600063ffffffff82169050919050565b613f4f81613f36565b8114613f5a57600080fd5b50565b600081519050613f6c81613f46565b92915050565b600080600060608486031215613f8b57613f8a612ada565b5b6000613f9986828701613f21565b9350506020613faa86828701613f21565b9250506040613fbb86828701613f5d565b9150509250925092565b7f57726f6e6720706f6f6c20726573657276657300000000000000000000000000600082015250565b6000613ffb6013836130a3565b915061400682613fc5565b602082019050919050565b6000602082019050818103600083015261402a81613fee565b9050919050565b600061403c82612c51565b915061404783612c51565b925082820261405581612c51565b9150828204841483151761406c5761406b6138da565b5b5092915050565b600061407e82612c51565b915061408983612c51565b92508261409957614098613c67565b5b828204905092915050565b600082825260208201905092915050565b60006140c082613544565b6140ca81856140a4565b93506140da81856020860161354f565b6140e381612c8c565b840191505092915050565b60006080820190506141036000830187612e86565b6141106020830186612e86565b61411d6040830185612eb0565b818103606083015261412f81846140b5565b905095945050505050565b7f73776170556e6956333a20756e65787065637465642066726f6d20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141966022836130a3565b91506141a18261413a565b604082019050919050565b600060208201905081810360008301526141c581614189565b9050919050565b60006141d782612bf3565b91506141e283612bf3565b9250828203905073ffffffffffffffffffffffffffffffffffffffff81111561420e5761420d6138da565b5b92915050565b600061421f82612bf3565b915061422a83612bf3565b9250828201905073ffffffffffffffffffffffffffffffffffffffff811115614256576142556138da565b5b92915050565b61426581612f07565b82525050565b61427481612ae4565b82525050565b61428381612bf3565b82525050565b600060a08201905061429e6000830188612eb0565b6142ab602083018761425c565b6142b8604083018661426b565b6142c5606083018561427a565b81810360808301526142d781846140b5565b90509695505050505050565b6000815190506142f281612aee565b92915050565b6000806040838503121561430f5761430e612ada565b5b600061431d858286016142e3565b925050602061432e858286016142e3565b9150509250929050565b7f526f75746550726f636573736f722e73776170556e6956333a20756e6578706560008201527f6374656400000000000000000000000000000000000000000000000000000000602082015250565b60006143946024836130a3565b915061439f82614338565b604082019050919050565b600060208201905081810360008301526143c381614387565b9050919050565b7f73776170416c67656272613a20756e65787065637465642066726f6d2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006144266024836130a3565b9150614431826143ca565b604082019050919050565b6000602082019050818103600083015261445581614419565b9050919050565b7f526f75746550726f636573736f722e73776170416c67656272613a20756e657860008201527f7065637465640000000000000000000000000000000000000000000000000000602082015250565b60006144b86026836130a3565b91506144c38261445c565b604082019050919050565b600060208201905081810360008301526144e7816144ab565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614524601d836130a3565b915061452f826144ee565b602082019050919050565b6000602082019050818103600083015261455381614517565b9050919050565b600060608201905061456f6000830186612eb0565b61457c6020830185612eb0565b6145896040830184612e86565b94935050505056fea2646970667358221220bf06234b96d6a92b6110f0fdfcd8151eb07b7cbf105a27267ea9f92fc11a0f5864736f6c634300081300330000000000000000000000000a6f13a3f415316174f9c216cfa274343fe0f150000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a6f13a3f415316174f9c216cfa274343fe0f150