0 txs
0 calls
constructor
No constructor.
functions
checkpointManagerAddress
viewfunction checkpointManagerAddress() view returns (address)
childChainManagerAddress
viewfunction childChainManagerAddress() view returns (address)
childToRootToken
viewfunction childToRootToken(address) view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DEPOSIT
viewfunction DEPOSIT() view returns (bytes32)
ERC712_VERSION
viewfunction ERC712_VERSION() view returns (string)
ETHER_ADDRESS
viewfunction ETHER_ADDRESS() view returns (address)
getChainId
purefunction getChainId() pure returns (uint256)
getDomainSeperator
viewfunction getDomainSeperator() view returns (bytes32)
getNonce
viewfunction getNonce(address user) view returns (uint256 nonce)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MAP_TOKEN
viewfunction MAP_TOKEN() view returns (bytes32)
MAPPER_ROLE
viewfunction MAPPER_ROLE() view returns (bytes32)
processedExits
viewfunction processedExits(bytes32) view returns (bool)
rootToChildToken
viewfunction rootToChildToken(address) view returns (address)
stateSenderAddress
viewfunction stateSenderAddress() view returns (address)
tokenToType
viewfunction tokenToType(address) view returns (bytes32)
typeToPredicate
viewfunction typeToPredicate(bytes32) view returns (address)
depositEtherFor
payablefunction depositEtherFor(address user) payable
depositFor
nonpayablefunction depositFor(address user, address rootToken, bytes depositData)
executeMetaTransaction
payablefunction executeMetaTransaction(address userAddress, bytes functionSignature, bytes32 sigR, bytes32 sigS, uint8 sigV) payable returns (bytes)
exit
nonpayablefunction exit(bytes inputData)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner)
initializeEIP712
nonpayablefunction initializeEIP712()
mapToken
nonpayablefunction mapToken(address rootToken, address childToken, bytes32 tokenType)
registerPredicate
nonpayablefunction registerPredicate(bytes32 tokenType, address predicateAddress)
remapToken
nonpayablefunction remapToken(address rootToken, address childToken, bytes32 tokenType)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCheckpointManager
nonpayablefunction setCheckpointManager(address newCheckpointManager)
setChildChainManagerAddress
nonpayablefunction setChildChainManagerAddress(address newChildChainManager)
setStateSender
nonpayablefunction setStateSender(address newStateSender)
setupContractId
nonpayablefunction setupContractId()
events
MetaTransactionExecuted
event MetaTransactionExecuted(address userAddress, address relayerAddress, bytes functionSignature)
PredicateRegistered
event PredicateRegistered(bytes32 indexed tokenType, address indexed predicateAddress)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TokenMapped
event TokenMapped(address indexed rootToken, address indexed childToken, bytes32 indexed tokenType)
errors
No errors.
creation bytecode
0x60806040526000805460ff1916905534801561001a57600080fd5b5061420d8061002a6000396000f3fe60806040526004361061021e5760003560e01c8063886a69ba11610123578063cf1d21c0116100ab578063e2c49de11161006f578063e2c49de1146108d7578063e3dec8fb146108ec578063e43009a614610982578063e66f9603146109b5578063ea60c7c4146109df57610235565b8063cf1d21c0146107fe578063d233a3c714610813578063d547741f14610856578063d81c8e521461088f578063dc993a23146108a457610235565b8063a217fddf116100f2578063a217fddf14610744578063b4b4f63e14610759578063bc08452b1461076e578063c4d66de8146107a1578063ca15c873146107d457610235565b8063886a69ba146106835780639010d07c146106985780639173b139146106c857806391d148541461070b57610235565b80633408e470116101a6578063568b80b511610175578063568b80b5146105b5578063607f2d42146105ca578063630fcbfb146106085780636cb136b01461061d5780636e86b7701461065057610235565b80633408e470146104c457806336568abe146104d95780633805550f146105125780634faa8a261461058f57610235565b806320379ee5116101ed57806320379ee5146103f2578063248a9ca3146104195780632d0335ab146104435780632f2ff15d146104765780633138b6f1146104af57610235565b8063049677021461023a5780630c53c51c1461026b5780630c598220146103a45780630f7e5970146103dd57610235565b366102355761023361022e610a12565b610a22565b005b600080fd5b34801561024657600080fd5b5061024f610b23565b604080516001600160a01b039092168252519081900360200190f35b61032f600480360360a081101561028157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102ac57600080fd5b8201836020820111156102be57600080fd5b803590602001918460018302840111640100000000831117156102e057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610b32565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610369578181015183820152602001610351565b50505050905090810190601f1680156103965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b057600080fd5b50610233600480360360408110156103c757600080fd5b50803590602001356001600160a01b0316610e35565b3480156103e957600080fd5b5061032f610f61565b3480156103fe57600080fd5b50610407610f7e565b60408051918252519081900360200190f35b34801561042557600080fd5b506104076004803603602081101561043c57600080fd5b5035610f84565b34801561044f57600080fd5b506104076004803603602081101561046657600080fd5b50356001600160a01b0316610f9c565b34801561048257600080fd5b506102336004803603604081101561049957600080fd5b50803590602001356001600160a01b0316610fb7565b3480156104bb57600080fd5b5061024f61101e565b3480156104d057600080fd5b5061040761102d565b3480156104e557600080fd5b50610233600480360360408110156104fc57600080fd5b50803590602001356001600160a01b0316611031565b34801561051e57600080fd5b506102336004803603602081101561053557600080fd5b81019060208101813564010000000081111561055057600080fd5b82018360208201111561056257600080fd5b8035906020019184600183028401116401000000008311171561058457600080fd5b509092509050611092565b610233600480360360208110156105a557600080fd5b50356001600160a01b03166115ae565b3480156105c157600080fd5b506104076115ba565b3480156105d657600080fd5b506105f4600480360360208110156105ed57600080fd5b50356115dd565b604080519115158252519081900360200190f35b34801561061457600080fd5b506102336115f2565b34801561062957600080fd5b506102336004803603602081101561064057600080fd5b50356001600160a01b0316611698565b34801561065c57600080fd5b5061024f6004803603602081101561067357600080fd5b50356001600160a01b0316611730565b34801561068f57600080fd5b5061040761174b565b3480156106a457600080fd5b5061024f600480360360408110156106bb57600080fd5b508035906020013561176c565b3480156106d457600080fd5b50610233600480360360608110156106eb57600080fd5b506001600160a01b03813581169160208101359091169060400135611793565b34801561071757600080fd5b506105f46004803603604081101561072e57600080fd5b50803590602001356001600160a01b03166118c8565b34801561075057600080fd5b506104076118e6565b34801561076557600080fd5b506102336118eb565b34801561077a57600080fd5b506102336004803603602081101561079157600080fd5b50356001600160a01b0316611991565b3480156107ad57600080fd5b50610233600480360360208110156107c457600080fd5b50356001600160a01b0316611a29565b3480156107e057600080fd5b50610407600480360360208110156107f757600080fd5b5035611b19565b34801561080a57600080fd5b5061024f611b30565b34801561081f57600080fd5b506102336004803603606081101561083657600080fd5b506001600160a01b03813581169160208101359091169060400135611b48565b34801561086257600080fd5b506102336004803603604081101561087957600080fd5b50803590602001356001600160a01b0316611caa565b34801561089b57600080fd5b50610407611d03565b3480156108b057600080fd5b50610233600480360360208110156108c757600080fd5b50356001600160a01b0316611d22565b3480156108e357600080fd5b5061024f611dff565b3480156108f857600080fd5b506102336004803603606081101561090f57600080fd5b6001600160a01b03823581169260208101359091169181019060608101604082013564010000000081111561094357600080fd5b82018360208201111561095557600080fd5b8035906020019184600183028401116401000000008311171561097757600080fd5b509092509050611e0e565b34801561098e57600080fd5b50610407600480360360208110156109a557600080fd5b50356001600160a01b0316611eab565b3480156109c157600080fd5b5061024f600480360360208110156109d857600080fd5b5035611ebd565b3480156109eb57600080fd5b5061024f60048036036020811015610a0257600080fd5b50356001600160a01b0316611ed8565b6000610a1c611ef3565b90505b90565b604080513460208083019190915282518083039091018152908201909152610a5f8273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee83611f50565b7fa1829a9003092132f585b6ccdd167c19fe9774dbdea4260287e8a8e8ca8185d7546000908152600260205260408082205490516001600160a01b039091169034908381818185875af1925050503d8060008114610ad9576040519150601f19603f3d011682016040523d82523d6000602084013e610ade565b606091505b5050905080610b1e5760405162461bcd60e51b81526004018080602001828103825260278152602001806140786027913960400191505060405180910390fd5b505050565b6009546001600160a01b031681565b6060610b3c613d05565b50604080516060810182526001600160a01b0388166000818152600c602090815290849020548352820152908101869052610b7a87828787876123e3565b610bb55760405162461bcd60e51b815260040180806020018281038252602181526020018061409f6021913960400191505060405180910390fd5b6001600160a01b0387166000908152600c6020526040902054610bdf90600163ffffffff6124c016565b6001600160a01b0388166000818152600c602090815260408083209490945583519283523383820181905260609484018581528b51958501959095528a517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b958d9592948d94919260808501928601918190849084905b83811015610c6e578181015183820152602001610c56565b50505050905090810190601f168015610c9b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160006060306001600160a01b0316888a6040516020018083805190602001908083835b60208310610cec5780518252601f199092019160209182019101610ccd565b6001836020036101000a038019825116818451168082178552505050505050905001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040526040518082805190602001908083835b60208310610d6b5780518252601f199092019160209182019101610d4c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610dcd576040519150601f19603f3d011682016040523d82523d6000602084013e610dd2565b606091505b509150915081610e29576040805162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000604482015290519081900360640190fd5b98975050505050505050565b604080516a4d41505045525f524f4c4560a81b8152905190819003600b019020610e6681610e61610a12565b6118c8565b600a90610f065760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b820191906000526020600020905b815481529060010190602001808311610eda57829003601f168201915b50509250505060405180910390fd5b5060008381526002602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051909185917f8643692ae1c12ec91fa18e50b82ed93fa314f580999a236824db6de9ae0d839b9190a3505050565b604051806040016040528060018152602001603160f81b81525081565b600b5490565b6000818152600160205260409020600201545b919050565b6001600160a01b03166000908152600c602052604090205490565b600082815260016020526040902060020154610fd590610e61610a12565b6110105760405162461bcd60e51b815260040180806020018281038252602f815260200180613e53602f913960400191505060405180910390fd5b61101a828261251a565b5050565b6008546001600160a01b031690565b4690565b611039610a12565b6001600160a01b0316816001600160a01b0316146110885760405162461bcd60e51b815260040180806020018281038252602f815260200180614161602f913960400191505060405180910390fd5b61101a8282612589565b60606110db6110d684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506125f892505050565b612673565b905060006110fc826002815181106110ef57fe5b60200260200101516127f5565b61112161111c8460088151811061110f57fe5b602002602001015161293d565b612a07565b611131846009815181106110ef57fe5b6040516020018084815260200183805190602001908083835b602083106111695780518252601f19909201916020918201910161114a565b51815160209384036101000a6000190180199092169116179052920193845250604080518085038152938201815283519382019390932060008181526006909252929020549194505060ff161591506111f590505760405162461bcd60e51b81526004018080602001828103825260288152602001806140e46028913960400191505060405180910390fd5b6000818152600660208190526040909120805460ff191660011790558251606091611232916110d69161122d91879190811061110f57fe5b6125f8565b905061123c613d2f565b6112598260038151811061124c57fe5b6020026020010151612673565b611269856009815181106110ef57fe5b8151811061127357fe5b6020026020010151905060006112a461128b83612673565b60008151811061129757fe5b6020026020010151612b7a565b6001600160a01b0380821660009081526004602052604090205491925016806112fe5760405162461bcd60e51b8152600401808060200182810382526022815260200180613f8a6022913960400191505060405180910390fd5b6001600160a01b0380821660009081526005602090815260408083205483526002909152902054875191169061133b90889060089081106110ef57fe5b63ffffffff19161561137e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613f656025913960400191505060405180910390fd5b6113c66113918860068151811061110f57fe5b6113a18960088151811061110f57fe5b6113b18a60078151811061110f57fe5b6113c18b6005815181106110ef57fe5b612c0a565b611417576040805162461bcd60e51b815260206004820152601f60248201527f526f6f74436861696e4d616e616765723a20494e56414c49445f50524f4f4600604482015290519081900360640190fd5b61148561142a886002815181106110ef57fe5b61143a896003815181106110ef57fe5b61144a8a6004815181106110ef57fe5b60001b61145d8b6005815181106110ef57fe5b60001b6114708c6000815181106110ef57fe5b6114808d60018151811061110f57fe5b612e51565b50806001600160a01b0316638274664f61149d610a12565b6001600160a01b03808716600090815260046020526040902054166114c188612f9a565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561153d578181015183820152602001611525565b50505050905090810190601f16801561156a5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561158b57600080fd5b505af115801561159f573d6000803e3d6000fd5b50505050505050505050505050565b6115b781610a22565b50565b604080516a4d41505045525f524f4c4560a81b8152905190819003600b01902081565b60066020526000908152604090205460ff1681565b600061160081610e61610a12565b600a906116665760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b506115b76040518060400160405280601081526020016f2937b7ba21b430b4b726b0b730b3b2b960811b815250613008565b60006116a681610e61610a12565b600a9061170c5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b5050600780546001600160a01b0319166001600160a01b0392909216919091179055565b6004602052600090815260409020546001600160a01b031681565b604080516826a0a82faa27a5a2a760b91b8152905190819003600901902081565b600082815260016020526040812061178a908363ffffffff6130c416565b90505b92915050565b604080516a4d41505045525f524f4c4560a81b8152905190819003600b0190206117bf81610e61610a12565b600a906118255760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b506001600160a01b038481166000908152600360205260409020541615801561186657506001600160a01b0383811660009081526004602052604090205416155b6118b7576040805162461bcd60e51b815260206004820181905260248201527f526f6f74436861696e4d616e616765723a20414c52454144595f4d4150504544604482015290519081900360640190fd5b6118c28484846130d0565b50505050565b600082815260016020526040812061178a908363ffffffff61335f16565b600081565b60006118f981610e61610a12565b600a9061195f5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b506115b76040518060400160405280601081526020016f2937b7ba21b430b4b726b0b730b3b2b960811b815250613374565b600061199f81610e61610a12565b600a90611a055760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b5050600880546001600160a01b0319166001600160a01b0392909216919091179055565b60005460ff1615611a72576040805162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b604482015290519081900360640190fd5b611aa36040518060400160405280601081526020016f2937b7ba21b430b4b726b0b730b3b2b960811b815250613412565b611ad46040518060400160405280601081526020016f2937b7ba21b430b4b726b0b730b3b2b960811b815250613374565b611adf600082611010565b604080516a4d41505045525f524f4c4560a81b8152905190819003600b019020611b099082611010565b506000805460ff19166001179055565b600081815260016020526040812061178d90613464565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b604080516a4d41505045525f524f4c4560a81b8152905190819003600b019020611b7481610e61610a12565b600a90611bda5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b506001600160a01b0380851660009081526003602081815260408084205488861685526004835281852054861680865293909252909220549183169290911615611c50576001600160a01b038116600090815260036020908152604080832080546001600160a01b031916905560059091528120555b6001600160a01b038281166000908152600460205260409020541615611c97576001600160a01b038216600090815260046020526040902080546001600160a01b03191690555b611ca28686866130d0565b505050505050565b600082815260016020526040902060020154611cc890610e61610a12565b6110885760405162461bcd60e51b8152600401808060200182810382526030815260200180613fd46030913960400191505060405180910390fd5b604080516611115413d4d25560ca1b8152905190819003600701902081565b6000611d3081610e61610a12565b600a90611d965760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b506001600160a01b038216611ddc5760405162461bcd60e51b815260040180806020018281038252602d815260200180613e82602d913960400191505060405180910390fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031690565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611e6a5760405162461bcd60e51b81526004018080602001828103825260248152602001806140c06024913960400191505060405180910390fd5b6118c2848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5092505050565b60056020526000908152604090205481565b6002602052600090815260409020546001600160a01b031681565b6003602052600090815260409020546001600160a01b031681565b600033301415611f4b5760606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150610a1f9050565b503390565b6001600160a01b038281166000908152600360205260409020541615801590611f9057506001600160a01b03821660009081526005602052604090205415155b611fcb5760405162461bcd60e51b8152600401808060200182810382526022815260200180613f8a6022913960400191505060405180910390fd5b6001600160a01b0380831660009081526005602090815260408083205483526002909152902054168061202f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613ef26024913960400191505060405180910390fd5b6001600160a01b03841661208a576040805162461bcd60e51b815260206004820152601e60248201527f526f6f74436861696e4d616e616765723a20494e56414c49445f555345520000604482015290519081900360640190fd5b806001600160a01b031663e375b64e6120a1610a12565b8686866040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612138578181015183820152602001612120565b50505050905090810190601f1680156121655780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b50505050606084848460405160200180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122145781810151838201526020016121fc565b50505050905090810190601f1680156122415780820380516001836020036101000a031916815260200191505b5060408051808303601f19018152828252600780546009546611115413d4d25560ca1b865284519586900390920185206020808701828152878701968752855160608901528551959d506001600160a01b039384169c506316f198319b5092909316985096508a955093608001919085019080838360005b838110156122d15781810151838201526020016122b9565b50505050905090810190601f1680156122fe5780820380516001836020036101000a031916815260200191505b5093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561237757818101518382015260200161235f565b50505050905090810190601f1680156123a45780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156123c457600080fd5b505af11580156123d8573d6000803e3d6000fd5b505050505050505050565b60006001600160a01b03861661242a5760405162461bcd60e51b81526004018080602001828103825260258152602001806140046025913960400191505060405180910390fd5b600161243d6124388761346f565b6134fb565b83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612497573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b60008282018381101561178a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000828152600160205260409020612538908263ffffffff61354716565b1561101a57612545610a12565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526001602052604090206125a7908263ffffffff61355c16565b1561101a576125b4610a12565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b612600613d2f565b6000825111612656576040805162461bcd60e51b815260206004820152601f60248201527f524c505265616465723a20494e56414c49445f42595445535f4c454e47544800604482015290519081900360640190fd5b506040805180820190915281518152602082810190820152919050565b606061267e82613571565b6126cf576040805162461bcd60e51b815260206004820152601860248201527f524c505265616465723a204954454d5f4e4f545f4c4953540000000000000000604482015290519081900360640190fd5b60006126da8361359d565b905060608167ffffffffffffffff811180156126f557600080fd5b5060405190808252806020026020018201604052801561272f57816020015b61271c613d2f565b8152602001906001900390816127145790505b50905060006127418560200151613629565b855190915081146127835760405162461bcd60e51b815260040180806020018281038252602781526020018061410c6027913960400191505060405180910390fd5b600061279286602001516136bd565b60208701510190506000805b858110156127e9576127af83613629565b91506040518060400160405280838152602001848152508582815181106127d257fe5b60209081029190910101529181019160010161279e565b50929695505050505050565b600061280082613571565b15612852576040805162461bcd60e51b815260206004820181905260248201527f524c505265616465723a204445434f44494e475f4c4953545f41535f55494e54604482015290519081900360640190fd5b8151602110156128a9576040805162461bcd60e51b815260206004820152601e60248201527f524c505265616465723a20494e56414c49445f55494e545f4c454e4754480000604482015290519081900360640190fd5b60006128b88360200151613629565b835190915081146128fa5760405162461bcd60e51b81526004018080602001828103825260278152602001806141906027913960400191505060405180910390fd5b600061290984602001516136bd565b8451602080870151830180519394509184900392919083101561293357826020036101000a820491505b5095945050505050565b6060600061294e8360200151613629565b835190915081146129905760405162461bcd60e51b8152600401808060200182810382526028815260200180613fac6028913960400191505060405180910390fd5b600061299f84602001516136bd565b845190915081900360608167ffffffffffffffff811180156129c057600080fd5b506040519080825280601f01601f1916602001820160405280156129eb576020820181803683370190505b5090506000816020019050612933848860200151018285613720565b6040805160208101909152600081528151606091901561178d57600080612a2f60008661376b565b60f81c90506001811480612a4657508060ff166003145b15612ad557600185516002020367ffffffffffffffff81118015612a6957600080fd5b506040519080825280601f01601f191660200182016040528015612a94576020820181803683370190505b5092506000612aa460018761376b565b90508084600081518110612ab457fe5b60200101906001600160f81b031916908160001a9053506001925050612b26565b600285516002020367ffffffffffffffff81118015612af357600080fd5b506040519080825280601f01601f191660200182016040528015612b1e576020820181803683370190505b509250600091505b60ff82165b8351811015612b7157612b468360ff1682036002018761376b565b848281518110612b5257fe5b60200101906001600160f81b031916908160001a905350600101612b2b565b50505092915050565b6000612b8582613571565b15612bc15760405162461bcd60e51b81526004018080602001828103825260238152602001806140556023913960400191505060405180910390fd5b8151601514612c015760405162461bcd60e51b81526004018080602001828103825260218152602001806141b76021913960400191505060405180910390fd5b61178d826127f5565b6000612c14613d2f565b612c1d846125f8565b90506060612c2a82612673565b905060608085600082612c3c8b612a07565b9050805160001415612c58576000975050505050505050612e49565b60005b8651811015612e40578151831115612c7e57600098505050505050505050612e49565b612c9a878281518110612c8d57fe5b6020026020010151612f9a565b955085805190602001208414612cbb57600098505050505050505050612e49565b612cca87828151811061124c57fe5b9450845160111415612d87578151831415612d26578c80519060200120612cf78660108151811061110f57fe5b805190602001201415612d1557600198505050505050505050612e49565b600098505050505050505050612e49565b6000828481518110612d3457fe5b016020015160f81c90506010811115612d595760009950505050505050505050612e49565b612d78868260ff1681518110612d6b57fe5b60200260200101516137c8565b94505060019290920191612e38565b845160021415612d15576000612dad612da68760008151811061110f57fe5b8486613867565b905082518185011415612e03578d80519060200120612dd28760018151811061110f57fe5b805190602001201415612df15760019950505050505050505050612e49565b60009950505050505050505050612e49565b80612e1a5760009950505050505050505050612e49565b8084019350612e2f86600181518110612d6b57fe5b9450612e389050565b600101612c5b565b50505050505050505b949350505050565b600854604080516320a9cea560e11b81526004810185905290516000928392839283926001600160a01b0316916341539d4a9160248083019260a0929190829003018186803b158015612ea357600080fd5b505afa158015612eb7573d6000803e3d6000fd5b505050506040513d60a0811015612ecd57600080fd5b50805160208201516060909201519094509092509050612f3c612ef68b8463ffffffff61394616565b6040805160208082018f90528183018e9052606082018d905260808083018d90528351808403909101815260a0909201909252805191012090858863ffffffff61398816565b612f8d576040805162461bcd60e51b815260206004820181905260248201527f526f6f74436861696e4d616e616765723a20494e56414c49445f484541444552604482015290519081900360640190fd5b9998505050505050505050565b606080826000015167ffffffffffffffff81118015612fb857600080fd5b506040519080825280601f01601f191660200182016040528015612fe3576020820181803683370190505b50905060008160200190506130018460200151828660000151613720565b5092915050565b6040518060800160405280604f8152602001613f16604f913980516020918201208251838301206040805180820190915260018152603160f81b930192909252907fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc63061307361102d565b604080516020808201979097528082019590955260608501939093526001600160a01b03909116608084015260a0808401919091528151808403909101815260c090920190528051910120600b5550565b600061178a8383613ade565b6000818152600260205260409020546001600160a01b03166131235760405162461bcd60e51b815260040180806020018281038252602a815260200180613de2602a913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832080549588166001600160a01b031996871681179091558084526004835281842080549096168517909555838352600590915280822085905551849392917f9e651a8866fbea043e911d816ec254b0e3c992c06fff32d605e72362d6023bd991a4604080516001600160a01b0380861660208084019190915281861683850152606083810186905284518085038201815260808086018088526007546009546826a0a82faa27a5a2a760b91b9092528851978890036089018820888701818152898b019a8b528551968a019690965284519499918816986316f1983198939093169690958a9590949293909201919085019080838360005b8381101561324e578181015183820152602001613236565b50505050905090810190601f16801561327b5780820380516001836020036101000a031916815260200191505b5093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156132f45781810151838201526020016132dc565b50505050905090810190601f1680156133215780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561334157600080fd5b505af1158015613355573d6000803e3d6000fd5b5050505050505050565b600061178a836001600160a01b038416613b42565b806040516020018082805190602001908083835b602083106133a75780518252601f199092019160209182019101613388565b51815160209384036101000a60001901801990921691161790527f3a20494e53554646494349454e545f5045524d495353494f4e530000000000009190930190815260408051808303600519018152601a9092019052805161101a9550600a94509201919050613d49565b60005460ff161561345b576040805162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b604482015290519081900360640190fd5b611b0981613008565b600061178d82613b5a565b6000604051806080016040528060438152602001613eaf60439139805190602001208260000151836020015184604001518051906020012060405160200180858152602001848152602001836001600160a01b03166001600160a01b03168152602001828152602001945050505050604051602081830303815290604052805190602001209050919050565b6000613505610f7e565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b600061178a836001600160a01b038416613b5e565b600061178a836001600160a01b038416613ba8565b6020810151805160009190821a9060c082101561359357600092505050610f97565b5060019392505050565b6000806000905060006135b384602001516136bd565b602085015185519181019250015b80821015613620576135d282613629565b82019150808211156136155760405162461bcd60e51b815260040180806020018281038252602c815260200180614029602c913960400191505060405180910390fd5b6001909201916135c1565b50909392505050565b80516000908190811a60808110156136445760019150613001565b60b881101561365957607e1981019150613001565b60c08110156136865760b78103600185019450806020036101000a85510460018201810193505050613001565b60f881101561369b5760be1981019150613001565b60019390930151602084900360f7016101000a900490920160f5190192915050565b8051600090811a60808110156136d7576000915050610f97565b60b88110806136f2575060c081108015906136f2575060f881105b15613701576001915050610f97565b60c08110156137155760b519019050610f97565b60f519019050610f97565b8061372a57610b1e565b5b6020811061374a578251825260209283019290910190601f190161372b565b915181516020939093036101000a6000190180199091169216919091179052565b6000600283061561379c57601082600285048151811061378757fe5b016020015160f81c8161379657fe5b066137be565b60108260028504815181106137ad57fe5b016020015160f81c816137bc57fe5b045b60f81b9392505050565b6000806137d88360200151613629565b8351909150811461381a5760405162461bcd60e51b815260040180806020018281038252602e815260200180614133602e913960400191505060405180910390fd5b825160211461385a5760405162461bcd60e51b8152600401808060200182810382526025815260200180613e2e6025913960400191505060405180910390fd5b5050602001516001015190565b600080606061387586612a07565b90506060815167ffffffffffffffff8111801561389157600080fd5b506040519080825280601f01601f1916602001820160405280156138bc576020820181803683370190505b509050845b825186018110156139165760008782815181106138da57fe5b602001015160f81c60f81b90508083888403815181106138f657fe5b60200101906001600160f81b031916908160001a905350506001016138c1565b50808051906020012082805190602001201415613936578151925061393b565b600092505b509095945050505050565b600061178a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613c6e565b6000602082518161399557fe5b06156139df576040805162461bcd60e51b8152602060048201526014602482015273092dcecc2d8d2c840e0e4dedecc40d8cadccee8d60631b604482015290519081900360640190fd5b600060208351816139ec57fe5b0490508060020a8510613a3e576040805162461bcd60e51b81526020600482015260156024820152744c65616620696e64657820697320746f6f2062696760581b604482015290519081900360640190fd5b60008660205b85518111613ad05785810151925060028806613a905781836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209150613ac2565b828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012091505b600288049750602001613a44565b509094149695505050505050565b81546000908210613b205760405162461bcd60e51b8152600401808060200182810382526022815260200180613e0c6022913960400191505060405180910390fd5b826000018281548110613b2f57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b6000613b6a8383613b42565b613ba05750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561178d565b50600061178d565b60008181526001830160205260408120548015613c645783546000198083019190810190600090879083908110613bdb57fe5b9060005260206000200154905080876000018481548110613bf857fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080613c2857fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061178d565b600091505061178d565b60008184841115613cfd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613cc2578181015183820152602001613caa565b50505050905090810190601f168015613cef5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60405180606001604052806000815260200160006001600160a01b03168152602001606081525090565b604051806040016040528060008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613d8a57805160ff1916838001178555613db7565b82800160010185558215613db7579182015b82811115613db7578251825591602001919060010190613d9c565b50613dc3929150613dc7565b5090565b610a1f91905b80821115613dc35760008155600101613dcd56fe526f6f74436861696e4d616e616765723a20544f4b454e5f545950455f4e4f545f535550504f52544544456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473524c505265616465723a20494e56414c49445f55494e545f5354524943545f4c454e475448416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74526f6f74436861696e4d616e616765723a20494e56414c49445f4348494c445f434841494e5f414444524553534d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529526f6f74436861696e4d616e616765723a20494e56414c49445f544f4b454e5f54595045454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c7429526f6f74436861696e4d616e616765723a20494e56414c49445f4252414e43485f4d41534b526f6f74436861696e4d616e616765723a20544f4b454e5f4e4f545f4d4150504544524c505265616465723a2042595445535f4445434f4445445f4c454e4754485f4d49534d41544348416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b654e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e4552524c505265616465723a204e554d5f4954454d535f4445434f4445445f4c454e4754485f4d49534d41544348524c505265616465723a204445434f44494e475f4c4953545f41535f41444452455353526f6f74436861696e4d616e616765723a2045544845525f5452414e534645525f4641494c45445369676e657220616e64207369676e617475726520646f206e6f74206d61746368526f6f74436861696e4d616e616765723a20494e56414c49445f524f4f545f544f4b454e526f6f74436861696e4d616e616765723a20455849545f414c52454144595f50524f434553534544524c505265616465723a204c4953545f4445434f4445445f4c454e4754485f4d49534d41544348524c505265616465723a2055494e545f5354524943545f4445434f4445445f4c454e4754485f4d49534d41544348416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66524c505265616465723a2055494e545f4445434f4445445f4c454e4754485f4d49534d41544348524c505265616465723a20494e56414c49445f414444524553535f4c454e475448a2646970667358221220b12e58e5e087e74907a716043eeb8fe470ed38103f38f09feaa731fd53da443664736f6c63430006060033