[ { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" }, { "internalType": "address", "name": "_daoWallet", "type": "address" }, { "internalType": "address", "name": "_bridge", "type": "address" }, { "internalType": "address", "name": "_remoteToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_pair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "AddedLiquidityPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_daoWallet", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "DaoTransferFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" } ], "name": "DaoWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "ExcludedFromFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_router", "type": "address" }, { "indexed": false, "internalType": "address", "name": "_pair", "type": "address" } ], "name": "PrimaryRouterPairUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_lpSwapThreshold", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_daoSwapThreshold", "type": "uint256" } ], "name": "SwapThresholdsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_liquidity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_dao", "type": "uint256" } ], "name": "TaxAmountsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "BRIDGE", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEAD", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REMOTE_TOKEN", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_daoReserves", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowedSlippage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "changeDaoWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_numTokensSellToAddToLiquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_numTokensSellToAddToETH", "type": "uint256" } ], "name": "changeSwapThresholds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_taxForLiquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_taxForDao", "type": "uint256" } ], "name": "changeTaxForLiquidityAndDao", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "daoWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isLiquidityPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "l1Token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "l2Bridge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numTokensSellToAddToETH", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numTokensSellToAddToLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "remoteToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxForDao", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pair", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "updatePairStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "name": "updateRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6101206040526000600755600060085560036009556000600a556009600a62000029919062000c00565b61271062000038919062000c51565b600b556009600a6200004b919062000c00565b6113886200005a919062000c51565b600c553480156200006a57600080fd5b506040516200604038038062006040833981810160405281019062000090919062000d1c565b60016000806040518060400160405280600a81526020017f496d6167696e65204149000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f696d676e41490000000000000000000000000000000000000000000000000000815250816003908162000112919062000ffe565b50806004908162000124919062000ffe565b505050620001476200013b620007d460201b60201c565b620007dc60201b60201c565b82608081815250508160a081815250508060c0818152505050505061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015620001ce5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b62000210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000207906200116c565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200027c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b620002be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b59062001204565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff168152505060008490508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000378573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039e919062001226565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000406573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042c919062001226565b6040518363ffffffff1660e01b81526004016200044b92919062001269565b6020604051808303816000875af11580156200046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000491919062001226565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200056730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008a260201b60201c565b83600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60006101005173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050620013f4565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000914576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200090b906200130c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000986576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200097d90620013a4565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000a669190620013d7565b60405180910390a3505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b015780860481111562000ad95762000ad862000a73565b5b600185161562000ae95780820291505b808102905062000af98562000aa2565b945062000ab9565b94509492505050565b60008262000b1c576001905062000bef565b8162000b2c576000905062000bef565b816001811462000b45576002811462000b505762000b86565b600191505062000bef565b60ff84111562000b655762000b6462000a73565b5b8360020a91508482111562000b7f5762000b7e62000a73565b5b5062000bef565b5060208310610133831016604e8410600b841016171562000bc05782820a90508381111562000bba5762000bb962000a73565b5b62000bef565b62000bcf848484600162000aaf565b9250905081840481111562000be95762000be862000a73565b5b81810290505b9392505050565b6000819050919050565b600062000c0d8262000bf6565b915062000c1a8362000bf6565b925062000c497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b0a565b905092915050565b600062000c5e8262000bf6565b915062000c6b8362000bf6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ca75762000ca662000a73565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ce48262000cb7565b9050919050565b62000cf68162000cd7565b811462000d0257600080fd5b50565b60008151905062000d168162000ceb565b92915050565b6000806000806080858703121562000d395762000d3862000cb2565b5b600062000d498782880162000d05565b945050602062000d5c8782880162000d05565b935050604062000d6f8782880162000d05565b925050606062000d828782880162000d05565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e1057607f821691505b60208210810362000e265762000e2562000dc8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e51565b62000e9c868362000e51565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000edf62000ed962000ed38462000bf6565b62000eb4565b62000bf6565b9050919050565b6000819050919050565b62000efb8362000ebe565b62000f1362000f0a8262000ee6565b84845462000e5e565b825550505050565b600090565b62000f2a62000f1b565b62000f3781848462000ef0565b505050565b5b8181101562000f5f5762000f5360008262000f20565b60018101905062000f3d565b5050565b601f82111562000fae5762000f788162000e2c565b62000f838462000e41565b8101602085101562000f93578190505b62000fab62000fa28562000e41565b83018262000f3c565b50505b505050565b600082821c905092915050565b600062000fd36000198460080262000fb3565b1980831691505092915050565b600062000fee838362000fc0565b9150826002028217905092915050565b620010098262000d8e565b67ffffffffffffffff81111562001025576200102462000d99565b5b62001031825462000df7565b6200103e82828562000f63565b600060209050601f83116001811462001076576000841562001061578287015190505b6200106d858262000fe0565b865550620010dd565b601f198416620010868662000e2c565b60005b82811015620010b05784890151825560018201915060208501945060208101905062001089565b86831015620010d05784890151620010cc601f89168262000fc0565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f526f757465722063616e6e6f742062652074686520446561642061646472657360008201527f732c206f72203021000000000000000000000000000000000000000000000000602082015250565b600062001154602883620010e5565b91506200116182620010f6565b604082019050919050565b60006020820190508181036000830152620011878162001145565b9050919050565b7f44414f2057616c6c65742063616e6e6f7420626520746865204465616420616460008201527f64726573732c206f722030210000000000000000000000000000000000000000602082015250565b6000620011ec602c83620010e5565b9150620011f9826200118e565b604082019050919050565b600060208201905081810360008301526200121f81620011dd565b9050919050565b6000602082840312156200123f576200123e62000cb2565b5b60006200124f8482850162000d05565b91505092915050565b620012638162000cd7565b82525050565b600060408201905062001280600083018562001258565b6200128f602083018462001258565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620012f4602483620010e5565b9150620013018262001296565b604082019050919050565b600060208201905081810360008301526200132781620012e5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200138c602283620010e5565b915062001399826200132e565b604082019050919050565b60006020820190508181036000830152620013bf816200137d565b9050919050565b620013d18162000bf6565b82525050565b6000602082019050620013ee6000830184620013c6565b92915050565b60805160a05160c05160e05161010051614bcf6200147160003960008181610e850152818161115601528181611334015281816115470152818161169d01528181611da20152611dc8015260008181610b4a015281816116c50152611c570152600061101801526000610fef01526000610fc60152614bcf6000f3fe6080604052600436106102555760003560e01c8063715018a611610139578063c01e1bd6116100b6578063dd62ed3e1161007a578063dd62ed3e146108ed578063df8408fe1461092a578063e78cea9214610953578063ee9a31a21461097e578063f2fde38b146109a9578063f345bd85146109d25761025c565b8063c01e1bd61461081a578063c851cc3214610845578063cae3f02e1461086e578063d12a768814610897578063d6c0b2c4146108c25761025c565b8063a457c2d7116100fd578063a457c2d714610721578063a6a3436e1461075e578063a9059cbb14610787578063ad16a0cf146107c4578063ae1f6aaf146107ef5761025c565b8063715018a61461066257806377e58a31146106795780638da5cb5b146106a257806395d89b41146106cd5780639dc29fac146106f85761025c565b8063313ce567116101d25780634a6d4a37116101965780634a6d4a371461052a5780635342acb41461055557806354fd4d50146105925780635c9a05b8146105bd578063698a5897146105fa57806370a08231146106255761025c565b8063313ce56714610443578063395093511461046e57806340c10f19146104ab578063431f2445146104d457806349bd5a5e146104ff5761025c565b80631458beac116102195780631458beac1461035c5780631694505e1461038757806318160ddd146103b257806323b872dd146103dd57806330b63d801461041a5761025c565b806301ffc9a714610261578063033964be1461029e57806303fd2a45146102c957806306fdde03146102f4578063095ea7b31461031f5761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b50610288600480360381019061028391906132b1565b6109fd565b60405161029591906132f9565b60405180910390f35b3480156102aa57600080fd5b506102b3610b48565b6040516102c09190613355565b60405180910390f35b3480156102d557600080fd5b506102de610b6c565b6040516102eb9190613355565b60405180910390f35b34801561030057600080fd5b50610309610b72565b6040516103169190613400565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190613484565b610c04565b60405161035391906132f9565b60405180910390f35b34801561036857600080fd5b50610371610c27565b60405161037e91906134d3565b60405180910390f35b34801561039357600080fd5b5061039c610c2d565b6040516103a9919061354d565b60405180910390f35b3480156103be57600080fd5b506103c7610c53565b6040516103d491906134d3565b60405180910390f35b3480156103e957600080fd5b5061040460048036038101906103ff9190613568565b610c5d565b60405161041191906132f9565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c91906135bb565b610c8c565b005b34801561044f57600080fd5b50610458610e43565b6040516104659190613617565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190613484565b610e4c565b6040516104a291906132f9565b60405180910390f35b3480156104b757600080fd5b506104d260048036038101906104cd9190613484565b610e83565b005b3480156104e057600080fd5b506104e9610f6d565b6040516104f691906134d3565b60405180910390f35b34801561050b57600080fd5b50610514610f73565b6040516105219190613355565b60405180910390f35b34801561053657600080fd5b5061053f610f99565b60405161054c91906134d3565b60405180910390f35b34801561056157600080fd5b5061057c60048036038101906105779190613632565b610f9f565b60405161058991906132f9565b60405180910390f35b34801561059e57600080fd5b506105a7610fbf565b6040516105b49190613400565b60405180910390f35b3480156105c957600080fd5b506105e460048036038101906105df9190613632565b611062565b6040516105f191906132f9565b60405180910390f35b34801561060657600080fd5b5061060f611082565b60405161061c9190613355565b60405180910390f35b34801561063157600080fd5b5061064c60048036038101906106479190613632565b6110a8565b60405161065991906134d3565b60405180910390f35b34801561066e57600080fd5b506106776110f0565b005b34801561068557600080fd5b506106a0600480360381019061069b919061368b565b611104565b005b3480156106ae57600080fd5b506106b7611276565b6040516106c49190613355565b60405180910390f35b3480156106d957600080fd5b506106e26112a0565b6040516106ef9190613400565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a9190613484565b611332565b005b34801561072d57600080fd5b5061074860048036038101906107439190613484565b61141c565b60405161075591906132f9565b60405180910390f35b34801561076a57600080fd5b5061078560048036038101906107809190613632565b611493565b005b34801561079357600080fd5b506107ae60048036038101906107a99190613484565b611670565b6040516107bb91906132f9565b60405180910390f35b3480156107d057600080fd5b506107d9611693565b6040516107e691906134d3565b60405180910390f35b3480156107fb57600080fd5b50610804611699565b6040516108119190613355565b60405180910390f35b34801561082657600080fd5b5061082f6116c1565b60405161083c9190613355565b60405180910390f35b34801561085157600080fd5b5061086c60048036038101906108679190613632565b6116e9565b005b34801561087a57600080fd5b50610895600480360381019061089091906135bb565b611ba7565b005b3480156108a357600080fd5b506108ac611c4d565b6040516108b991906134d3565b60405180910390f35b3480156108ce57600080fd5b506108d7611c53565b6040516108e49190613355565b60405180910390f35b3480156108f957600080fd5b50610914600480360381019061090f91906136cb565b611c7b565b60405161092191906134d3565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c919061368b565b611d02565b005b34801561095f57600080fd5b50610968611d9e565b6040516109759190613355565b60405180910390f35b34801561098a57600080fd5b50610993611dc6565b6040516109a09190613355565b60405180910390f35b3480156109b557600080fd5b506109d060048036038101906109cb9190613632565b611dea565b005b3480156109de57600080fd5b506109e7611e6d565b6040516109f491906134d3565b60405180910390f35b6000807f01ffc9a700000000000000000000000000000000000000000000000000000000905060007f1d1d8b6300000000000000000000000000000000000000000000000000000000905060007fec4fc8e3000000000000000000000000000000000000000000000000000000009050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610af65750817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b3e5750807bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61dead81565b606060038054610b819061373a565b80601f0160208091040260200160405190810160405280929190818152602001828054610bad9061373a565b8015610bfa5780601f10610bcf57610100808354040283529160200191610bfa565b820191906000526020600020905b815481529060010190602001808311610bdd57829003601f168201915b5050505050905090565b600080610c0f611e73565b9050610c1c818585611e7b565b600191505092915050565b600a5481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080610c68611e73565b9050610c75858285612044565b610c808585856120d0565b60019150509392505050565b610c946125de565b6064610c9e610c53565b610ca891906137c9565b8210610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce09061386c565b60405180910390fd5b6064610cf3610c53565b610cfd91906137c9565b8110610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d359061386c565b60405180910390fd5b60008211610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906138fe565b60405180910390fd5b60008111610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb90613990565b60405180910390fd5b6009600a610dd29190613ae3565b82610ddd9190613b2e565b600b819055506009600a610df19190613ae3565b81610dfc9190613b2e565b600c819055507f9716128a636528fa50210bbc0beccc798a478589fd73810448dca2891bfc1b0c600b54600c54604051610e37929190613b88565b60405180910390a15050565b60006009905090565b600080610e57611e73565b9050610e78818585610e698589611c7b565b610e739190613bb1565b611e7b565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0890613c57565b60405180910390fd5b610f1b828261265c565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688582604051610f6191906134d3565b60405180910390a25050565b60075481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6060610fea7f00000000000000000000000000000000000000000000000000000000000000006127b2565b6110137f00000000000000000000000000000000000000000000000000000000000000006127b2565b61103c7f00000000000000000000000000000000000000000000000000000000000000006127b2565b60405160200161104e93929190613cff565b604051602081830303815290604052905090565b600e6020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f86125de565b6111026000612912565b565b61110c6125de565b611115826129d8565b611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b90613d92565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990613dfe565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f399c10fc86f718f4269b5fcf54194fd65525a652bcfc12e3542c845764834597828260405161126a929190613e1e565b60405180910390a15050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112af9061373a565b80601f01602080910402602001604051908101604052809291908181526020018280546112db9061373a565b80156113285780601f106112fd57610100808354040283529160200191611328565b820191906000526020600020905b81548152906001019060200180831161130b57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b790613c57565b60405180910390fd5b6113ca82826129f1565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161141091906134d3565b60405180910390a25050565b600080611427611e73565b905060006114358286611c7b565b90508381101561147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190613eb9565b60405180910390fd5b6114878286868403611e7b565b60019250505092915050565b61149b6125de565b61dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156115065750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90613f4b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca90613fb7565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe350eafeb77907c314723a0d8854919a914d11e973c487eb728818ba6cc8842f600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516116659190613355565b60405180910390a150565b60008061167b611e73565b90506116888185856120d0565b600191505092915050565b600c5481565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6116f16125de565b61dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561175c5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290614049565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611811919061407e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c919061407e565b6040518363ffffffff1660e01b81526004016118b99291906140ab565b602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa919061407e565b905061dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156119675750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b6119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199d90614146565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b6930600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611e7b565b7f799e60742536ea7cdd3c3213158b31174028bc0855080d6e73f3193e67f025828382604051611b9a9291906140ab565b60405180910390a1505050565b611baf6125de565b60068183611bbd9190613bb1565b1115611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf5906141d8565b60405180910390fd5b81600881905550806009819055507f4f690c07d9c11a6da5b07e418d8f99e41b07e1ab65df93fff5e3e66d9de21ced600854600954604051611c41929190613b88565b60405180910390a15050565b600b5481565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d0a6125de565b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f318c131114339c004fff0a22fcdbbc0566bb2a7cd3aa1660e636ec5a66784ff28282604051611d92929190613e1e565b60405180910390a15050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b611df26125de565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e589061426a565b60405180910390fd5b611e6a81612912565b50565b60085481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee1906142fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f509061438e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161203791906134d3565b60405180910390a3505050565b60006120508484611c7b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146120ca57818110156120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b3906143fa565b60405180910390fd5b6120c98484848403611e7b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121369061448c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a59061451e565b60405180910390fd5b806121b8846110a8565b10156121f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f0906145b0565b60405180910390fd5b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061229a5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156122b5575060006008546009546122b39190613bb1565b115b80156122ce5750601060149054906101000a900460ff16155b156125cd576000600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661238d576000600a54612334306110a8565b61233e91906145d0565b9050600b54811061235557612354600b54612bbe565b5b600c54600a541061238b5761236b600c54612c7f565b600c54600a600082825461237f91906145d0565b92505081905550600191505b505b6000600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124305750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561243d578290506124c4565b600060646009548561244f9190613b2e565b61245991906137c9565b9050600060646008548661246d9190613b2e565b61247791906137c9565b905080826124859190613bb1565b8561249091906145d0565b925081600a60008282546124a49190613bb1565b925050819055506124c1873083856124bc9190613bb1565b612ecb565b50505b6124cf858583612ecb565b81156125c6576000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161251d90614635565b60006040518083038185875af1925050503d806000811461255a576040519150601f19603f3d011682016040523d82523d6000602084013e61255f565b606091505b50509050806125c4577f85c56b65941d7802c1279ab36fe16bb81ff2f60707c9ecf4a6527a4c114fc97c600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476040516125bb92919061464a565b60405180910390a15b505b50506125d9565b6125d8838383612ecb565b5b505050565b6125e6611e73565b73ffffffffffffffffffffffffffffffffffffffff16612604611276565b73ffffffffffffffffffffffffffffffffffffffff161461265a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612651906146bf565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c29061472b565b60405180910390fd5b6126d760008383613141565b80600260008282546126e99190613bb1565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161279a91906134d3565b60405180910390a36127ae60008383613146565b5050565b6060600082036127f9576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061290d565b600082905060005b6000821461282b5780806128149061474b565b915050600a8261282491906137c9565b9150612801565b60008167ffffffffffffffff81111561284757612846614793565b5b6040519080825280601f01601f1916602001820160405280156128795781602001600182028036833780820191505090505b5090505b600085146129065760018261289291906145d0565b9150600a856128a191906147c2565b60306128ad9190613bb1565b60f81b8183815181106128c3576128c26147f3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856128ff91906137c9565b945061287d565b8093505050505b919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080823b905060008163ffffffff1611915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5790614894565b60405180910390fd5b612a6c82600083613141565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae990614926565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ba591906134d3565b60405180910390a3612bb983600084613146565b505050565b6001601060146101000a81548160ff0219169083151502179055506000600282612be891906137c9565b905060008183612bf891906145d0565b90506000479050612c0883612c7f565b60008147612c1691906145d0565b9050612c22838261314b565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561848285604051612c5593929190614946565b60405180910390a1505050506000601060146101000a81548160ff02191690831515021790555050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612cb757612cb6614793565b5b604051908082528060200260200182016040528015612ce55781602001602082028036833780820191505090505b5090503081600081518110612cfd57612cfc6147f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc8919061407e565b81600181518110612ddc57612ddb6147f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e7a959493929190614a76565b600060405180830381600087803b158015612e9457600080fd5b505af1158015612ea8573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f319061448c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa09061451e565b60405180910390fd5b612fb4838383613141565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561303a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613031906145b0565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161312891906134d3565b60405180910390a361313b848484613146565b50505050565b505050565b505050565b6001601060146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131ef96959493929190614ad0565b60606040518083038185885af115801561320d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132329190614b46565b5050506000601060146101000a81548160ff0219169083151502179055505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61328e81613259565b811461329957600080fd5b50565b6000813590506132ab81613285565b92915050565b6000602082840312156132c7576132c6613254565b5b60006132d58482850161329c565b91505092915050565b60008115159050919050565b6132f3816132de565b82525050565b600060208201905061330e60008301846132ea565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061333f82613314565b9050919050565b61334f81613334565b82525050565b600060208201905061336a6000830184613346565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133aa57808201518184015260208101905061338f565b60008484015250505050565b6000601f19601f8301169050919050565b60006133d282613370565b6133dc818561337b565b93506133ec81856020860161338c565b6133f5816133b6565b840191505092915050565b6000602082019050818103600083015261341a81846133c7565b905092915050565b61342b81613334565b811461343657600080fd5b50565b60008135905061344881613422565b92915050565b6000819050919050565b6134618161344e565b811461346c57600080fd5b50565b60008135905061347e81613458565b92915050565b6000806040838503121561349b5761349a613254565b5b60006134a985828601613439565b92505060206134ba8582860161346f565b9150509250929050565b6134cd8161344e565b82525050565b60006020820190506134e860008301846134c4565b92915050565b6000819050919050565b600061351361350e61350984613314565b6134ee565b613314565b9050919050565b6000613525826134f8565b9050919050565b60006135378261351a565b9050919050565b6135478161352c565b82525050565b6000602082019050613562600083018461353e565b92915050565b60008060006060848603121561358157613580613254565b5b600061358f86828701613439565b93505060206135a086828701613439565b92505060406135b18682870161346f565b9150509250925092565b600080604083850312156135d2576135d1613254565b5b60006135e08582860161346f565b92505060206135f18582860161346f565b9150509250929050565b600060ff82169050919050565b613611816135fb565b82525050565b600060208201905061362c6000830184613608565b92915050565b60006020828403121561364857613647613254565b5b600061365684828501613439565b91505092915050565b613668816132de565b811461367357600080fd5b50565b6000813590506136858161365f565b92915050565b600080604083850312156136a2576136a1613254565b5b60006136b085828601613439565b92505060206136c185828601613676565b9150509250929050565b600080604083850312156136e2576136e1613254565b5b60006136f085828601613439565b925050602061370185828601613439565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061375257607f821691505b6020821081036137655761376461370b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137d48261344e565b91506137df8361344e565b9250826137ef576137ee61376b565b5b828204905092915050565b7f43616e6e6f74206c6971756964617465206d6f7265207468616e203125206f6660008201527f2074686520737570706c79206174206f6e636521000000000000000000000000602082015250565b600061385660348361337b565b9150613861826137fa565b604082019050919050565b6000602082019050818103600083015261388581613849565b9050919050565b7f4c503a204d757374206c6971756964617465206174206c65617374203120746f60008201527f6b656e2e00000000000000000000000000000000000000000000000000000000602082015250565b60006138e860248361337b565b91506138f38261388c565b604082019050919050565b60006020820190508181036000830152613917816138db565b9050919050565b7f4554482f47617320546f6b656e3a204d757374206c697175696461746520617460008201527f206c65617374203120746f6b656e2e0000000000000000000000000000000000602082015250565b600061397a602f8361337b565b91506139858261391e565b604082019050919050565b600060208201905081810360008301526139a98161396d565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613a07578086048111156139e3576139e261379a565b5b60018516156139f25780820291505b8081029050613a00856139b0565b94506139c7565b94509492505050565b600082613a205760019050613adc565b81613a2e5760009050613adc565b8160018114613a445760028114613a4e57613a7d565b6001915050613adc565b60ff841115613a6057613a5f61379a565b5b8360020a915084821115613a7757613a7661379a565b5b50613adc565b5060208310610133831016604e8410600b8410161715613ab25782820a905083811115613aad57613aac61379a565b5b613adc565b613abf84848460016139bd565b92509050818404811115613ad657613ad561379a565b5b81810290505b9392505050565b6000613aee8261344e565b9150613af98361344e565b9250613b267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a10565b905092915050565b6000613b398261344e565b9150613b448361344e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b7d57613b7c61379a565b5b828202905092915050565b6000604082019050613b9d60008301856134c4565b613baa60208301846134c4565b9392505050565b6000613bbc8261344e565b9150613bc78361344e565b9250828201905080821115613bdf57613bde61379a565b5b92915050565b7f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460008201527f67652063616e206d696e7420616e64206275726e000000000000000000000000602082015250565b6000613c4160348361337b565b9150613c4c82613be5565b604082019050919050565b60006020820190508181036000830152613c7081613c34565b9050919050565b600081905092915050565b6000613c8d82613370565b613c978185613c77565b9350613ca781856020860161338c565b80840191505092915050565b7f2e00000000000000000000000000000000000000000000000000000000000000600082015250565b6000613ce9600183613c77565b9150613cf482613cb3565b600182019050919050565b6000613d0b8286613c82565b9150613d1682613cdc565b9150613d228285613c82565b9150613d2d82613cdc565b9150613d398284613c82565b9150819050949350505050565b7f41646472657373206d757374206265206120636f6e7472616374000000000000600082015250565b6000613d7c601a8361337b565b9150613d8782613d46565b602082019050919050565b60006020820190508181036000830152613dab81613d6f565b9050919050565b7f4272696467652063616e206e657665722062652074617865642e000000000000600082015250565b6000613de8601a8361337b565b9150613df382613db2565b602082019050919050565b60006020820190508181036000830152613e1781613ddb565b9050919050565b6000604082019050613e336000830185613346565b613e4060208301846132ea565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613ea360258361337b565b9150613eae82613e47565b604082019050919050565b60006020820190508181036000830152613ed281613e96565b9050919050565b7f44414f2057616c6c65742063616e6e6f7420626520746865204465616420616460008201527f64726573732c206f722030210000000000000000000000000000000000000000602082015250565b6000613f35602c8361337b565b9150613f4082613ed9565b604082019050919050565b60006020820190508181036000830152613f6481613f28565b9050919050565b7f44414f2057616c6c65742063616e6e6f74206265207468652062726964676521600082015250565b6000613fa160208361337b565b9150613fac82613f6b565b602082019050919050565b60006020820190508181036000830152613fd081613f94565b9050919050565b7f526f757465722063616e6e6f742062652074686520446561642061646472657360008201527f732c206f72203021000000000000000000000000000000000000000000000000602082015250565b600061403360288361337b565b915061403e82613fd7565b604082019050919050565b6000602082019050818103600083015261406281614026565b9050919050565b60008151905061407881613422565b92915050565b60006020828403121561409457614093613254565b5b60006140a284828501614069565b91505092915050565b60006040820190506140c06000830185613346565b6140cd6020830184613346565b9392505050565b7f506169722063616e6e6f7420626520746865204465616420616464726573732c60008201527f206f722030210000000000000000000000000000000000000000000000000000602082015250565b600061413060268361337b565b915061413b826140d4565b604082019050919050565b6000602082019050818103600083015261415f81614123565b9050919050565b7f45524332303a20746f74616c20746178206d757374206e6f742062652067726560008201527f61746572207468616e2036250000000000000000000000000000000000000000602082015250565b60006141c2602c8361337b565b91506141cd82614166565b604082019050919050565b600060208201905081810360008301526141f1816141b5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061425460268361337b565b915061425f826141f8565b604082019050919050565b6000602082019050818103600083015261428381614247565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142e660248361337b565b91506142f18261428a565b604082019050919050565b60006020820190508181036000830152614315816142d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061437860228361337b565b91506143838261431c565b604082019050919050565b600060208201905081810360008301526143a78161436b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006143e4601d8361337b565b91506143ef826143ae565b602082019050919050565b60006020820190508181036000830152614413816143d7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061447660258361337b565b91506144818261441a565b604082019050919050565b600060208201905081810360008301526144a581614469565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061450860238361337b565b9150614513826144ac565b604082019050919050565b60006020820190508181036000830152614537816144fb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061459a60268361337b565b91506145a58261453e565b604082019050919050565b600060208201905081810360008301526145c98161458d565b9050919050565b60006145db8261344e565b91506145e68361344e565b92508282039050818111156145fe576145fd61379a565b5b92915050565b600081905092915050565b50565b600061461f600083614604565b915061462a8261460f565b600082019050919050565b600061464082614612565b9150819050919050565b600060408201905061465f6000830185613346565b61466c60208301846134c4565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006146a960208361337b565b91506146b482614673565b602082019050919050565b600060208201905081810360008301526146d88161469c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614715601f8361337b565b9150614720826146df565b602082019050919050565b6000602082019050818103600083015261474481614708565b9050919050565b60006147568261344e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147885761478761379a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006147cd8261344e565b91506147d88361344e565b9250826147e8576147e761376b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061487e60218361337b565b915061488982614822565b604082019050919050565b600060208201905081810360008301526148ad81614871565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061491060228361337b565b915061491b826148b4565b604082019050919050565b6000602082019050818103600083015261493f81614903565b9050919050565b600060608201905061495b60008301866134c4565b61496860208301856134c4565b61497560408301846134c4565b949350505050565b6000819050919050565b60006149a261499d6149988461497d565b6134ee565b61344e565b9050919050565b6149b281614987565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6149ed81613334565b82525050565b60006149ff83836149e4565b60208301905092915050565b6000602082019050919050565b6000614a23826149b8565b614a2d81856149c3565b9350614a38836149d4565b8060005b83811015614a69578151614a5088826149f3565b9750614a5b83614a0b565b925050600181019050614a3c565b5085935050505092915050565b600060a082019050614a8b60008301886134c4565b614a9860208301876149a9565b8181036040830152614aaa8186614a18565b9050614ab96060830185613346565b614ac660808301846134c4565b9695505050505050565b600060c082019050614ae56000830189613346565b614af260208301886134c4565b614aff60408301876149a9565b614b0c60608301866149a9565b614b196080830185613346565b614b2660a08301846134c4565b979650505050505050565b600081519050614b4081613458565b92915050565b600080600060608486031215614b5f57614b5e613254565b5b6000614b6d86828701614b31565b9350506020614b7e86828701614b31565b9250506040614b8f86828701614b31565b915050925092509256fea2646970667358221220dc7afe0b4d179cddf2d22ed0a324577a26c99077aaf151dd028fc451bd9a7d2d64736f6c634300081000330000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24000000000000000000000000038f5da04abf1211d42afad84905f29aeab93a600000000000000000000000004200000000000000000000000000000000000010000000000000000000000000a735a3af76cc30791c61c10d585833829d36cbe0
0x0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24000000000000000000000000038f5da04abf1211d42afad84905f29aeab93a600000000000000000000000004200000000000000000000000000000000000010000000000000000000000000a735a3af76cc30791c61c10d585833829d36cbe0
----Decoded View------------Arg [0] : _router (address): 0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24Arg [1] : _daoWallet (address): 0x038F5da04abF1211D42afAd84905f29AEaB93A60Arg [2] : _bridge (address): 0x4200000000000000000000000000000000000010Arg [3] : _remoteToken (address): 0xA735A3AF76CC30791C61c10d585833829d36CBe0
----Encoded View------------Arg [0] : 0x0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24Arg [1] : 0x000000000000000000000000038f5da04abf1211d42afad84905f29aeab93a60Arg [2] : 0x0000000000000000000000004200000000000000000000000000000000000010Arg [3] : 0x000000000000000000000000a735a3af76cc30791c61c10d585833829d36cbe0