0 txs
8 calls
constructor
No constructor.
functions
deployFeeManager
nonpayablefunction deployFeeManager(tuple initData_) returns (tuple feeManagerData)
events
FeeManagerDeployed
event FeeManagerDeployed(address feeManager, (address feeManager, address plasmaVault, address performanceFeeAccount, address managementFeeAccount, uint256 managementFee, uint256 performanceFee) feeManagerData)
errors
No errors.
creation bytecode
0x6080604052348015600e575f80fd5b5061528b8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063738beeaa1461002d575b5f80fd5b61004061003b366004610554565b610056565b60405161004d9190610632565b60405180910390f35b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091525f826040516100959061039d565b61009f919061072f565b604051809103905ff0801580156100b8573d5f803e3d5ffd5b5090506040518060c001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1663ead66a076040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014f9190610803565b73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16630bd35bb96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d79190610803565b73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1663c842780d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025f9190610803565b73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1663766b0ecf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e79190610825565b81526020018273ffffffffffffffffffffffffffffffffffffffff1663edabaf2d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610335573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103599190610825565b81525091507fd0be2e104b2cc6479c5083888cbe057487bfb6661c290265a8663d3d339ddc30818360405161038f92919061083c565b60405180910390a150919050565b614962806108f483390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156103fa576103fa6103aa565b60405290565b60405160e0810167ffffffffffffffff811182821017156103fa576103fa6103aa565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561046a5761046a6103aa565b604052919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610493575f80fd5b50565b80356104a181610472565b919050565b5f82601f8301126104b5575f80fd5b813567ffffffffffffffff8111156104cf576104cf6103aa565b6104de60208260051b01610423565b8082825260208201915060208360061b8601019250858311156104ff575f80fd5b602085015b8381101561054a576040818803121561051b575f80fd5b6105236103d7565b813561052e81610472565b8152602082810135818301529084529290920191604001610504565b5095945050505050565b5f60208284031215610564575f80fd5b813567ffffffffffffffff81111561057a575f80fd5b820160e0818503121561058b575f80fd5b610593610400565b61059c82610496565b81526105aa60208301610496565b602082015260408281013590820152606080830135908201526105cf60808301610496565b608082015260a082013567ffffffffffffffff8111156105ed575f80fd5b6105f9868285016104a6565b60a08301525060c082013567ffffffffffffffff811115610618575f80fd5b610624868285016104a6565b60c083015250949350505050565b60c081016106cd828473ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff602082015116602083015273ffffffffffffffffffffffffffffffffffffffff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151608083015260a081015160a08301525050565b92915050565b5f8151808452602084019350602083015f5b82811015610725578151805173ffffffffffffffffffffffffffffffffffffffff16875260209081015181880152604090960195909101906001016106e5565b5093949350505050565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff6020830151166040820152604082015160608201526060820151608082015273ffffffffffffffffffffffffffffffffffffffff60808301511660a08201525f60a083015160e060c08401526107bf6101008401826106d3565b905060c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526107fa82826106d3565b95945050505050565b5f60208284031215610813575f80fd5b815161081e81610472565b9392505050565b5f60208284031215610835575f80fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff8316815260e0810161081e602083018473ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff602082015116602083015273ffffffffffffffffffffffffffffffffffffffff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151608083015260a081015160a0830152505056fe610120604052348015610010575f80fd5b5060405161496238038061496283398101604081905261002f916109dd565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156100785750825b90505f826001600160401b031660011480156100935750303b155b9050811580156100a1575080155b156100bf5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156100ed57845460ff60401b1916680100000000000000001785555b85516001600160a01b031661011557604051636f6a1b8760e11b815260040160405180910390fd5b8551610120906105f7565b60208601516001600160a01b0316608052604051309061013f90610805565b6001600160a01b039091168152602001604051809103905ff080158015610168573d5f803e3d5ffd5b506001600160a01b031660a052604051309061018390610805565b6001600160a01b039091168152602001604051809103905ff0801580156101ac573d5f803e3d5ffd5b506001600160a01b031660c052604086015160e05260608601516101005260808601516101d89061060b565b60e0516101005160a08801515160c0890151518115610379575f826001600160401b0381111561020a5761020a610889565b604051908082528060200260200182016040528015610233578160200160208202803683370190505b5090505f5b8381101561036d578b60a00151818151811061025657610256610ab8565b60200260200101515f015182828151811061027357610273610ab8565b60200260200101906001600160a01b031690816001600160a01b0316815250505f6001600160a01b03168c60a0015182815181106102b3576102b3610ab8565b60200260200101515f01516001600160a01b0316036102e55760405163bd0f3dfd60e01b815260040160405180910390fd5b8b60a0015181815181106102fb576102fb610ab8565b602002602001015160200151866103129190610acc565b95506103658c60a00151828151811061032d5761032d610ab8565b60200260200101515f01518d60a00151838151811061034e5761034e610ab8565b60200260200101516020015161067360201b60201c565b600101610238565b50610377816106b7565b505b8015610507575f816001600160401b0381111561039857610398610889565b6040519080825280602002602001820160405280156103c1578160200160208202803683370190505b5090505f5b828110156104fb578b60c0015181815181106103e4576103e4610ab8565b60200260200101515f015182828151811061040157610401610ab8565b60200260200101906001600160a01b031690816001600160a01b0316815250505f6001600160a01b03168c60c00151828151811061044157610441610ab8565b60200260200101515f01516001600160a01b0316036104735760405163bd0f3dfd60e01b815260040160405180910390fd5b8b60c00151818151811061048957610489610ab8565b602002602001015160200151856104a09190610acc565b94506104f38c60c0015182815181106104bb576104bb610ab8565b60200260200101515f01518d60c0015183815181106104dc576104dc610ab8565b6020026020010151602001516106f460201b60201c565b6001016103c6565b506105058161071b565b505b61052f837f91a7fd667a02d876183d5e3c0caf915fa5c0b6847afae1b6a2261f7bce98450055565b610557847fcf56f35f42e69dcdff0b7b1f2e356cc5f92476bed919f8df0cdbf41f78aa1f0055565b60a05160c051604080516001600160a01b0393841681529290911660208301527f6e121e132e70dc3c68d1d6dea74c9c76809878663eedbb6d4c94e473c01d4ed2910160405180910390a15050505083156105ec57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050610af1565b6105ff610742565b61060881610792565b50565b7faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd0080546001600160a01b0319166001600160a01b0383169081179091556040517f4bba7efe5bb2069dca2b8a042e87efb4b766fc514f70b673ee79de57ba6a4e56905f90a250565b807ff1a2374333eb639fe6654c1bd32856f942f1f785e32d72be0c2e035f2e0f80005b6001600160a01b039093165f90815260209390935260409092209190915550565b807ff1a2374333eb639fe6654c1bd32856f942f1f785e32d72be0c2e035f2e0f80005b60010190805190602001906106f0929190610812565b5050565b807fc456e86573d79f7b5b60c9eb824345c471d5390facece9407699845c141b2d00610696565b807fc456e86573d79f7b5b60c9eb824345c471d5390facece9407699845c141b2d006106da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661079057604051631afcd79f60e31b815260040160405180910390fd5b565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6106c48061429e83390190565b828054828255905f5260205f20908101928215610865579160200282015b8281111561086557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610830565b50610871929150610875565b5090565b5b80821115610871575f8155600101610876565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156108bf576108bf610889565b60405290565b60405160e081016001600160401b03811182821017156108bf576108bf610889565b604051601f8201601f191681016001600160401b038111828210171561090f5761090f610889565b604052919050565b80516001600160a01b038116811461092d575f80fd5b919050565b5f82601f830112610941575f80fd5b81516001600160401b0381111561095a5761095a610889565b61096960208260051b016108e7565b8082825260208201915060208360061b86010192508583111561098a575f80fd5b602085015b838110156109d357604081880312156109a6575f80fd5b6109ae61089d565b6109b782610917565b815260208281015181830152908452929092019160400161098f565b5095945050505050565b5f602082840312156109ed575f80fd5b81516001600160401b03811115610a02575f80fd5b820160e08185031215610a13575f80fd5b610a1b6108c5565b610a2482610917565b8152610a3260208301610917565b60208201526040828101519082015260608083015190820152610a5760808301610917565b608082015260a08201516001600160401b03811115610a74575f80fd5b610a8086828501610932565b60a08301525060c08201516001600160401b03811115610a9e575f80fd5b610aaa86828501610932565b60c083015250949350505050565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610aeb57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e051610100516136ac610bf25f395f8181610431015281816106af0152610a2101525f81816103b501528181611439015261181401525f818161040a01528181610e000152818161145a01528181611749015281816117f101526118a101525f81816101f7015281816106d001528181610956015281816109fe01528181610aaf01528181610cff015261127601525f81816104700152818161098001528181610d2c01528181610dd8015281816110720152818161177301528181611b2f01528181611b6b015281816121f0015281816122fb0152818161253f0152818161260b0152818161279001526128cb01526136ac5ff3fe608060405234801561000f575f80fd5b50600436106101c6575f3560e01c806387ef0b87116100fe578063c0dbcd491161009e578063db99bddd1161006e578063db99bddd1461045b578063e49ef38e14610463578063ead66a071461046b578063edabaf2d14610492575f80fd5b8063c0dbcd49146103f2578063c842780d14610405578063cbc16b981461042c578063ccd322b014610453575f80fd5b8063993ba2e0116100d9578063993ba2e0146103a8578063ade9fb15146103b0578063bbe7cd24146103d7578063bf7e214f146103ea575f80fd5b806387ef0b871461031d5780638fb36037146103305780639617bcca14610369575f80fd5b80631deddf1011610169578063679f1df711610144578063679f1df7146102f2578063766b0ecf146102fa5780637a9e5e4b146103025780638129fc1c14610315575f80fd5b80631deddf1014610282578063247d284b146102cc578063490ae210146102df575f80fd5b80630de705b5116101a45780630de705b51461023e57806311a978291461025457806312f6c6d614610267578063143e908d1461026f575f80fd5b8063074c2630146101ca57806309f25fc0146101d45780630bd35bb9146101f2575b5f80fd5b6101d261049a565b005b6101dc6104b6565b6040516101e99190612fc6565b60405180910390f35b6102197f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e9565b6102466105c3565b6040519081526020016101e9565b6101d261026236600461302a565b6105d1565b610219610635565b6101d261027d36600461305d565b610674565b61028a6106fa565b6040805182516fffffffffffffffffffffffffffffffff16815260208084015163ffffffff9081169183019190915292820151909216908201526060016101e9565b6102466102da3660046130ce565b6107ba565b6101d26102ed3660046130ce565b6107ef565b6101d2610803565b610246610af1565b6101d261031036600461302a565b610afa565b6101d2610bff565b6101d261032b36600461302a565b610ec9565b610338610fe5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101e9565b61037c6103773660046130e5565b611058565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101e9565b6101dc6112a4565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b6101d26103e5366004613142565b6113a9565b6102196113bd565b6101d261040036600461305d565b6113fe565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b6101d261147f565b6101d2611504565b6101d26115f6565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6102466118da565b6104ac6104a56118e3565b5f366118ec565b6104b4611b2c565b565b60605f6104c1611cac565b80519091505f8167ffffffffffffffff8111156104e0576104e061315d565b60405190808252806020026020018201604052801561052457816020015b604080518082019091525f80825260208201528152602001906001900390816104fe5790505b5090505f5b828110156105bb57604051806040016040528085838151811061054e5761054e61318a565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020016105938684815181106105865761058661318a565b6020026020010151611d3c565b8152508282815181106105a8576105a861318a565b6020908102919091010152600101610529565b509392505050565b5f6105cc611d8a565b905090565b6105dc6104a56118e3565b73ffffffffffffffffffffffffffffffffffffffff8116610629576040517fbd0f3dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063281611db3565b50565b5f6105cc7faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd005473ffffffffffffffffffffffffffffffffffffffff1690565b61067f6104a56118e3565b610687610803565b6106f682827fc456e86573d79f7b5b60c9eb824345c471d5390facece9407699845c141b2d007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001611e40565b5050565b604080516060810182525f80825260208201819052918101919091526105cc604080516060810182525f80825260208201819052918101919091527fb9423b11a8779228bace4bf919d779502e12a07e11bd2f782c23aeac55439c006040805160608101825291546fffffffffffffffffffffffffffffffff8116835263ffffffff700100000000000000000000000000000000820481166020850152740100000000000000000000000000000000000000009091041690820152919050565b5f806107c4611d8a565b9050805f036107d557505f92915050565b6107e88382670de0b6b3a76400006123c4565b9392505050565b6107fa6104a56118e3565b610632816124bb565b600a6108377ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b67ffffffffffffffff1614610878576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108b77faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1603610904576040517fbd0f3dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61090d612514565b9050805f036109195750565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156109c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109eb91906131b7565b9050805f036109f8575050565b5f610a477f000000000000000000000000000000000000000000000000000000000000000083857f0000000000000000000000000000000000000000000000000000000000000000600161253b565b9050805f03610a5557505050565b5f610a5e611cac565b80519091505f5b8181108015610a7357505f84115b15610ae957610ad5838281518110610a8d57610a8d61318a565b60200260200101518587610aac8786815181106105865761058661318a565b8a7f0000000000000000000000000000000000000000000000000000000000000000600161278c565b935080610ae1816131fb565b915050610a65565b505050505050565b5f6105cc612951565b5f610b036118e3565b9050610b0d6113bd565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b8e576040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163b5f03610bf6576040517fc2f31e5e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610b85565b6106f682612978565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600a919068010000000000000000900460ff1680610c4e5750805467ffffffffffffffff808416911610155b15610c85576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001667ffffffffffffffff831617680100000000000000001781556040517fac4ad8c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063ac4ad8c590610d70907f00000000000000000000000000000000000000000000000000000000000000009060040173ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b5f604051808303815f87803b158015610d87575f80fd5b505af1158015610d99573d5f803e3d5ffd5b50506040517fac4ad8c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016925063ac4ad8c591506024015f604051808303815f87803b158015610e43575f80fd5b505af1158015610e55573d5f803e3d5ffd5b50505050610e61611b2c565b80547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050565b610ed46104a56118e3565b7f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b005473ffffffffffffffffffffffffffffffffffffffff1615610f43576040517f2f3873fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560405173ffffffffffffffffffffffffffffffffffffffff8216907f606f0da67080f7641fd59bdd017702d2842394e653866c86c69bcc879eea2a41905f90a250565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080545f919074010000000000000000000000000000000000000000900460ff16611030575f611052565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b5f803373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110c9576040517ffe25cbf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61116e604080516060810182525f80825260208201819052918101919091527fb9423b11a8779228bace4bf919d779502e12a07e11bd2f782c23aeac55439c006040805160608101825291546fffffffffffffffffffffffffffffffff8116835263ffffffff700100000000000000000000000000000000820481166020850152740100000000000000000000000000000000000000009091041690820152919050565b80519091506fffffffffffffffffffffffffffffffff165f036111a05761119487612a09565b5f80925092505061129b565b805f01516fffffffffffffffffffffffffffffffff16876fffffffffffffffffffffffffffffffff161161120e57604081015163ffffffff16158015906112005750806040015181602001516111f69190613232565b63ffffffff164210155b156111945761119487612a09565b5f815f01516fffffffffffffffffffffffffffffffff16886fffffffffffffffffffffffffffffffff166112429190613254565b90505f61125a888361125589600a613388565b6123c4565b905061126981886127106123c4565b935061127489612a09565b7f000000000000000000000000000000000000000000000000000000000000000094505050505b94509492505050565b60605f6112af612af4565b80519091505f8167ffffffffffffffff8111156112ce576112ce61315d565b60405190808252806020026020018201604052801561131257816020015b604080518082019091525f80825260208201528152602001906001900390816112ec5790505b5090505f5b828110156105bb57604051806040016040528085838151811061133c5761133c61318a565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020016113818684815181106113745761137461318a565b6020026020010151612b1c565b8152508282815181106113965761139661318a565b6020908102919091010152600101611317565b6113b46104a56118e3565b61063281612b43565b5f807ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005b5473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114096104a56118e3565b6114116115f6565b6106f682827ff1a2374333eb639fe6654c1bd32856f942f1f785e32d72be0c2e035f2e0f80007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f611e40565b600a6114b37ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b67ffffffffffffffff16146114f4576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114fc6115f6565b6104b4610803565b61150f6104a56118e3565b5f611518612bde565b905073ffffffffffffffffffffffffffffffffffffffff8116611567576040517f20ccb74a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b37f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b0080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6ca66738059b52d288c52b478cf0710166b7fb2801e9262a896cbacf620cba1d905f90a250565b600a61162a7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b67ffffffffffffffff161461166b576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6116aa7faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16036116f7576040517fbd0f3dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611700612951565b9050805f0361170c5750565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de91906131b7565b9050805f036117eb575050565b5f6118397f000000000000000000000000000000000000000000000000000000000000000083857f00000000000000000000000000000000000000000000000000000000000000005f61253b565b9050805f0361184757505050565b5f611850612af4565b80519091505f5b818110801561186557505f84115b15610ae9576118c683828151811061187f5761187f61318a565b6020026020010151858761189e8786815181106113745761137461318a565b8a7f00000000000000000000000000000000000000000000000000000000000000005f61278c565b9350806118d2816131fb565b915050611857565b5f6105cc612514565b5f6105cc612c11565b5f6118fa6004828486613393565b611903916133ba565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f87ef0b8700000000000000000000000000000000000000000000000000000000148061199657507fffffffff0000000000000000000000000000000000000000000000000000000081167fdb99bddd00000000000000000000000000000000000000000000000000000000145b1561199f573393505b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005f806119ea6119cd6113bd565b88306119dc60045f8b8d613393565b6119e5916133ba565b612c1a565b9150915081611b235763ffffffff811615611ad95782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355611a446113bd565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8888886040518463ffffffff1660e01b8152600401611a8093929190613420565b5f604051808303815f87803b158015611a97575f80fd5b505af1158015611aa9573d5f803e3d5ffd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16855550611b239050565b6040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152602401610b85565b50505050505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166307a2d13a7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf69190613489565b611c049060ff16600a613388565b6040518263ffffffff1660e01b8152600401611c2291815260200190565b602060405180830381865afa158015611c3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6191906131b7565b90508015611c7a57610632611c7582612d93565b612a09565b6040517f58fe1e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60607fc456e86573d79f7b5b60c9eb824345c471d5390facece9407699845c141b2d005b600101805480602002602001604051908101604052809291908181526020018280548015611d3257602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611d07575b5050505050905090565b5f7fc456e86573d79f7b5b60c9eb824345c471d5390facece9407699845c141b2d005b73ffffffffffffffffffffffffffffffffffffffff9092165f90815260209290925250604090205490565b5f7fd9b4590128261b514dbe7816b74c6ee2ff34efef3b40529466c801d63e4718005b54919050565b7faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f4bba7efe5bb2069dca2b8a042e87efb4b766fc514f70b673ee79de57ba6a4e56905f90a250565b5f8390505f85600101805480602002602001604051908101604052809291908181526020018280548015611ea857602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611e7d575b505083519394505f925050505b81811015611f0d57875f015f848381518110611ed357611ed361318a565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f90812055600101611eb5565b50611f1b600188015f612f17565b5f8867ffffffffffffffff811115611f3557611f3561315d565b604051908082528060200260200182016040528015611f5e578160200160208202803683370190505b5090505f8967ffffffffffffffff811115611f7b57611f7b61315d565b604051908082528060200260200182016040528015611fa4578160200160208202803683370190505b509050895f5b81811015612175575f8d8d83818110611fc557611fc561318a565b611fdb926020604090920201908101915061302a565b73ffffffffffffffffffffffffffffffffffffffff1603612028576040517fbd0f3dfd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8c8c8281811061203a5761203a61318a565b612050926020604090920201908101915061302a565b8482815181106120625761206261318a565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508c8c828181106120ae576120ae61318a565b905060400201602001358382815181106120ca576120ca61318a565b6020026020010181815250508c8c828181106120e8576120e861318a565b905060400201602001358b5f015f8f8f858181106121085761210861318a565b61211e926020604090920201908101915061302a565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f20558c8c828181106121565761215661318a565b905060400201602001358761216b91906134a9565b9650600101611faa565b50825161218b9060018c01906020860190612f32565b505f87600181111561219f5761219f6134bc565b036122af576040517fafb8353100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018890527f0000000000000000000000000000000000000000000000000000000000000000169063afb83531906044015f604051808303815f87803b158015612231575f80fd5b505af1158015612243573d5f803e3d5ffd5b5050505061226f867fcf56f35f42e69dcdff0b7b1f2e356cc5f92476bed919f8df0cdbf41f78aa1f0055565b7f46a6b8fd5cd56501b3b8d5a5c49801cea4d59daf42d346ec95d689e661a95d518684846040516122a2939291906134e9565b60405180910390a16123b6565b6040517f09f75ba000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018890527f000000000000000000000000000000000000000000000000000000000000000016906309f75ba0906044015f604051808303815f87803b15801561233c575f80fd5b505af115801561234e573d5f803e3d5ffd5b5050505061237a867f91a7fd667a02d876183d5e3c0caf915fa5c0b6847afae1b6a2261f7bce98450055565b7fcdf46cf41258025ca131bdec889140cde38fb49c1e82dd1e654851481d3e8c998684846040516123ad939291906134e9565b60405180910390a15b505050505050505050505050565b5f838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870982811083820303915050805f036124175783828161240d5761240d613587565b04925050506107e8565b808411612450576040517f227bc15300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b807fd9b4590128261b514dbe7816b74c6ee2ff34efef3b40529466c801d63e471800556040518181527f206dd15151fcc83315419fbe53a71fcf9c09da803767d3dd05f7874e1b9bf6459060200160405180910390a150565b5f7f91a7fd667a02d876183d5e3c0caf915fa5c0b6847afae1b6a2261f7bce984500611dad565b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125ca9190613489565b60ff1690505f6125db82600a613388565b90505f866125e983886135b4565b6125f391906135cb565b90505f6126018983856123c4565b90508015612767577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd8b6126847faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd005473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604481018490526064016020604051808303815f875af11580156126fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061271e9190613612565b506127676127607faf522f71ce1f2b5702c38f667fa2366c184e3c6dd86ab049ad3b02fec741fd005473ffffffffffffffffffffffffffffffffffffffff1690565b8288612dec565b808911612774575f61277e565b61277e818a613254565b9a9950505050505050505050565b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281b9190613489565b60ff1690505f61282c82600a613388565b90505f8661283a838a6135b4565b61284491906135cb565b90505f6128528a83856123c4565b9050801561294157808b10156128655750895b61286f818c613254565b9a508015612941576040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301528d81166024830152604482018390527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015612911573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129359190613612565b506129418c8288612dec565b50989a9950505050505050505050565b5f7fcf56f35f42e69dcdff0b7b1f2e356cc5f92476bed919f8df0cdbf41f78aa1f00611dad565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610ebd565b7fb9423b11a8779228bace4bf919d779502e12a07e11bd2f782c23aeac55439c0080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff8316178155612a6d42612ea6565b815463ffffffff91909116700100000000000000000000000000000000027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff9091161781556040516fffffffffffffffffffffffffffffffff831681527fca98306dd784b8ef0d7ed3faff704873e0e31d34d0c87e33379f4c6176e75f9590602001610ebd565b60607ff1a2374333eb639fe6654c1bd32856f942f1f785e32d72be0c2e035f2e0f8000611cd0565b5f7ff1a2374333eb639fe6654c1bd32856f942f1f785e32d72be0c2e035f2e0f8000611d5f565b7fb9423b11a8779228bace4bf919d779502e12a07e11bd2f782c23aeac55439c0080547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff84169081029190911782556040519081527f41ebd8af2d3daf6d8bcb4a30797f70d18abe3fbdc652a708f3388cf64c0d321390602001610ebd565b5f80612be8612eef565b905073ffffffffffffffffffffffffffffffffffffffff8116612c0c573391505090565b919050565b5f6105cc612bde565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301527fffffffff00000000000000000000000000000000000000000000000000000000831660648301525f91829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb70096130000000000000000000000000000000000000000000000000000000017905251612cf9919061362b565b5f60405180830381855afa9150503d805f8114612d31576040519150601f19603f3d011682016040523d82523d5f602084013e612d36565b606091505b50915091508115612d88576040815110612d685780806020019051810190612d5e9190613641565b9094509250612d88565b6020815110612d885780806020019051810190612d859190613612565b93505b505094509492505050565b5f6fffffffffffffffffffffffffffffffff821115612de8576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526080600482015260248101839052604401610b85565b5090565b6001816001811115612e0057612e006134bc565b03612e5a576040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018490527f4da920870f7a5edc67ccc9f6cc4019b324d54267ceef8652ac9ae5e9b924ef8591015b60405180910390a1505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018490527fb5a36fd729e09ec7fe13989322bec49d7ae4fcc0ef29ec015d9fd503a3d95dd59101612e4d565b5f63ffffffff821115612de8576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610b85565b5f807f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b006113e1565b5080545f8255905f5260205f20908101906106329190612fb2565b828054828255905f5260205f20908101928215612faa579160200282015b82811115612faa57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612f50565b50612de89291505b5b80821115612de8575f8155600101612fb3565b602080825282518282018190525f918401906040840190835b8181101561301f578351805173ffffffffffffffffffffffffffffffffffffffff1684526020908101518185015290930192604090920191600101612fdf565b509095945050505050565b5f6020828403121561303a575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146107e8575f80fd5b5f806020838503121561306e575f80fd5b823567ffffffffffffffff811115613084575f80fd5b8301601f81018513613094575f80fd5b803567ffffffffffffffff8111156130aa575f80fd5b8560208260061b84010111156130be575f80fd5b6020919091019590945092505050565b5f602082840312156130de575f80fd5b5035919050565b5f805f80608085870312156130f8575f80fd5b84356fffffffffffffffffffffffffffffffff81168114613117575f80fd5b966020860135965060408601359560600135945092505050565b63ffffffff81168114610632575f80fd5b5f60208284031215613152575f80fd5b81356107e881613131565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156131c7575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361322b5761322b6131ce565b5060010190565b63ffffffff818116838216019081111561324e5761324e6131ce565b92915050565b8181038181111561324e5761324e6131ce565b6001815b60018411156132a257808504811115613286576132866131ce565b600184161561329457908102905b60019390931c92800261326b565b935093915050565b5f826132b85750600161324e565b816132c457505f61324e565b81600181146132da57600281146132e457613300565b600191505061324e565b60ff8411156132f5576132f56131ce565b50506001821b61324e565b5060208310610133831016604e8410600b8410161715613323575081810a61324e565b61334e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613267565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613380576133806131ce565b029392505050565b5f6107e883836132aa565b5f80858511156133a1575f80fd5b838611156133ad575f80fd5b5050820193919092039150565b80357fffffffff000000000000000000000000000000000000000000000000000000008116906004841015613419577fffffffff00000000000000000000000000000000000000000000000000000000808560040360031b1b82161691505b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b5f60208284031215613499575f80fd5b815160ff811681146107e8575f80fd5b8082018082111561324e5761324e6131ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561354057835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161350c565b50508381036040850152845180825260209182019250908501905f5b8181101561357a57825184526020938401939092019160010161355c565b5091979650505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b808202811582820484141761324e5761324e6131ce565b5f826135fe577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80518015158114612c0c575f80fd5b5f60208284031215613622575f80fd5b6107e882613603565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613652575f80fd5b61365b83613603565b9150602083015161366b81613131565b80915050925092905056fea2646970667358221220f643734a095c182bad45dc2898a752d0831e0c17880e41206d78da175392cc5164736f6c634300081a003360a0604052348015600e575f80fd5b506040516106c43803806106c4833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f80fd5b81516001600160a01b0381168114605f575f80fd5b9392505050565b60805161063a61008a5f395f818160520152818160b50152610128015261063a5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063ac4ad8c514610038578063ea26266c1461004d575b5f80fd5b61004b61004636600461059c565b61009d565b005b6100747f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461010c576040517fcb56c31f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61016d73ffffffffffffffffffffffffffffffffffffffff82167f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610170565b50565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526101fc848261029f565b610299576040805173ffffffffffffffffffffffffffffffffffffffff851660248201525f6044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261028f90859061035a565b610299848261035a565b50505050565b5f805f8473ffffffffffffffffffffffffffffffffffffffff16846040516102c791906105cf565b5f604051808303815f865af19150503d805f8114610300576040519150601f19603f3d011682016040523d82523d5f602084013e610305565b606091505b509150915081801561032f57508051158061032f57508080602001905181019061032f91906105e5565b801561035157505f8573ffffffffffffffffffffffffffffffffffffffff163b115b95945050505050565b5f61037b73ffffffffffffffffffffffffffffffffffffffff8416836103f8565b905080515f1415801561039f57508080602001905181019061039d91906105e5565b155b156103f3576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024015b60405180910390fd5b505050565b606061040583835f61040c565b9392505050565b60608147101561044a576040517fcd7860590000000000000000000000000000000000000000000000000000000081523060048201526024016103ea565b5f808573ffffffffffffffffffffffffffffffffffffffff16848660405161047291906105cf565b5f6040518083038185875af1925050503d805f81146104ac576040519150601f19603f3d011682016040523d82523d5f602084013e6104b1565b606091505b50915091506104c18683836104cb565b9695505050505050565b6060826104e0576104db8261055a565b610405565b8151158015610504575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610553576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016103ea565b5080610405565b80511561056a5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f602082840312156105ac575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610405575f80fd5b5f82518060208501845e5f920191825250919050565b5f602082840312156105f5575f80fd5b81518015158114610405575f80fdfea264697066735822122092570d4900463a03df0783ac7f9652a7f5b6187c05393363c9c4f630a2b14ad864736f6c634300081a0033a2646970667358221220620edda829b85673efe788c234694235e41b5250f36e469f29176e1f1f4ea5dd64736f6c634300081a0033