@daostack/arc-experimental
Version:
A platform for building DAOs
522 lines (521 loc) • 39.4 kB
JSON
{
"contractName": "GlobalConstraintRegistrar",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "x",
"type": "bool"
}
],
"name": "D",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_intVoteInterface",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_gc",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "_voteToRemoveParams",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "NewGlobalConstraintsProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "ProposalDeleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "int256",
"name": "_param",
"type": "int256"
}
],
"name": "ProposalExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_intVoteInterface",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_gc",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "RemoveGlobalConstraintsProposal",
"type": "event"
},
{
"inputs": [],
"name": "avatar",
"outputs": [
{
"internalType": "contract Avatar",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "balanceOfStakingToken",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "burnReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
},
{
"internalType": "int256",
"name": "_decision",
"type": "int256"
}
],
"name": "executeProposal",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "getTotalReputationSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Avatar",
"name": "_avatar",
"type": "address"
},
{
"internalType": "contract IntVoteInterface",
"name": "_votingMachine",
"type": "address"
},
{
"internalType": "uint256[11]",
"name": "_votingParams",
"type": "uint256[11]"
},
{
"internalType": "address",
"name": "_voteOnBehalf",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_voteParamsHash",
"type": "bytes32"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "mintReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "organizationProposals",
"outputs": [
{
"internalType": "address",
"name": "gc",
"type": "address"
},
{
"internalType": "bool",
"name": "addGC",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "voteToRemoveParams",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "proposalsBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_gc",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_voteToRemoveParams",
"type": "bytes32"
},
{
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "proposeGlobalConstraint",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_gc",
"type": "address"
},
{
"internalType": "string",
"name": "_descriptionHash",
"type": "string"
}
],
"name": "proposeToRemoveGC",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "reputationOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "stakingTokenTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "voteParamsHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "voteToRemoveParams",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "votingMachine",
"outputs": [
{
"internalType": "contract IntVoteInterface",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50611b71806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f28146103f3578063d29b5d2f1461042f578063d8145e2d14610461578063f81f8bf6146104a657610100565b80639588378e1461034d5780639d4c162d14610379578063b5175d5f146103b0578063b551c373146103d657610100565b80636b8eb403116100d35780636b8eb403146101935780637a5cb92c146101bf5780637e96749a146101dc5780637ff79c0e1461029257610100565b80633edf7ca1146101055780634ea2c7ec14610129578063540fbeb3146101435780635aef7de61461018b575b600080fd5b61010d6104d8565b604080516001600160a01b039092168252519081900360200190f35b6101316104e7565b60408051918252519081900360200190f35b61018960048036036101e081101561015a57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c001356104ed565b005b61010d61052b565b610131600480360360408110156101a957600080fd5b506001600160a01b03813516906020013561053a565b610131600480360360208110156101d557600080fd5b5035610614565b610131600480360360408110156101f257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021d57600080fd5b82018360208201111561022f57600080fd5b8035906020019184600183028401116401000000008311171561025157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610626945050505050565b610131600480360360608110156102a857600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102d857600080fd5b8201836020820111156102ea57600080fd5b8035906020019184600183028401116401000000008311171561030c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610951945050505050565b6101316004803603604081101561036357600080fd5b506001600160a01b038135169060200135610c65565b61039c6004803603604081101561038f57600080fd5b5080359060200135610d96565b604080519115158252519081900360200190f35b610131600480360360208110156103c657600080fd5b50356001600160a01b03166110a8565b610131600480360360208110156103ec57600080fd5b50356110ba565b61039c6004803603608081101561040957600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611351565b61039c6004803603606081101561044557600080fd5b508035906001600160a01b0360208201351690604001356114b5565b61047e6004803603602081101561047757600080fd5b5035611610565b604080516001600160a01b039094168452911515602084015282820152519081900360600190f35b61039c600480360360608110156104bc57600080fd5b508035906001600160a01b03602082013516906040013561163f565b6034546001600160a01b031681565b60355481565b61052485858386600b806020026040519081016040528092919082600b602002808284376000920191909152508891506117659050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610593576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d602081101561060a57600080fd5b5051949350505050565b60366020526000908152604090205481565b600080603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067757600080fd5b505afa15801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b5051604080516320a21e7560e11b81526001600160a01b0387811660048301529151929350908316916341443cea91602480820192602092909190829003018186803b1580156106f057600080fd5b505afa158015610704573d6000803e3d6000fd5b505050506040513d602081101561071a57600080fd5b505161076d576040805162461bcd60e51b815260206004820152601b60248201527f70726f706f736564206763206973206e6f742072656769737465720000000000604482015290519081900360640190fd5b6034546001600160a01b038581166000908152603860209081526040808320546033548251634439bdaf60e11b8152600260048201526024810192909252336044830152851660648201529051929493909316926388737b5e926084808301939282900301818787803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b50519050610819611aed565b5060408051606080820183526001600160a01b0380891680845260006020808601828152868801838152898452603783528884208851815493511515600160a01b0260ff60a01b199189166001600160a01b03199095169490941716929092178255516001919091015560345460335488519485528483018981528d51998601999099528c519798918616978a9791909616957f4adc38b95e17c3b3410caa223e957ebc5cfdae71c60f1801e8fd328ca8285813958f958f9591949385019291860191908190849084905b838110156108fc5781810151838201526020016108e4565b50505050905090810190601f1680156109295780820380516001836020036101000a031916815260200191505b50935050505060405180910390a4506000818152603660205260409020439055949350505050565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d60208110156109c057600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b5051610a82576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b505050506040513d6020811015610b1757600080fd5b50519050610b23611aed565b5060408051606080820183526001600160a01b03808916808452600160208086018281528688018c815260008a8152603784528981208951815494511515600160a01b0260ff60a01b19918a166001600160a01b031990961695909517169390931783559051919093015560345460335488519485528483018d90529784018681528b51968501969096528a51969790851696899691909516947f681f2a3cfc52e50a02c73f56f38ef562435a7c20f161b136cedfe6df2641c2d6948e948e948e9492936080850192918601918190849084905b83811015610c0f578181015183820152602001610bf7565b50505050905090810190601f168015610c3c5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4506000818152603660205260409020439055949350505050565b60345460009082906001600160a01b03163314610cbe576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156105e057600080fd5b60345460009083906001600160a01b03163314610def576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b6001610df9611aed565b50600085815260376020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910460ff1615159382019390935260019091015492810192909252610e4d57600080fd5b60008681526037602052604080822080546001600160a81b0319168155600101829055603354905188926001600160a01b03909216917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3846001141561105c5760335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ef457600080fd5b505afa158015610f08573d6000803e3d6000fd5b505050506040513d6020811015610f1e57600080fd5b5051602083015190915015610fcf57806001600160a01b0316635f30e58183600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b505050506040513d6020811015610faa57600080fd5b505160408084015184516001600160a01b031660009081526038602052919091205592505b816020015161105a57806001600160a01b031663488b381483600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561102b57600080fd5b505af115801561103f573d6000803e3d6000fd5b505050506040513d602081101561105557600080fd5b505192505b505b60335460408051878152905188926001600160a01b0316917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0919081900360200190a350949350505050565b60386020526000908152604090205481565b60345460009082906001600160a01b03163314611113576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561116157600080fd5b505afa158015611175573d6000803e3d6000fd5b505050506040513d602081101561118b57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b1580156111d557600080fd5b505afa1580156111e9573d6000803e3d6000fd5b505050506040513d60208110156111ff57600080fd5b505161124d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561131e57600080fd5b505afa158015611332573d6000803e3d6000fd5b505050506040513d602081101561134857600080fd5b50519392505050565b60345460009082906001600160a01b031633146113aa576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113f857600080fd5b505afa15801561140c573d6000803e3d6000fd5b505050506040513d602081101561142257600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461150e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561155c57600080fd5b505afa158015611570573d6000803e3d6000fd5b505050506040513d602081101561158657600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b505195945050505050565b603760205260009081526040902080546001909101546001600160a01b03821691600160a01b900460ff169083565b60345460009082906001600160a01b03163314611698576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e657600080fd5b505afa1580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b1580156115db57600080fd5b6001600160a01b0384166117c0576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6117c9856119ce565b603480546001600160a01b0319166001600160a01b038616179055826119c5576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561183357818101518382015260200161181b565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561186557600080fd5b505afa158015611879573d6000803e3d6000fd5b505050506040513d602081101561188f57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156118e157600080fd5b505afa1580156118f5573d6000803e3d6000fd5b505050506040513d6101a081101561190c57600080fd5b50519050806119be57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561195d578181015183820152602001611945565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561199157600080fd5b505af11580156119a5573d6000803e3d6000fd5b505050506040513d60208110156119bb57600080fd5b50505b5050610524565b50506035555050565b600054610100900460ff16806119e757506119e7611ae7565b806119f5575060005460ff16155b611a305760405162461bcd60e51b815260040180806020018281038252602e815260200180611b0e602e913960400191505060405180910390fd5b600054610100900460ff16158015611a5b576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611ab6576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611ae3576000805461ff00191690555b5050565b303b1590565b60408051606081018252600080825260208201819052918101919091529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220c7fcfe08d4369a1fdb6e451f1a2d761c65940caf797b705ed4af5778013ae76d64736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f28146103f3578063d29b5d2f1461042f578063d8145e2d14610461578063f81f8bf6146104a657610100565b80639588378e1461034d5780639d4c162d14610379578063b5175d5f146103b0578063b551c373146103d657610100565b80636b8eb403116100d35780636b8eb403146101935780637a5cb92c146101bf5780637e96749a146101dc5780637ff79c0e1461029257610100565b80633edf7ca1146101055780634ea2c7ec14610129578063540fbeb3146101435780635aef7de61461018b575b600080fd5b61010d6104d8565b604080516001600160a01b039092168252519081900360200190f35b6101316104e7565b60408051918252519081900360200190f35b61018960048036036101e081101561015a57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c001356104ed565b005b61010d61052b565b610131600480360360408110156101a957600080fd5b506001600160a01b03813516906020013561053a565b610131600480360360208110156101d557600080fd5b5035610614565b610131600480360360408110156101f257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021d57600080fd5b82018360208201111561022f57600080fd5b8035906020019184600183028401116401000000008311171561025157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610626945050505050565b610131600480360360608110156102a857600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102d857600080fd5b8201836020820111156102ea57600080fd5b8035906020019184600183028401116401000000008311171561030c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610951945050505050565b6101316004803603604081101561036357600080fd5b506001600160a01b038135169060200135610c65565b61039c6004803603604081101561038f57600080fd5b5080359060200135610d96565b604080519115158252519081900360200190f35b610131600480360360208110156103c657600080fd5b50356001600160a01b03166110a8565b610131600480360360208110156103ec57600080fd5b50356110ba565b61039c6004803603608081101561040957600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611351565b61039c6004803603606081101561044557600080fd5b508035906001600160a01b0360208201351690604001356114b5565b61047e6004803603602081101561047757600080fd5b5035611610565b604080516001600160a01b039094168452911515602084015282820152519081900360600190f35b61039c600480360360608110156104bc57600080fd5b508035906001600160a01b03602082013516906040013561163f565b6034546001600160a01b031681565b60355481565b61052485858386600b806020026040519081016040528092919082600b602002808284376000920191909152508891506117659050565b5050505050565b6033546001600160a01b031681565b60345460009082906001600160a01b03163314610593576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d602081101561060a57600080fd5b5051949350505050565b60366020526000908152604090205481565b600080603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067757600080fd5b505afa15801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b5051604080516320a21e7560e11b81526001600160a01b0387811660048301529151929350908316916341443cea91602480820192602092909190829003018186803b1580156106f057600080fd5b505afa158015610704573d6000803e3d6000fd5b505050506040513d602081101561071a57600080fd5b505161076d576040805162461bcd60e51b815260206004820152601b60248201527f70726f706f736564206763206973206e6f742072656769737465720000000000604482015290519081900360640190fd5b6034546001600160a01b038581166000908152603860209081526040808320546033548251634439bdaf60e11b8152600260048201526024810192909252336044830152851660648201529051929493909316926388737b5e926084808301939282900301818787803b1580156107e357600080fd5b505af11580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b50519050610819611aed565b5060408051606080820183526001600160a01b0380891680845260006020808601828152868801838152898452603783528884208851815493511515600160a01b0260ff60a01b199189166001600160a01b03199095169490941716929092178255516001919091015560345460335488519485528483018981528d51998601999099528c519798918616978a9791909616957f4adc38b95e17c3b3410caa223e957ebc5cfdae71c60f1801e8fd328ca8285813958f958f9591949385019291860191908190849084905b838110156108fc5781810151838201526020016108e4565b50505050905090810190601f1680156109295780820380516001836020036101000a031916815260200191505b50935050505060405180910390a4506000818152603660205260409020439055949350505050565b60335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d60208110156109c057600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b5051610a82576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b505050506040513d6020811015610b1757600080fd5b50519050610b23611aed565b5060408051606080820183526001600160a01b03808916808452600160208086018281528688018c815260008a8152603784528981208951815494511515600160a01b0260ff60a01b19918a166001600160a01b031990961695909517169390931783559051919093015560345460335488519485528483018d90529784018681528b51968501969096528a51969790851696899691909516947f681f2a3cfc52e50a02c73f56f38ef562435a7c20f161b136cedfe6df2641c2d6948e948e948e9492936080850192918601918190849084905b83811015610c0f578181015183820152602001610bf7565b50505050905090810190601f168015610c3c5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4506000818152603660205260409020439055949350505050565b60345460009082906001600160a01b03163314610cbe576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156105e057600080fd5b60345460009083906001600160a01b03163314610def576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b6001610df9611aed565b50600085815260376020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910460ff1615159382019390935260019091015492810192909252610e4d57600080fd5b60008681526037602052604080822080546001600160a81b0319168155600101829055603354905188926001600160a01b03909216917f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe91a3846001141561105c5760335460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ef457600080fd5b505afa158015610f08573d6000803e3d6000fd5b505050506040513d6020811015610f1e57600080fd5b5051602083015190915015610fcf57806001600160a01b0316635f30e58183600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b505050506040513d6020811015610faa57600080fd5b505160408084015184516001600160a01b031660009081526038602052919091205592505b816020015161105a57806001600160a01b031663488b381483600001516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561102b57600080fd5b505af115801561103f573d6000803e3d6000fd5b505050506040513d602081101561105557600080fd5b505192505b505b60335460408051878152905188926001600160a01b0316917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc0919081900360200190a350949350505050565b60386020526000908152604090205481565b60345460009082906001600160a01b03163314611113576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561116157600080fd5b505afa158015611175573d6000803e3d6000fd5b505050506040513d602081101561118b57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b1580156111d557600080fd5b505afa1580156111e9573d6000803e3d6000fd5b505050506040513d60208110156111ff57600080fd5b505161124d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561131e57600080fd5b505afa158015611332573d6000803e3d6000fd5b505050506040513d602081101561134857600080fd5b50519392505050565b60345460009082906001600160a01b031633146113aa576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113f857600080fd5b505afa15801561140c573d6000803e3d6000fd5b505050506040513d602081101561142257600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461150e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561155c57600080fd5b505afa158015611570573d6000803e3d6000fd5b505050506040513d602081101561158657600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b505195945050505050565b603760205260009081526040902080546001909101546001600160a01b03821691600160a01b900460ff169083565b60345460009082906001600160a01b03163314611698576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e657600080fd5b505afa1580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b1580156115db57600080fd5b6001600160a01b0384166117c0576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b6117c9856119ce565b603480546001600160a01b0319166001600160a01b038616179055826119c5576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561183357818101518382015260200161181b565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b15801561186557600080fd5b505afa158015611879573d6000803e3d6000fd5b505050506040513d602081101561188f57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b1580156118e157600080fd5b505afa1580156118f5573d6000803e3d6000fd5b505050506040513d6101a081101561190c57600080fd5b50519050806119be57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b8381101561195d578181015183820152602001611945565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b15801561199157600080fd5b505af11580156119a5573d6000803e3d6000fd5b505050506040513d60208110156119bb57600080fd5b50505b5050610524565b50506035555050565b600054610100900460ff16806119e757506119e7611ae7565b806119f5575060005460ff16155b611a305760405162461bcd60e51b815260040180806020018281038252602e815260200180611b0e602e913960400191505060405180910390fd5b600054610100900460ff16158015611a5b576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611ab6576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611ae3576000805461ff00191690555b5050565b303b1590565b60408051606081018252600080825260208201819052918101919091529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220c7fcfe08d4369a1fdb6e451f1a2d761c65940caf797b705ed4af5778013ae76d64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}