5 txs
4 calls
constructor
constructor(address _factory, address _WETH)
functions
factory
viewfunction factory() view returns (address)
getAmountIn
purefunction getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut, uint16 fee) pure returns (uint256 amountIn)
getAmountOut
purefunction getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut, uint16 fee) pure returns (uint256 amountOut)
getAmountsIn
viewfunction getAmountsIn(uint256 amountOut, address[] path) view returns (uint256[] amounts)
getAmountsOut
viewfunction getAmountsOut(uint256 amountIn, address[] path) view returns (uint256[] amounts)
quote
purefunction quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns (uint256 amountB)
WETH
viewfunction WETH() view returns (address)
addLiquidity
nonpayablefunction addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns (uint256 amountA, uint256 amountB, uint256 liquidity)
addLiquidityETH
payablefunction addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity)
removeLiquidity
nonpayablefunction removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns (uint256 amountA, uint256 amountB)
removeLiquidityETH
nonpayablefunction removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns (uint256 amountToken, uint256 amountETH)
removeLiquidityETHSupportingFeeOnTransferTokens
nonpayablefunction removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns (uint256 amountETH)
removeLiquidityETHWithPermit
nonpayablefunction removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns (uint256 amountToken, uint256 amountETH)
removeLiquidityETHWithPermitSupportingFeeOnTransferTokens
nonpayablefunction removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns (uint256 amountETH)
removeLiquidityWithPermit
nonpayablefunction removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns (uint256 amountA, uint256 amountB)
swapETHForExactTokens
payablefunction swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns (uint256[] amounts)
swapExactETHForTokens
payablefunction swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns (uint256[] amounts)
swapExactETHForTokensSupportingFeeOnTransferTokens
payablefunction swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable
swapExactTokensForETH
nonpayablefunction swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns (uint256[] amounts)
swapExactTokensForETHSupportingFeeOnTransferTokens
nonpayablefunction swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline)
swapExactTokensForTokens
nonpayablefunction swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns (uint256[] amounts)
swapExactTokensForTokensSupportingFeeOnTransferTokens
nonpayablefunction swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline)
swapTokensForExactETH
nonpayablefunction swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns (uint256[] amounts)
swapTokensForExactTokens
nonpayablefunction swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns (uint256[] amounts)
events
No events.
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b506040516200587f3803806200587f833981810160405260408110156200003757600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6156f862000187600039806101ac5280610e715280610eac5280610fd4528061128152806116db52806118a95280611e085280611f765280612046528061214d52806122ea528061237f528061262452806126d352806127a852806128ad528061297f5280612a00528061308f52806133c5528061341b528061344f52806134d052806136f8528061389252806139275250806110b052806111ae5280611354528061138d528061153852806117b752806118875280611a74528061221d52806123be528061255a5280612a3f5280612d825280613014528061303d528061306d528061324a52806133f952806137c85280613966528061429b52806142de528061462e528061481b5280614d885280614e695280614ee952506156f86000f3fe60806040526004361061018f5760003560e01c8063ad5c4648116100d6578063d06ca61f1161007f578063f305d71911610059578063f305d71914610cd2578063f6eab62114610d25578063fb3bdb4114610d65576101d5565b8063d06ca61f14610b0e578063ded9382a14610bc5578063e8e3370014610c45576101d5565b8063b6f9de95116100b0578063b6f9de95146109fc578063baa2abde14610a8f578063c45a015514610af9576101d5565b8063ad5c464814610928578063ad615dec14610966578063af2979eb1461099c576101d5565b80635b0d598411610138578063791ac94711610112578063791ac9471461074b5780637ff36ab5146107f05780638803dbee14610883576101d5565b80635b0d5984146105d45780635c11d7951461066657806361d7b1001461070b576101d5565b80632195995c116101695780632195995c146103ff57806338ed17391461048a5780634a25d94a1461052f576101d5565b806302751cec146101da57806318cbafe5146102535780631f00ca7414610348576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610df8565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102f8600480360360a081101561027657600080fd5b81359160208101359181019060608101604082013564010000000081111561029d57600080fd5b8201836020820111156102af57600080fd5b803590602001918460208302840111640100000000831117156102d157600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4b565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033457818101518382015260200161031c565b505050509050019250505060405180910390f35b34801561035457600080fd5b506102f86004803603604081101561036b57600080fd5b8135919081019060408101602082013564010000000081111561038d57600080fd5b82018360208201111561039f57600080fd5b803590602001918460208302840111640100000000831117156103c157600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061134d945050505050565b34801561040b57600080fd5b5061023a600480360361016081101561042357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611383565b34801561049657600080fd5b506102f8600480360360a08110156104ad57600080fd5b8135916020810135918101906060810160408201356401000000008111156104d457600080fd5b8201836020820111156104e657600080fd5b8035906020019184602083028401116401000000008311171561050857600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114c1565b34801561053b57600080fd5b506102f8600480360360a081101561055257600080fd5b81359160208101359181019060608101604082013564010000000081111561057957600080fd5b82018360208201111561058b57600080fd5b803590602001918460208302840111640100000000831117156105ad57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611652565b3480156105e057600080fd5b5061065460048036036101408110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561187f565b60408051918252519081900360200190f35b34801561067257600080fd5b506101d3600480360360a081101561068957600080fd5b8135916020810135918101906060810160408201356401000000008111156106b057600080fd5b8201836020820111156106c257600080fd5b803590602001918460208302840111640100000000831117156106e457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119d1565b34801561071757600080fd5b506106546004803603608081101561072e57600080fd5b508035906020810135906040810135906060013561ffff16611d6a565b34801561075757600080fd5b506101d3600480360360a081101561076e57600080fd5b81359160208101359181019060608101604082013564010000000081111561079557600080fd5b8201836020820111156107a757600080fd5b803590602001918460208302840111640100000000831117156107c957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d81565b6102f86004803603608081101561080657600080fd5b8135919081019060408101602082013564010000000081111561082857600080fd5b82018360208201111561083a57600080fd5b8035906020019184602083028401116401000000008311171561085c57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356120d9565b34801561088f57600080fd5b506102f8600480360360a08110156108a657600080fd5b8135916020810135918101906060810160408201356401000000008111156108cd57600080fd5b8201836020820111156108df57600080fd5b8035906020019184602083028401116401000000008311171561090157600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356124e3565b34801561093457600080fd5b5061093d612622565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561097257600080fd5b506106546004803603606081101561098957600080fd5b5080359060208101359060400135612646565b3480156109a857600080fd5b50610654600480360360c08110156109bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a0013561265b565b6101d360048036036080811015610a1257600080fd5b81359190810190604081016020820135640100000000811115610a3457600080fd5b820183602082011115610a4657600080fd5b80359060200191846020830284011164010000000083111715610a6857600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561283b565b348015610a9b57600080fd5b5061023a600480360360e0811015610ab257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d08565b348015610b0557600080fd5b5061093d613012565b348015610b1a57600080fd5b506102f860048036036040811015610b3157600080fd5b81359190810190604081016020820135640100000000811115610b5357600080fd5b820183602082011115610b6557600080fd5b80359060200191846020830284011164010000000083111715610b8757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613036945050505050565b348015610bd157600080fd5b5061023a6004803603610140811015610be957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e08201351690610100810135906101200135613063565b348015610c5157600080fd5b50610cb46004803603610100811015610c6957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e001356131bb565b60408051938452602084019290925282820152519081900360600190f35b610cb4600480360360c0811015610ce857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a0013561334a565b348015610d3157600080fd5b5061065460048036036080811015610d4857600080fd5b508035906020810135906040810135906060013561ffff16613676565b6102f860048036036080811015610d7b57600080fd5b81359190810190604081016020820135640100000000811115610d9d57600080fd5b820183602082011115610daf57600080fd5b80359060200191846020830284011164010000000083111715610dd157600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135613684565b6000808242811015610e6b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b610e9a897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a612d08565b9093509150610eaa898685613abd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f1d57600080fd5b505af1158015610f31573d6000803e3d6000fd5b50505050610f3f8583613c84565b50965096945050505050565b60608142811015610fbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b6111097f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613dc192505050565b9150868260018451038151811061111c57fe5b6020026020010151101561117b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806156446030913960400191505060405180910390fd5b6112408686600081811061118b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16336112267f00000000000000000000000000000000000000000000000000000000000000008a8a60008181106111da57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061120457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16613f17565b8560008151811061123357fe5b6020026020010151614002565b61127f828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506141d2915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112cb57fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561130957600080fd5b505af115801561131d573d6000803e3d6000fd5b50505050611342848360018551038151811061133557fe5b6020026020010151613c84565b509695505050505050565b606061137a7f00000000000000000000000000000000000000000000000000000000000000008484614459565b90505b92915050565b60008060006113b37f00000000000000000000000000000000000000000000000000000000000000008f8f613f17565b90506000876113c2578c6113e4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561148057600080fd5b505af1158015611494573d6000803e3d6000fd5b505050506114a78f8f8f8f8f8f8f612d08565b809450819550505050509b509b9950505050505050505050565b6060814281101561153357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b6115917f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613dc192505050565b915086826001845103815181106115a457fe5b60200260200101511015611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806156446030913960400191505060405180910390fd5b6116138686600081811061118b57fe5b611342828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506141d2915050565b606081428110156116c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061172957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b6118107f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061445992505050565b9150868260008151811061182057fe5b6020026020010151111561117b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615573602c913960400191505060405180910390fd5b6000806118cd7f00000000000000000000000000000000000000000000000000000000000000008d7f0000000000000000000000000000000000000000000000000000000000000000613f17565b90506000866118dc578b6118fe565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561199a57600080fd5b505af11580156119ae573d6000803e3d6000fd5b505050506119c08d8d8d8d8d8d61265b565b9d9c50505050505050505050505050565b8042811015611a4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b611ad085856000818110611a5157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611aca7f000000000000000000000000000000000000000000000000000000000000000089896000818110611aa057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061120457fe5b8a614002565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b0057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d6020811015611bc357600080fd5b50516040805160208881028281018201909352888252929350611c059290918991899182918501908490808284376000920191909152508892506145d7915050565b86611d098288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c3857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd157600080fd5b505afa158015611ce5573d6000803e3d6000fd5b505050506040513d6020811015611cfb57600080fd5b50519063ffffffff61497616565b1015611d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806156446030913960400191505060405180910390fd5b5050505050505050565b6000611d78858585856149e8565b95945050505050565b8042811015611df157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e5657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b611eef85856000818110611a5157fe5b611f2d8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506145d7915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015611fbd57600080fd5b505afa158015611fd1573d6000803e3d6000fd5b505050506040513d6020811015611fe757600080fd5b5051905086811015612044576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806156446030913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120b757600080fd5b505af11580156120cb573d6000803e3d6000fd5b50505050611d608482613c84565b6060814281101561214b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168686600081811061218f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612218576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b6122767f000000000000000000000000000000000000000000000000000000000000000034888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613dc192505050565b9150868260018451038151811061228957fe5b602002602001015110156122e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806156446030913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061233157fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561236457600080fd5b505af1158015612378573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6123ea7f000000000000000000000000000000000000000000000000000000000000000089896000818110611aa057fe5b846000815181106123f757fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561246857600080fd5b505af115801561247c573d6000803e3d6000fd5b505050506040513d602081101561249257600080fd5b505161249a57fe5b6124d9828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506141d2915050565b5095945050505050565b6060814281101561255557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b6125b37f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061445992505050565b915086826000815181106125c357fe5b60200260200101511115611603576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615573602c913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000612653848484614b14565b949350505050565b600081428110156126cd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b6126fc887f00000000000000000000000000000000000000000000000000000000000000008989893089612d08565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127a692508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b15801561277557600080fd5b505afa158015612789573d6000803e3d6000fd5b505050506040513d602081101561279f57600080fd5b5051613abd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561281957600080fd5b505af115801561282d573d6000803e3d6000fd5b505050506113428483613c84565b80428110156128ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16858560008181106128ef57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612978576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b60003490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156129e557600080fd5b505af11580156129f9573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612a6b7f000000000000000000000000000000000000000000000000000000000000000089896000818110611aa057fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612ad557600080fd5b505af1158015612ae9573d6000803e3d6000fd5b505050506040513d6020811015612aff57600080fd5b5051612b0757fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b3757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612bd057600080fd5b505afa158015612be4573d6000803e3d6000fd5b505050506040513d6020811015612bfa57600080fd5b50516040805160208981028281018201909352898252929350612c3c9290918a918a9182918501908490808284376000920191909152508992506145d7915050565b87611d098289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612c6f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd157600080fd5b6000808242811015612d7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b6000612da87f00000000000000000000000000000000000000000000000000000000000000008c8c613f17565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e2957600080fd5b505af1158015612e3d573d6000803e3d6000fd5b505050506040513d6020811015612e5357600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612ec657600080fd5b505af1158015612eda573d6000803e3d6000fd5b505050506040513d6040811015612ef057600080fd5b50805160209091015190925090506000612f0a8e8e614bf4565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612f47578183612f4a565b82825b90975095508a871015612fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061559f602b913960400191505060405180910390fd5b89861015613001576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806154f5602b913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b606061137a7f00000000000000000000000000000000000000000000000000000000000000008484613dc1565b60008060006130b37f00000000000000000000000000000000000000000000000000000000000000008e7f0000000000000000000000000000000000000000000000000000000000000000613f17565b90506000876130c2578c6130e4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561318057600080fd5b505af1158015613194573d6000803e3d6000fd5b505050506131a68e8e8e8e8e8e610df8565b909f909e509c50505050505050505050505050565b6000806000834281101561323057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b61323e8c8c8c8c8c8c614d31565b909450925060006132707f00000000000000000000000000000000000000000000000000000000000000008e8e613f17565b905061327e8d338388614002565b61328a8c338387614002565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561330957600080fd5b505af115801561331d573d6000803e3d6000fd5b505050506040513d602081101561333357600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156133bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b6133ed8a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c614d31565b9094509250600061343f7f00000000000000000000000000000000000000000000000000000000000000008c7f0000000000000000000000000000000000000000000000000000000000000000613f17565b905061344d8b338388614002565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156134b557600080fd5b505af11580156134c9573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561357557600080fd5b505af1158015613589573d6000803e3d6000fd5b505050506040513d602081101561359f57600080fd5b50516135a757fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561362657600080fd5b505af115801561363a573d6000803e3d6000fd5b505050506040513d602081101561365057600080fd5b50519250348410156136685761366833853403613c84565b505096509650969350505050565b6000611d7885858585615032565b606081428110156136f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f695a6953776170436c6173736963526f757465723a2045585049524544000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168686600081811061373a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146137c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806156a16022913960400191505060405180910390fd5b6138217f00000000000000000000000000000000000000000000000000000000000000008888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061445992505050565b9150348260008151811061383157fe5b60200260200101511115613890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615573602c913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836000815181106138d957fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561390c57600080fd5b505af1158015613920573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139927f000000000000000000000000000000000000000000000000000000000000000089896000818110611aa057fe5b8460008151811061399f57fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a1057600080fd5b505af1158015613a24573d6000803e3d6000fd5b505050506040513d6020811015613a3a57600080fd5b5051613a4257fe5b613a81828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506141d2915050565b81600081518110613a8e57fe5b60200260200101513411156124d9576124d93383600081518110613aae57fe5b60200260200101513403613c84565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613b9357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613b56565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613bf5576040519150601f19603f3d011682016040523d82523d6000602084013e613bfa565b606091505b5091509150818015613c28575080511580613c285750808060200190516020811015613c2557600080fd5b50515b613c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615617602d913960400191505060405180910390fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613cfb57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613cbe565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613d5d576040519150601f19603f3d011682016040523d82523d6000602084013e613d62565b606091505b5050905080613dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806154c16034913960400191505060405180910390fd5b505050565b6060600282511015613e1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806155ca6023913960400191505060405180910390fd5b815167ffffffffffffffff81118015613e3657600080fd5b50604051908082528060200260200182016040528015613e60578160200160208202803683370190505b5090508281600081518110613e7157fe5b60200260200101818152505060005b6001835103811015613f0f576000806000613ec588878681518110613ea157fe5b6020026020010151888760010181518110613eb857fe5b602002602001015161515e565b925092509250613eea858581518110613eda57fe5b6020026020010151848484615032565b858560010181518110613ef957fe5b6020908102919091010152505050600101613e80565b509392505050565b6000806000613f268585614bf4565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f4369577bf87f4b597f7633bfd75b5db670a623adf1e60dd939960426812399fa609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b602083106140e057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016140a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614142576040519150601f19603f3d011682016040523d82523d6000602084013e614147565b606091505b5091509150818015614175575080511580614175575080806020019051602081101561417257600080fd5b50515b6141ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806154906031913960400191505060405180910390fd5b505050505050565b60005b6001835103811015614453576000808483815181106141f057fe5b602002602001015185846001018151811061420757fe5b602002602001015191509150600061421f8383614bf4565b509050600087856001018151811061423357fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461427b5782600061427f565b6000835b91509150600060028a5103881061429657886142d7565b6142d77f0000000000000000000000000000000000000000000000000000000000000000878c8b600201815181106142ca57fe5b6020026020010151613f17565b90506143047f00000000000000000000000000000000000000000000000000000000000000008888613f17565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f19166020018201604052801561434e576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156143d95781810151838201526020016143c1565b50505050905090810190601f1680156144065780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561442857600080fd5b505af115801561443c573d6000803e3d6000fd5b5050600190990198506141d5975050505050505050565b50505050565b60606002825110156144b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806155ca6023913960400191505060405180910390fd5b815167ffffffffffffffff811180156144ce57600080fd5b506040519080825280602002602001820160405280156144f8578160200160208202803683370190505b509050828160018351038151811061450c57fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b8015613f0f57600080600061456e8887600187038151811061455a57fe5b6020026020010151888781518110613eb857fe5b92509250925061459385858151811061458357fe5b60200260200101518484846149e8565b8560018603815181106145a257fe5b60209081029190910101525050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161453c565b60005b6001835103811015613dbc576000808483815181106145f557fe5b602002602001015185846001018151811061460c57fe5b60200260200101519150915060006146248383614bf4565b50905060006146547f00000000000000000000000000000000000000000000000000000000000000008585613f17565b905060008060008060008573ffffffffffffffffffffffffffffffffffffffff1663caee3ee66040518163ffffffff1660e01b815260040160806040518083038186803b1580156146a457600080fd5b505afa1580156146b8573d6000803e3d6000fd5b505050506040513d60808110156146ce57600080fd5b50805160208201516040909201516dffffffffffffffffffffffffffff918216955091169250905060008073ffffffffffffffffffffffffffffffffffffffff8b8116908a1614614720578385614723565b84845b915091506147a8828c73ffffffffffffffffffffffffffffffffffffffff166370a082318b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd157600080fd5b96506147b687838386615032565b955050505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146147fb578260006147ff565b6000835b91509150600060028c51038a10614816578a61484a565b61484a7f0000000000000000000000000000000000000000000000000000000000000000898e8d600201815181106142ca57fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b838110156148fa5781810151838201526020016148e2565b50505050905090810190601f1680156149275780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561494957600080fd5b505af115801561495d573d6000803e3d6000fd5b50506001909b019a506145da9950505050505050505050565b8082038281111561137d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808511614a42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061545f6031913960400191505060405180910390fd5b600084118015614a525750600083115b614aa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615674602d913960400191505060405180910390fd5b6000614acb612710614abf878963ffffffff61525416565b9063ffffffff61525416565b90506000614aec61ffff61271086900316614abf878a63ffffffff61497616565b9050614b096001828481614afc57fe5b049063ffffffff6152da16565b979650505050505050565b6000808411614b6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806155ed602a913960400191505060405180910390fd5b600083118015614b7e5750600082115b614bd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615674602d913960400191505060405180910390fd5b82614be4858463ffffffff61525416565b81614beb57fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614c7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615435602a913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614cb6578284614cb9565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806155506023913960400191505060405180910390fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f00000000000000000000000000000000000000000000000000000000000000009092169163e6a4390591604480820192602092909190829003018186803b158015614dd157600080fd5b505afa158015614de5573d6000803e3d6000fd5b505050506040513d6020811015614dfb57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415614ee157604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c9c65396916044808201926020929091908290030181600087803b158015614eb457600080fd5b505af1158015614ec8573d6000803e3d6000fd5b505050506040513d6020811015614ede57600080fd5b50505b600080614f0f7f00000000000000000000000000000000000000000000000000000000000000008b8b61534c565b91509150816000148015614f21575080155b15614f3157879350869250615025565b6000614f3e898484614b14565b9050878111614fab5785811015614fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806154f5602b913960400191505060405180910390fd5b889450925082615023565b6000614fb8898486614b14565b905089811115614fc457fe5b8781101561501d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061559f602b913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600080851161508c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806155206030913960400191505060405180910390fd5b60008411801561509c5750600083115b6150f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615674602d913960400191505060405180910390fd5b600061510c8661ffff6127108690031663ffffffff61525416565b90506000615120828663ffffffff61525416565b905060006151468361513a8961271063ffffffff61525416565b9063ffffffff6152da16565b905080828161515157fe5b0498975050505050505050565b60008060008061516e8686614bf4565b50905060008060006151818a8a8a613f17565b73ffffffffffffffffffffffffffffffffffffffff1663caee3ee66040518163ffffffff1660e01b815260040160806040518083038186803b1580156151c657600080fd5b505afa1580156151da573d6000803e3d6000fd5b505050506040513d60808110156151f057600080fd5b50805160208201516040909201516dffffffffffffffffffffffffffff918216955091169250905073ffffffffffffffffffffffffffffffffffffffff8981169085161461523f578183615242565b82825b909b909a509098509650505050505050565b600081158061526f5750508082028282828161526c57fe5b04145b61137d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561137d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080600061535b8585614bf4565b50905060008061536c888888613f17565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156153b157600080fd5b505afa1580156153c5573d6000803e3d6000fd5b505050506040513d60608110156153db57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614615422578082615425565b81815b9099909850965050505050505056fe695a6953776170436c61737369634c6962726172793a204944454e544943414c5f414444524553534553695a6953776170436c61737369634c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65645472616e7366657248656c7065723a3a736166655472616e736665724554483a20455448207472616e73666572206661696c6564695a6953776170436c6173736963526f757465723a20494e53554646494349454e545f425f414d4f554e54695a6953776170436c61737369634c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54695a6953776170436c61737369634c6962726172793a205a45524f5f41444452455353695a6953776170436c6173736963526f757465723a204558434553534956455f494e5055545f414d4f554e54695a6953776170436c6173736963526f757465723a20494e53554646494349454e545f415f414d4f554e54695a6953776170436c61737369634c6962726172793a20494e56414c49445f50415448695a6953776170436c61737369634c6962726172793a20494e53554646494349454e545f414d4f554e545472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564695a6953776170436c6173736963526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54695a6953776170436c61737369634c6962726172793a20494e53554646494349454e545f4c4951554944495459695a6953776170436c6173736963526f757465723a20494e56414c49445f50415448a26469706673582212202e9bae16e043a14ded19b2ce09e1bddca673d75c7fcae256fd3b83eace62c8eb64736f6c63430006060033000000000000000000000000bd3bd95529e0784ad973fd14928eedf3678cfad80000000000000000000000004200000000000000000000000000000000000006